Commit Graph

1522 Commits (f05bc125539314d76cafa04ddd4108ae7233fc43)

Author SHA1 Message Date
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
Joe Groff 5fa890cb20 compiler: no spurious safepoint at start of loops 2011-10-27 21:14:48 -07:00
Joe Groff f297b39c60 compiler.cfg.tco: clean up commented-out old code 2011-10-27 21:14:47 -07:00
Joe Groff 4a8e1d5f0e compiler.cfg.tco: teach TCO about safepoints 2011-10-27 21:14:46 -07:00
Joe Groff b0bccf49d1 compiler.cfg.builder: safepoint loops and epilogs 2011-10-27 21:14:46 -07:00
Joe Groff cf45e0d581 compiler: add ##safepoint IR insn 2011-10-27 21:14:46 -07:00
Joe Groff ac3054d1e6 compiler: rt-safepoint and rel-safepoint words 2011-10-27 21:14:45 -07:00
Doug Coleman f05e33fa37 Fix all failures in the linux64 build email 2011-10-24 19:33:09 -07:00
Doug Coleman 96da8df16e Rename class to class-of 2011-10-24 06:47:42 -05:00
John Benediktsson 8641187299 More cleanup of unused stuff. 2011-10-19 11:01:16 -07: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
Joe Groff a3d9990255 compiler.tree.dead-code: fix test
It was using "read" in an optimization test, but since "read" is now inline, it wasn't getting the expected optimized quotation back.
2011-10-17 21:23:10 -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
John Benediktsson 54b9b3bf14 namespaces: adding a "with-global" word to replace "global [ ] bind". 2011-10-13 17:21:59 -07:00
John Benediktsson 463c7292d1 Fix M: stack effects. 2011-10-13 16:41:17 -07:00
John Benediktsson b3f5154cc7 sequences: adding ?last for symmetry. 2011-10-13 13:04:24 -07:00
Slava Pestov 6175117b55 callback-error: don't use -e until we fix issue #245 2011-10-10 21:25:50 -07:00
Slava Pestov 1898d0e26e compiler.tree.identities: the identity on mod was useless too, because we already have a rewrite rule which handles this case in compiler.tree.propagation 2011-10-10 12:34:21 -07:00
Slava Pestov 2e4127cc20 compiler.cfg.representations: fix unit test, it depended on hashing order which changed recently 2011-10-10 12:15:41 -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 dd0d3d4ef7 compiler.codegen.gc-maps: fix tests 2011-10-10 12:07:09 -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 0d6a0cd3ea Remove identities on / and rem, which were no-ops because integer-derived-ops would return an empty array 2011-10-09 13:51:03 -07:00
Doug Coleman a220cf1d7f Mixin classes in redefine25 test are forgotten, but words still reference them -- forget those words, too. Fixes #143. 2011-10-07 10:49:17 -07:00
Doug Coleman e75e2b1f14 Make M\ throw an error upon lookup failure. Change method -> ?lookup-method, lookup-method is the throwing version of ?lookup-method. Fixes #229. 2011-10-03 15:49:49 -07:00
Slava Pestov b1b7b24ad5 Add RT_INLINE_CACHE_MISS relocation type to avoid frequent dlsym lookups when compiling PICs. Fixes #123 2011-10-03 00:26:21 -07:00
Slava Pestov 395da4bc86 Fix linkage-errors test to not clobber its own linkage error 2011-10-03 00:26:21 -07:00
Slava Pestov 8336d898a3 Rework non-optimizing compiler backend to use compiler.codegen.relocation 2011-10-03 00:26:21 -07:00
Slava Pestov 83f602c1da Split up compiler.codegen.fixup into compiler.codegen.{gc-maps,labels,relocation} 2011-10-03 00:25:47 -07:00
Doug Coleman 7d8817583a compiler.tree.modular-arithmetic needs shallow-spread>quot 2011-10-02 22:21:11 -07:00
Slava Pestov 171cd93573 Fix infinite loop and empty-dlist error when an error is thrown from a callback running in a thread other than the initial thread. This addresses part of issue #92 2011-10-02 21:59:09 -07:00
Slava Pestov a1f1bea271 compiler.cfg.builder.alien: fix compilation of callbacks which unconditionally throw errors 2011-10-02 19:52:12 -07:00
Doug Coleman 94f3ca3b8c Remove all non-core uses of (scan-token)
Add scan-datum
Add scan-number
Document more words
Fixes #225.
2011-10-02 12:00:08 -07:00
Doug Coleman 300138eb4d Refactor the lexer/parser to expose friendlier words for scanning tokens. The preferred top-level words now throw an exception on EOF.
CREATE -> scan-new
CREATE-CLASS -> scan-new-class
CREATE-WORD -> scan-new-word
CREATE-GENERIC -> scan-new-generic
scan -> (scan-token)
scan-token now throws on eof
(scan-word) returns word/number/f
scan-word now throws on eof
scan-word-name expects a non-number
Fixes #183.
Fixes #209.
2011-09-29 11:28:28 -07:00