Commit Graph

845 Commits (2f0efb62e87c8e1f45d967ee2986b51ccc12c7b7)

Author SHA1 Message Date
Doug Coleman cb66728b26 compiler.cfg: Change low-level IR constructors from ##foo to <##foo> 2011-11-06 23:02:46 -08:00
Doug Coleman be9f8a99f0 Rename lookup to lookup-word. 2011-11-06 16:00:00 -08: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
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
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 f419934d6a Cleanup lint warnings. 2011-10-14 11:47:24 -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 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 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
Doug Coleman ced1795a04 Fixes the symptom but not the problem. See bug #201. 2011-09-26 17:32:34 -07:00
Joe Groff 571ef865e6 slots: pre-create the "at", "nth", and "global" slots to make deterministic the currently nondeterministic ambiguity between accessors:change-* and assocs:change-at, sequences:change-nth, and namespaces:change-global 2011-09-19 10:03:43 -07:00
Joe Groff 7a60e70227 compiler.cfg.builder.alien: fix caller-linkage to return the DLL and not the library tuple again; fixes issue #121 2011-09-13 15:10:48 -07:00
Joe Groff ab205897f2 alien.libraries, compiler.cfg.builder.alien: if `dlopen` fails during `<library>`, call `dlerror` and store the error message in the library object; put the dlerror message in the linkage-error when a word from the library is compiled 2011-09-12 23:25:59 -07:00
Joe Groff f97e05b79d alien.libraries, compiler.cfg.builder.alien: include the result of dlerror/GetLastError in the linkage-error for missing symbols 2011-09-12 23:25:59 -07:00
Slava Pestov 75a97f2fa0 compiler.cfg.dependence: Add ##allot to control dependency chain, so that we don't re-order an allocation and initialization with an alien call. The alien call might GC, exposing uninitialized memory to the GC. Fixes #53, fixes #58, fixes #20. 2011-08-28 21:25:39 -07:00
Slava Pestov 1f6469878a compiler.cfg.debugger: add random-scheduling word.
Run 'random-scheduling "compiler" test' to find bugs in compiler.cfg.dependencies.
2011-08-28 21:25:37 -07:00
Slava Pestov 4aa5bbdc79 compiler.cfg.scheduling: remove old scheduling test code, adding a better way of testing scheduling 2011-08-28 21:25:35 -07:00
Erik Charlebois 1ed2bc6231 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
Slava Pestov 1d6f318a1a compiler.cfg.branch-splitting was totally broken 2011-02-27 16:43:26 -08:00
Slava Pestov 35e9f6f072 compiler.cfg.ssa.construction: update unit tests for nths change 2011-02-25 21:05:38 -08:00
Slava Pestov 78d529c7c4 compiler.cfg.linear-scan: extend lifetime intervals of base pointers correctly (reported by Anton Gorenko) 2010-09-30 20:49:03 -07:00
Slava Pestov 4877d32cb3 compiler: preliminary implementation of tracking derived pointers in GC maps 2010-09-27 20:12:44 -07:00
Slava Pestov c43255712e compiler.cfg.alias-analysis: fix bug in lazy alias class instantiation 2010-09-27 20:12:43 -07:00
Slava Pestov 0fb2cbd3a6 compiler.cfg.scheduling: always run scheduling because heuristic was broken 2010-09-25 16:31:42 -07:00
Slava Pestov 1ddf4bef8c compiler.cfg.alias-analysis: don't need to do a local live-in calculation anymore 2010-09-25 16:13:17 -07:00
Slava Pestov 526dca873d compiler.cfg.liveness: merge in compiler.cfg.liveness.ssa and simplify the code, since we don't compute live sets before SSA construction anymore 2010-09-25 14:36:58 -07:00
Slava Pestov 581bbe5278 compiler.cfg.ssa.construction: use the baller method for pruned SSA 2010-09-20 21:36:22 -07:00
Slava Pestov bbaf070bd9 compiler.cfg.write-barrier: fix soundness issue with ##copy that never came up but probably should've been fixed anyway 2010-09-06 17:01:44 -07:00
Slava Pestov cf327bbc41 compiler.cfg.alias-analysis: dead store elimination was too aggressive, can't eliminate dead stores across a GC call even for fresh allocations because GC will see uninitialized data 2010-09-06 16:57:56 -07:00
Slava Pestov 4190040611 compiler.cfg.write-barrier: handle ##copy instructions 2010-09-05 23:07:30 -07:00
Slava Pestov 06c7424f3d compiler.cfg.dependence: compute dependency graph for write barrier instructions 2010-09-05 22:51:17 -07:00
Slava Pestov 8c5a22e2ca compiler.cfg: fix major facepalm with write barrier elimination 2010-09-05 21:39:45 -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 ed5cea57ea compiler.cfg: Reading the return value of a float-returning function on x86-32 had a side effect of popping the x87 stack, so it was not correct for DCE to just eliminate this if the return value was not used. Fix this by adding a new dead-outputs slot to alien-call-insns and having DCE move dead returns there 2010-08-13 23:19:56 -07:00
Slava Pestov 31ef4ad844 math.libm: fix regression: fsqrt intrinsic was not working ever since change was made to inline FUNCTION: bodies 2010-08-12 21:41:57 -07:00
Slava Pestov 179f32cdeb compiler.cfg.linear-scan: fix bad interaction between inactive intervals and sync points 2010-07-29 21:06:48 -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 10d25cc0ad Revert "compiler.cfg: change linear ordering to place GC call blocks at the end"
This reverts commit 544a288192.
2010-07-27 23:58:41 -04:00
Slava Pestov 544a288192 compiler.cfg: change linear ordering to place GC call blocks at the end 2010-07-27 13:00:28 -04:00
Slava Pestov f69411fcfb compiler.cfg: now that kill-blocks cannot contain instructions that define vregs we can skip them all 2010-07-27 12:40:31 -04:00
Slava Pestov 08a139bb64 compiler.cfg.alias-analysis: factor-call-insns which defined values were not handled properly 2010-07-19 19:56:00 -04:00