Commit Graph

1556 Commits (ba10e893b0f1348ad06a51a3a5bd48358f3b18e0)

Author SHA1 Message Date
John Benediktsson 5de88bcd88 compiler.cfg: don't need to escape the symbol here. 2012-08-02 15:14:42 -07:00
John Benediktsson 1ac7188486 compiler.codegen: instruction counter is a global. 2012-08-02 15:06:04 -07:00
Doug Coleman a6c3ddf691 sequences: Fix tests that broke when nth could only be integers. Undo integer>fixnum in iota nth. See bug #582. 2012-07-25 22:17:24 -07:00
Doug Coleman 80b7014ae1 modular-arithmetic: Fix unit test. Should expect integer>fixnum, not >fixnum. 2012-07-23 11:51:44 -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 bc35335a0c compiler: Fix /mod simplications in dead-code, add unit tests. Fixes #544 2012-07-21 03:41:42 -07:00
Doug Coleman 2e43fab284 stack-checker: meta-d was a word and symbol, now meta-d word and (meta-d) symbol
issuse #358
2012-07-20 12:30:14 -07:00
Doug Coleman 06afe04f73 compiler.tree.debugger: Remove make-assoc 2012-07-19 17:48:02 -07:00
John Benediktsson 7104c2d7b9 using the new H{ } make. 2012-07-19 09:50:09 -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 795c9ed26a issue #358: fix a couple compiler errors 2012-06-21 08:35: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
Joe Groff 23eb2eaa1b fix compiler.codegen tests 2011-12-14 12:51:12 -08:00
Joe Groff 84e817ef95 compiler.constants: remove unused constants 2011-12-14 09:56:45 -08:00
Joe Groff 9186a1bdf3 vm: store stack frame size in code blocks
Change modify-code-heap primitive so it takes a sixth element in each array for the frame size.
2011-12-14 09:56:45 -08:00
Joe Groff 7dbdc54052 command-line: don't pull in tools.errors
tools.errors brings the debugger with it, which bloats deploy image size
2011-12-07 10:52:58 -08:00
Joe Groff 881f9ba3f1 compiler: fix failing test 2011-12-06 21:11:44 -08:00
Doug Coleman e884ce357e compiler: The non-optimizing compiler is too slow with smart combinators in the compiler. Speed up bootstrap by not using them. 2011-12-05 14:50:51 -08: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
Joe Groff eee483654a use radix literals 2011-11-23 19:03:40 -08:00
Joe Groff b1a5477969 compiler.cfg.finalization: reenable scheduling
Prolog safepoint appears to work with it enabled
2011-11-23 11:11:27 -08:00
Joe Groff 62e665bb88 compiler: emit safepoints in optimized prologs 2011-11-23 11:11:25 -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 627bce6615 classes: Make methods dispatch on maybes. Fix a couple bugs in the implementation of maybe. classoid? is now a dumb test if an object could be a well-formed classoid; valid-classoid? tests for well-formedness. Move maybe tests. Make pprint* work better on methods. 2011-11-22 15:12:20 -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 ce205e1e3a code beautification 2011-11-13 16:10:26 -08:00
Joe Groff e66fdcaa83 compiler.tree.propagation: missed using 2011-11-13 16:10:25 -08:00
Joe Groff f05bc12553 compiler: more peephole tests for shl/sar 2011-11-13 16:10:24 -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
Slava Pestov 8012fbdf61 Now that #foo and ##foo are symbols we can remove a bunch of \ 2011-11-12 22:04:26 -08:00
Joe Groff 4984bde393 cpu.*.bootstrap: clear faulting flag directly
No reason to go through a safepoint in unwind-native-frames really.
2011-11-12 13:02:57 -08:00
Doug Coleman b123bf31b2 compiler.cfg: Rename <##foo> to ##foo, in the low-level IR 2011-11-11 19:48:38 -08:00
Joe Groff 5b43301eb6 vm: strip out call-counting profiler
This makes the separate "code" and "entry_point" fields in word and quotation redundant, so also remove them to reclaim an additional cell per word and quotation object, which should help with #318.
2011-11-10 16:01:07 -08:00
Doug Coleman cb66728b26 compiler.cfg: Change low-level IR constructors from ##foo to <##foo> 2011-11-06 23:02:46 -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
Doug Coleman 1539682597 compiler.tree.dead-code: Rewrite /mod to /i or mod in the dead-code pass in the high level optimizer. Fixes #279. 2011-11-06 19:23:26 -08:00
Doug Coleman be9f8a99f0 Rename lookup to lookup-word. 2011-11-06 16:00:00 -08:00
Joe Groff 75cba3106a remove BSD,solaris,etc. misc platform support code 2011-11-02 17:13:51 -07:00
Slava Pestov 41c5e41619 compiler.cfg.builder: add test to ensure that fast union predicates do not contain a conditional 2011-10-29 17:11:04 -07:00
Slava Pestov 0f5a65ea51 compiler.tree.propagation: more accurate output type for 'tag' primitive 2011-10-29 17:11:04 -07:00
Slava Pestov bf533d7d8d compiler.tree.debugger: disable length limit when printing optimized. quotation 2011-10-29 17:11:03 -07:00
Joe Groff 1eddaf34f1 vm: resumably handle signals from leaf procedures 2011-10-27 21:18:18 -07:00