[dylan-lang/opendylan] ec6810: [dylan] Rename simple-arithmetic macro.

GitHub <[email protected]>
Newsgroups gmane.comp.lang.dylan.gwydion.cvs
Message-ID <559002c491b59_3dc83fb41146d2a0272b@hookshot-fe4-cp1-prd.iad.github.net.mail>
  Branch: refs/heads/master
  Home:   https://github.com/dylan-lang/opendylan
  Commit: ec6810f96bc09cc4b495b08cc445ee3c60ec48ca
      https://github.com/dylan-lang/opendylan/commit/ec6810f96bc09cc4b495b08cc445ee3c60ec48ca
  Author: Bruce Mitchener <[email protected]>
  Date:   2015-06-27 (Sat, 27 Jun 2015)

  Changed paths:
    M sources/dylan/machine-word-lowlevel.dylan

  Log Message:
  -----------
  [dylan] Rename simple-arithmetic macro.

This macro actually generates with-overflow variants, so make
the name indicate that.

* sources/dylan/machine-word-lowlevel.dylan
  (simple-arithmetic-definer): Rename to simple-arithmetic-with-overflow-definer.
  (machine-word-add-with-overflow,
   machine-word-subtract-with-overflow): Use the new name for the macro.


  Commit: 557d307d961fc335f4e26c6d4a07919dbf09f59a
      https://github.com/dylan-lang/opendylan/commit/557d307d961fc335f4e26c6d4a07919dbf09f59a
  Author: Bruce Mitchener <[email protected]>
  Date:   2015-06-27 (Sat, 27 Jun 2015)

  Changed paths:
    M sources/dylan/conversion-tagged-integer.dylan
    M sources/dylan/dylan.lid
    M sources/dylan/machine-word-lowlevel.dylan

  Log Message:
  -----------
  [dylan] Use arithmetic rather than logic ops for integer tag manipulation.

Using subtraction and addition to manage the integer type tag
rather than logic ops like xor allow LLVM to do better optimization
in some cases. It should also result in smaller code.

Fix #897.

* sources/dylan/machine-word-lowlevel.dylan
  (macro simple-arithmetic): New.
  (simple-arithmetic machine-word-add): New.
  (simple-arithmetic machine-word-subtract): New.

* sources/dylan/conversion-tagged-integer.dylan
  (strip-integer-tag): Use machine-word-subtract instead of
    machine-word-logxor.
  (insert-integer-tag): Use machine-word-add instead of
    machine-word-logior.

* sources/dylan/dylan.lid: Build machine-word-lowlevel.dylan before
    character.dylan as character.dylan ends up having a top level
    reference to machine-word-subtract which is an illegal forward
    reference.


  Commit: c0182e763a7ad335a35a3df8355a2eaea9937fb1
      https://github.com/dylan-lang/opendylan/commit/c0182e763a7ad335a35a3df8355a2eaea9937fb1
  Author: Peter S. Housel <[email protected]>
  Date:   2015-06-28 (Sun, 28 Jun 2015)

  Changed paths:
    M sources/dylan/conversion-tagged-integer.dylan
    M sources/dylan/dylan.lid
    M sources/dylan/machine-word-lowlevel.dylan

  Log Message:
  -----------
  Merge pull request #898 from waywardmonkeys/strip-integer-tag-experiment

Optimize integer tag manipulation


Compare: https://github.com/dylan-lang/opendylan/compare/6547b507e60a...c0182e763a7a

_______________________________________________
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.