Joe Groff
|
c06be95816
|
compiler: no spurious safepoint at start of loops
|
2011-10-27 21:14:48 -07:00 |
Joe Groff
|
41c36752fc
|
compiler.cfg.tco: clean up commented-out old code
|
2011-10-27 21:14:47 -07:00 |
Joe Groff
|
6f75e84d93
|
compiler.cfg.tco: teach TCO about safepoints
|
2011-10-27 21:14:46 -07:00 |
Joe Groff
|
e449fef4e3
|
compiler.cfg.builder: safepoint loops and epilogs
|
2011-10-27 21:14:46 -07:00 |
Joe Groff
|
0c022f2454
|
compiler: add ##safepoint IR insn
|
2011-10-27 21:14:46 -07:00 |
Doug Coleman
|
51c033a1f6
|
Fix all failures in the linux64 build email
|
2011-10-24 19:33:09 -07:00 |
Doug Coleman
|
f9257959fd
|
Rename class to class-of
|
2011-10-24 06:47:42 -05:00 |
John Benediktsson
|
f4a6e10818
|
More cleanup of unused stuff.
|
2011-10-19 11:01:16 -07:00 |
John Benediktsson
|
378786599d
|
Cleanup lint warnings.
|
2011-10-14 11:47:24 -07:00 |
John Benediktsson
|
1987deb359
|
Fix M: stack effects.
|
2011-10-13 16:41:17 -07:00 |
John Benediktsson
|
4baf14972f
|
sequences: adding ?last for symmetry.
|
2011-10-13 13:04:24 -07:00 |
Slava Pestov
|
dc36fd712d
|
compiler.cfg.representations: fix unit test, it depended on hashing order which changed recently
|
2011-10-10 12:15:41 -07:00 |
Slava Pestov
|
06218d5d12
|
compiler.cfg.builder.alien: fix compilation of callbacks which unconditionally throw errors
|
2011-10-02 19:52:12 -07:00 |
Doug Coleman
|
671f19d70f
|
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
|
76580da5d5
|
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
|
3826febfae
|
Fixes the symptom but not the problem. See bug #201.
|
2011-09-26 17:32:34 -07:00 |
Joe Groff
|
2bd6de9a02
|
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
|
d6668caf7d
|
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
|
5703e8d7a1
|
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
|
b6e0f0180b
|
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
|
edddffdadd
|
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
|
34f71ea042
|
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
|
3ed1910ab1
|
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
|
64252dbdbc
|
32 and 64 bit Linux PPC support
|
2011-05-23 23:36:14 -04:00 |
Slava Pestov
|
5a3c5c7749
|
compiler.cfg.branch-splitting was totally broken
|
2011-02-27 16:43:26 -08:00 |
Slava Pestov
|
6f7e4e32d0
|
compiler.cfg.ssa.construction: update unit tests for nths change
|
2011-02-25 21:05:38 -08:00 |
Slava Pestov
|
b052aa61cb
|
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
|
6b5fffc026
|
compiler: preliminary implementation of tracking derived pointers in GC maps
|
2010-09-27 20:12:44 -07:00 |
Slava Pestov
|
53aed0805a
|
compiler.cfg.alias-analysis: fix bug in lazy alias class instantiation
|
2010-09-27 20:12:43 -07:00 |
Slava Pestov
|
546b81b697
|
compiler.cfg.scheduling: always run scheduling because heuristic was broken
|
2010-09-25 16:31:42 -07:00 |
Slava Pestov
|
80d7aab40b
|
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
|
ec2f42fd40
|
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
|
8bc2ea7a5c
|
compiler.cfg.ssa.construction: use the baller method for pruned SSA
|
2010-09-20 21:36:22 -07:00 |
Slava Pestov
|
a67c7c5739
|
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
|
a605d5c9c9
|
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
|
add75411a0
|
compiler.cfg.write-barrier: handle ##copy instructions
|
2010-09-05 23:07:30 -07:00 |
Slava Pestov
|
54f97557e6
|
compiler.cfg.dependence: compute dependency graph for write barrier instructions
|
2010-09-05 22:51:17 -07:00 |
Slava Pestov
|
c677c35de4
|
compiler.cfg: fix major facepalm with write barrier elimination
|
2010-09-05 21:39:45 -07:00 |
Slava Pestov
|
1985705413
|
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
|
b5fc39c198
|
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
|
42b858b3f0
|
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
|
94f6ac98de
|
compiler.cfg.linear-scan: fix bad interaction between inactive intervals and sync points
|
2010-07-29 21:06:48 -04:00 |
Slava Pestov
|
168dd1f825
|
FFI rewrite part 7: compile callback bodies with the optimizing compiler
|
2010-07-28 00:49:26 -04:00 |
Slava Pestov
|
5fc9aa05b0
|
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
|
8adde5360a
|
compiler.cfg: change linear ordering to place GC call blocks at the end
|
2010-07-27 13:00:28 -04:00 |
Slava Pestov
|
355d89e8e8
|
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
|
b6fe62299e
|
compiler.cfg.alias-analysis: factor-call-insns which defined values were not handled properly
|
2010-07-19 19:56:00 -04:00 |
Slava Pestov
|
b23aac1beb
|
compiler.cfg: open-code parameter boxing and unboxing for certain C types
|
2010-07-19 10:25:13 -04:00 |
Slava Pestov
|
8e46305288
|
compiler.cfg.save-contexts: don't insert ##save-context in front of ##phi
|
2010-07-19 09:27:10 -04:00 |
Slava Pestov
|
adc9db3ea8
|
compiler.cfg.linear-scan.allocation: fix wrong order
|
2010-07-19 06:46:50 -04:00 |