Joe Groff
50dced41d4
fastcgi: er, linux + macosx = unix
2011-12-16 16:06:46 -08:00
Joe Groff
64920e2802
fastcgi: only load on unix until #454 is resolved
2011-12-16 16:02:53 -08:00
Joe Groff
903863b8c6
tools.deploy.shaker: strip globals harder
...
Separate the list of strippable globals in "stripped" and "cleared". Completely remove the former set, but only reset to 'f' the latter. Fixes #447 .
2011-12-16 15:56:59 -08:00
Joe Groff
6661f8fe0c
threads: update test
2011-12-14 13:45:53 -08:00
Joe Groff
9d5e676b26
Revert "pubsubhubbub support by samueltardieu". Fixes #455 .
...
This reverts commit e3483c9c03
.
2011-12-14 13:13:18 -08:00
Joe Groff
c86d92a219
fix compiler.codegen tests
2011-12-14 12:51:12 -08:00
Joe Groff
5557574e1c
tools.deploy.shaker: clear MEMO: caches
2011-12-14 12:44:40 -08:00
Joe Groff
aa1ad21d72
fix help-lint failures
2011-12-14 11:33:17 -08:00
Joe Groff
b321c5656e
cpu.x86.64: define jit-load-vm as a no-op
...
This was the signal handler prolog code can be shared completely between x86.32 and x86.64.
2011-12-14 11:33:05 -08:00
Joe Groff
842eb27785
vm: cleanups
2011-12-14 09:56:50 -08:00
Joe Groff
d62a0b28e6
oops, handler still need to jit-load-vm on x86-32
2011-12-14 09:56:50 -08:00
Joe Groff
1c7bd9a7b4
vm: don't scribble memory handling leaf signals
2011-12-14 09:56:50 -08:00
Joe Groff
7c9332e966
cpu.x86.*: clean up signal handler prolog code
...
Also bump the signal handler frame sizes up again since it looks like we shrank them too much.
2011-12-14 09:56:50 -08:00
Joe Groff
7844c66d6e
vm: factor out word_stack_frame_size
2011-12-14 09:56:49 -08:00
Joe Groff
a1ee881435
vm: get rid of now-trivial innermost_stack_frame
2011-12-14 09:56:49 -08:00
Joe Groff
2eba1b5449
cpu.x86: reduce compiled frames by 2 cells too
2011-12-14 09:56:49 -08:00
Joe Groff
079025559d
simplify function prologs
2011-12-14 09:56:49 -08:00
Joe Groff
2f20ee6fb0
vm: fix types after rebase
2011-12-14 09:56:49 -08:00
Joe Groff
604ceb957c
vm: replace remaining stack_frame-based logic
2011-12-14 09:56:49 -08:00
Joe Groff
d74f194b07
vm: remove _reversed from callstack iterator names
...
Now that they're the only game in town we can give them the short names
2011-12-14 09:56:49 -08:00
Joe Groff
f6a5f48da0
vm: remove iterate_callstack_object
2011-12-14 09:56:48 -08:00
Joe Groff
a1958c67bd
vm: callstack_reversed for callstack_to_array
2011-12-14 09:56:48 -08:00
Joe Groff
0af5fff27c
remove iterate_callstack now that it's unused
2011-12-14 09:56:48 -08:00
Joe Groff
822a658cc3
vm: callstack_reversed in call_frame_scrubber
2011-12-14 09:56:48 -08:00
Joe Groff
9236c05e60
vm: stage code block map fixup properly for GC
...
Don't update the map until the very last thing, and pass untranslated addresses to the iterator functors. Somewhat complicated by the fact that, for startup_fixup, the map is initialized with fixed-up values, so the fixup functor needs a flag indicating whether it operates with a fixed or unfixed code heap map.
2011-12-14 09:56:48 -08:00
Joe Groff
e6a80aa9aa
vm: callstack_reversed in code_block_visitor
2011-12-14 09:56:48 -08:00
Joe Groff
d12b6e375b
vm: iterate_callstack_reversed in slot_visitor
2011-12-14 09:56:47 -08:00
Joe Groff
e116bc497b
vm: reversed callstack iteration
2011-12-14 09:56:47 -08:00
Joe Groff
e2fafaed9c
WIP verify_callstack function
...
dumps callstack in reverse order so i can visually inspect that it matches the old forward walking logic
2011-12-14 09:56:47 -08:00
Joe Groff
ef38688e87
vm: method to calculate frame size for address
...
If we're before the prolog or or in a leaf procedure, the stack frame is really a leaf frame created by the signal handler, with a known fixed size, instead of the real stack frame (if any) with a different size.
2011-12-14 09:56:47 -08:00
Joe Groff
5b9aee2c91
vm: don't suffer null return addresses
2011-12-14 09:56:46 -08:00
Joe Groff
ee656387ea
cpu.*.bootstrap: return address for (set-context)
...
Instead of pushing zero as the fake return address for a set-context call, push an address that points back into the primitive so that callstack walking can match the frame back to the subprimitive.
2011-12-14 09:56:46 -08:00
Joe Groff
1911905c6b
vm: frame size for signal handler code blocks
2011-12-14 09:56:46 -08:00
Joe Groff
0b94018d9f
vm: initialize all_blocks set after initial fixup
2011-12-14 09:56:46 -08:00
Joe Groff
3868895b56
vm: make all_blocks a set of cells
...
gcc was doing bad things assuming the pointer given to upper_bound was aligned
2011-12-14 09:56:46 -08:00
Joe Groff
36d1e0a78c
vm: verifier shouldn't check for leftovers
...
It doesn't work after things have been freed
2011-12-14 09:56:45 -08:00
Joe Groff
d6227c182b
vm: pack frame size into code block header bits
2011-12-14 09:56:45 -08:00
Joe Groff
c9cc98d124
compiler.constants: remove unused constants
2011-12-14 09:56:45 -08:00
Joe Groff
e21f316583
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
fe767253a1
math.vectors: add higher-order stack effect to vif
2011-12-13 19:46:44 -08:00
Joe Groff
bd7e6b33f8
vm: erase code blocks from all_blocks during sweep
...
Fixes #437
2011-12-13 12:28:09 -08:00
Joe Groff
083b856604
vm: reinitialize all_blocks from scratch after gc
...
Faster and more likely to be correct than trying to fixup the existing set
2011-12-12 19:05:48 -08:00
Joe Groff
4bbb2f5b72
vm: only verify all_blocks set if it's invalid
...
Verifying on every sample is way too slow to be practical when debugging bootstrap.
2011-12-12 19:04:56 -08:00
Joe Groff
4870ac8f1d
vm: add compact-gc command to factorbug
2011-12-12 19:03:42 -08:00
Joe Groff
d927a070ed
cpu.x86: enable POPCNT with a flag
...
If bootstrapped with '-enable-popcnt' and the host CPU supports it, enable the POPCNT-based fixnum-bit-count intrinsic. Fixes #436 .
2011-12-12 16:43:49 -08:00
Joe Groff
ff50cc6f0f
tools.deploy.shaker: more timid global stripping
...
Strip globals by replacing their value with "f". The list of globals to strip was written with the assumption that the stripped globals would get restored like normal hashtable keys when accessed. This isn't valid anymore with the globals optimization, since creating a new box breaks the foldable invariant between a global name and its associated box. Need to go through the list of globals to strip and find the ones that actually can be entirely removed as opposed to just reset to f. Fixes #445 . Fixes #446 .
2011-12-12 16:08:25 -08:00
rien
6e141b8f6e
added B: (break for parsing words) and appropriate documentation
2011-12-10 20:59:22 -05:00
rien
b3747936b9
fixed effect based on inner behavior and outer context
2011-12-10 19:47:34 -05:00
Joe Groff
3deae96995
math.vectors.simd.intrinsics: fix deploy bug
...
If not called with a known-at-compile-time SIMD type, the intrinsic definitions were leaving behind runtime quotations that referenced the c-array words after c-type information had been stripped, causing deployed applications that used SIMD to fail.
2011-12-07 12:47:38 -08:00
Doug Coleman
abc953ecea
help-lint fixes for recent changes
2011-12-07 12:26:35 -08:00