[dylan-lang/opendylan] 2998bb: [dfmc] Make <&objc-msgsend> subclass <&c-function>...

GitHub <[email protected]>
Newsgroups gmane.comp.lang.dylan.gwydion.cvs
Message-ID <5532ed8ce28dc_19a53ff72146b2b818774@hookshot-fe5-cp1-prd.iad.github.net.mail>
  Branch: refs/heads/master
  Home:   https://github.com/dylan-lang/opendylan
  Commit: 2998bbdfc6726efeca3ff73ab7ee12a6ae8d1ee9
      https://github.com/dylan-lang/opendylan/commit/2998bbdfc6726efeca3ff73ab7ee12a6ae8d1ee9
  Author: Bruce Mitchener <[email protected]>
  Date:   2015-04-18 (Sat, 18 Apr 2015)

  Changed paths:
    M sources/dfmc/back-end/emit-object.dylan
    M sources/dfmc/c-back-end/c-emit-c-computation.dylan
    M sources/dfmc/c-linker/c-link-c-object.dylan
    M sources/dfmc/conversion/convert-c-ffi.dylan
    M sources/dfmc/debug-back-end/print-object.dylan
    M sources/dfmc/modeling/c-function-models.dylan

  Log Message:
  -----------
  [dfmc] Make <&objc-msgsend> subclass <&c-function>.

<&objc-msgsend> now inherits from <&c-function> and uses the
same slots rather than being a separate class of its own with
duplicated slot definitions.

We also can now construct the correct function name to use
during conversion rather than at each site where the function
name is emitted in the various back-ends.

This helps with upcoming LLVM back-end support for <&objc-msgsend>.

* sources/dfmc/modeling/c-function-models.dylan
  (class <&objc-msgsend>): Change base class, remove slots that
   are now inherited.
  (initialize on <&objc-msgsend>): Remove. This is the same as the
   method defined on <&c-function>.

* sources/dfmc/conversion/convert-c-ffi.dylan
  (convert-%objc-msgsend): Construct the correct binding name and
   pass it to the <&objc-msgsend> constructor.

* sources/dfmc/back-end/emit-object.dylan
  (emit-name-internal on <&objc-msgsend>): Return the binding name
   rather than the string "objc_msgSend". This likely fixes a bug
   that would have happened if an alternate objc_msgSend function
   had been requested via c-modifiers:.

* sources/dfmc/debug-back-end/print-object
  (primitive-name on <&objc-msgsend>): As above for emit-name-internal.

* sources/dfmc/c-back-end/c-emit-c-computation.dylan
  (emit-primitive-call on <&objc-msgsend>): Use binding-name rather
   than constructing the function name here.

* sources/dfmc-c-linker/c-link-c-object.dylan
  (emit-forward on <&objc-msgsend>): Use binding-name rather than
   constructing the function name here.


  Commit: e58759e44d8e26d70c0b513c52316e86f63ad009
      https://github.com/dylan-lang/opendylan/commit/e58759e44d8e26d70c0b513c52316e86f63ad009
  Author: Peter S. Housel <[email protected]>
  Date:   2015-04-18 (Sat, 18 Apr 2015)

  Changed paths:
    M sources/dfmc/back-end/emit-object.dylan
    M sources/dfmc/c-back-end/c-emit-c-computation.dylan
    M sources/dfmc/c-linker/c-link-c-object.dylan
    M sources/dfmc/conversion/convert-c-ffi.dylan
    M sources/dfmc/debug-back-end/print-object.dylan
    M sources/dfmc/modeling/c-function-models.dylan

  Log Message:
  -----------
  Merge pull request #885 from waywardmonkeys/improve-objc-msgsend

[dfmc] Make <&objc-msgsend> subclass <&c-function>.


Compare: https://github.com/dylan-lang/opendylan/compare/c8809f64a53d...e58759e44d8e

_______________________________________________
chatter mailing list
[email protected]
https://lists.opendylan.org/mailman/listinfo/chatter
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.