Commit Graph

310 Commits (67169ca960ff39dc7e1e44af2cd040e1ca16ecbc)

Author SHA1 Message Date
John Benediktsson 31916d9f39 compiler.tree.propagation.info: inline <value-info>. 2013-03-08 12:19:24 -08:00
John Benediktsson ede0232ddc hash-sets: faster implementation based on hashtables. 2013-03-07 21:43:17 -08:00
John Benediktsson c0b3e7ec32 compiler.tree.propagation.transforms: use integer>fixnum-strict in shift. 2013-03-05 08:19:31 -08:00
John Benediktsson 6556dae7ac compiler.tree.propagation.known-words: retry this change, some issue with use vocabs. 2013-01-22 07:09:49 -08:00
John Benediktsson b1003f47d9 Revert "compiler.tree.propagation.known-words: adding known outputs for some words."
This reverts commit 16d8e6555b.
2013-01-22 06:42:58 -08:00
John Benediktsson 16d8e6555b compiler.tree.propagation.known-words: adding known outputs for some words. 2013-01-21 20:28:17 -08:00
Doug Coleman 9f392c86fb compiler.tree.propagation.recursive: Generalizing intervals in the propagation pass ignored types. Fixes #770. 2013-01-01 18:47:23 -08:00
John Benediktsson 2b719f5eec compiler.tree.propagation: revert cleanup, this was more correct. 2012-10-05 15:00:49 -07:00
John Benediktsson 6ccd545c92 compiler.tree.propagation: throw the proper error in >fixnum methods. 2012-10-05 09:54:51 -07:00
John Benediktsson de166e6f9b compiler.tree.propagation: cleanup known-words a bit. 2012-10-05 09:47:27 -07:00
John Benediktsson 2bdb46f063 compiler.tree.propagation: make sure integer>fixnum-strict infers a fixnum. 2012-10-05 04:17:43 -07:00
John Benediktsson 4fc3b68f85 compiler.tree.propagation: fix >fraction types. 2012-09-11 07:42:39 -07:00
John Benediktsson 56a010441a math.ratios: speed up some operations on ratios. 2012-09-10 19:53:25 -07:00
John Benediktsson 9992096028 math: cleaner "2/" speedup by using custom inlining. 2012-09-10 17:59:03 -07:00
John Benediktsson 19d31a6fb0 layouts: defining "fixnum-bits". 2012-08-21 18:05:59 -07:00
Doug Coleman d15a2357d1 core: Throw an error when assigning a bignum to a fixnum tuple slot if the bignum doesn't fit. Fixes #594. 2012-08-03 14:59:59 -07:00
Doug Coleman c25d044788 compiler: Fix bitand on ratios, floats. Fix shift on ratios, floats. Add integer>fixnum. Fixes #500. 2012-07-23 09:31:12 -07:00
John Benediktsson e654e4afd9 Using "same?" in more places. 2012-07-21 10:22:44 -07:00
Doug Coleman 9a220ef78c namespaces: Rename ``bind`` to ``with-variables``. Update a few places that called ``global [ ] with-variables`` to use ``with-global``. 2012-07-19 00:02:47 -07:00
Doug Coleman 117d57ad92 issue #358: Rename all of the words depends-on-* to add-depends-on* 2012-06-21 08:35:45 -07:00
John Benediktsson 1a72249983 math: using if-zero in more places. 2012-06-18 14:32:39 -07:00
Doug Coleman cb42258144 classes:
- Allow methods to dispatch off union{ } and intersection{ } classes.
- Add not{ } anonymous-complement syntax.
- Define class-name for anonymous-union/intersection/complement and maybes, and clean up pprint.
- Change maybe: foo to maybe{ foo }
- Call sort-classes when making anonymous-union/anonymous-intersection classes so that they are canonicalized.
2012-05-03 19:45:30 -07:00
Doug Coleman 664239e1ba generalizations: Refactor stack-checker so that smart combinators can be used with curry and compose. 2011-11-27 20:25:22 -08:00
Doug Coleman 61c1277864 compiler tests: fix using, add tests to make sure instance? inlines 2011-11-23 01:01:11 -08:00
Doug Coleman 388e80f770 compiler.tree.propagation.transforms: fix infinite recursion that was breaking prettyprint 2011-11-23 00:48:05 -08:00
Doug Coleman 3e2fc2f0cb classes: optimize instance? for classoids 2011-11-22 20:38:07 -08:00
Doug Coleman 30ade9023c classes: add syntax for intersection{ and union{ anonymous classes. make classoid a mixin. 2011-11-22 18:49:42 -08:00
Doug Coleman d3a4e72f95 classes.maybe: move maybe definition from classes.union to classes.maybe 2011-11-22 02:46:36 -08:00
Doug Coleman 14dbf929ee classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;. Fixes #416 and lots of headaches. 2011-11-22 01:56:13 -08:00
Joe Groff e66fdcaa83 compiler.tree.propagation: missed using 2011-11-13 16:10:25 -08:00
Joe Groff 5c0e3946c5 compiler: tighten (simd-select) output class
Ints and smaller (or shorts and smaller on 32-bit) can be assumed to be fixnums. Fixes #393
2011-11-13 16:10:23 -08:00
Joe Groff 2c4c04f973 compiler: add intrinsic for PMOVMSKB/MOVMSKP[SD]
Combined with a fast bit-count this will let us rice byte-counting.
2011-11-13 16:10:20 -08:00
Doug Coleman 1a2be52f25 compiler.tree: Renamed high-level IR node constructors to <#foo> from #foo. Moving towards making classes/word names not conflict. 2011-11-06 23:02:45 -08:00
Joe Groff 75cba3106a remove BSD,solaris,etc. misc platform support code 2011-11-02 17:13:51 -07:00
Slava Pestov 0f5a65ea51 compiler.tree.propagation: more accurate output type for 'tag' primitive 2011-10-29 17:11:04 -07:00
Doug Coleman 96da8df16e Rename class to class-of 2011-10-24 06:47:42 -05:00
John Benediktsson f2741b34a4 Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed. 2011-10-18 13:19:39 -07:00
John Benediktsson 7494418bf8 More lint cleanups. 2011-10-16 19:33:16 -07:00
John Benediktsson f419934d6a Cleanup lint warnings. 2011-10-14 11:47:24 -07:00
Slava Pestov 91bfed5d1e compiler.tree.propagation.transforms: fix rem and mod custom inlining 2011-10-10 12:12:53 -07:00
Slava Pestov 2a6ff945b3 Fix custom-inlining for mod and rem, which was converting these calls to bitand in some cases, even if the input was not known to be an integer. Fixes #243 2011-10-09 13:51:35 -07:00
Slava Pestov f3dfae04ba compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths 2010-08-13 23:59:19 -07:00
Slava Pestov 801197a58d classes.algebra: make it work better to fix bug reported by Sascha Matzke 2010-07-29 19:57:23 -04:00
Slava Pestov 7d792778f5 FFI rewrite part 7: compile callback bodies with the optimizing compiler 2010-07-28 00:49:26 -04:00
Slava Pestov df9fefade5 compiler.tree.propagation.known-words: don't want a type function on clone, all the methods are inline and it was wrong (reported by Joe Groff) 2010-07-07 17:25:32 -04:00
Slava Pestov 04579f27d6 Revert guarded method inlining
This reverts commit 44a835e3fc, reversing
changes made to d45926bda0.
2010-06-24 12:35:21 -04:00
Daniel Ehrenberg f34630252d Merge branch 'master' into propagation 2010-06-15 13:26:01 -04:00
Slava Pestov b8ec5c6176 Stack allocation improvements
- New with-out-parameters combinator
- Inhibit tail call optimization in frames with local allocation, to ensure that passing a stack allocated value to the last word in the quotation works
- local allocations are now aligned properly
- spill slots are now aligned properly aligned in frames which have parameter and local allocation areas
2010-05-22 02:37:00 -04:00
Slava Pestov 70f6717713 compiler.tree.propagation.known-words: fix load error 2010-05-19 00:51:03 -04:00
Slava Pestov 84e7076474 alien.data: add with-scoped-allocation combinator for stack-allocating C data 2010-05-19 00:33:36 -04:00