John Benediktsson
39c3f10138
bignum: incorporate some fixes from @slavapestov.
2012-08-10 14:28:44 -07:00
John Benediktsson
c4f85efc9d
vm: make sure we zero out the end of the bignums.
2012-08-04 18:02:27 -07:00
John Benediktsson
61a6b5692f
vm: a bit faster not to trim on each iteration...
2012-08-04 09:13:05 -07:00
John Benediktsson
f7bb7c6a32
vm: additional fix in bignum_gcd.
2012-08-03 21:50:48 -07:00
John Benediktsson
37001708cd
vm: some fixes to fast bignum gcd.
2012-08-03 12:13:46 -07:00
John Benediktsson
5c8a2a4057
vm: fix updating size inside bignum_gcd loop.
2012-08-02 17:36:07 -07:00
Doug Coleman
30e34ca616
bignum: Fix bignum_gcd algorithm from overwriting the wrong bignum memory. Add GC_BIGNUM to prevent gc crashes. Fixes #599 .
2012-08-02 17:16:03 -07:00
John Benediktsson
426c449ee1
vm: adding more GC_BIGNUM to WIN64 path. See #599 .
2012-08-02 17:04:22 -07:00
Doug Coleman
106ecdb6dd
compaction: Less than is the new greater than. Fixes #558 .
2012-07-25 17:57:50 -07:00
Doug Coleman
1a9caec368
Config.macosx: first two digits of 'xcodebuild -version' number is enough; throw away rest of version number.
...
$ xcodebuild -version
Xcode 4.3.3
Build version 4E3002
Fixes #543 .
2012-06-22 15:23:07 -07:00
Doug Coleman
e9ec95ad4f
compaction: Inifnite headaches--cured! Two compact functions, one was not like the other.
2012-05-27 18:26:03 -07:00
Doug Coleman
c577a5468e
vm: Typo for SITE_CFLAGS. Fixes #491 .
2012-04-10 16:28:04 -07:00
John Benediktsson
5794ab46a0
vm: use euclid gcd on win64 until we find a better way to do the 128-bit math.
2012-04-06 11:42:59 -07:00
John Benediktsson
eb556bfb06
vm: use twodigit type for all variables (fixes 32-bit warning).
2012-04-06 09:36:25 -07:00
Doug Coleman
4a29dafcdf
vm/Config: GNUMakefile doesn't actually put the CFLAGS on the command, so use SITE_CFLAGS instead. Put -m32 in Config.x86.32, -m64 in Config.x86.64. Fixes #488 .
2012-04-05 10:26:50 -07:00
John Benediktsson
22c26ff3f5
vm: adding bignum_gcd primitive.
2012-04-05 09:17:35 -07:00
Joe Groff
3f9b2ef47a
use clang when building w/ xcode >4.3; it's faster
2012-02-18 23:40:38 -08:00
Joe Groff
b094d4d0ec
vm: actually code_block_pic is a fine frame type
2011-12-21 21:12:54 -08:00
Joe Groff
7121e0d598
vm: also smoke-check callstack after pic update
2011-12-21 18:31:37 -08:00
Joe Groff
0b72b811fc
vm: flush after print_obj so it's usable from gdb
2011-12-21 13:25:28 -08:00
Joe Groff
9f137c66d4
vm: fashion brigade
2011-12-21 13:25:05 -08:00
Joe Groff
442923b561
vm: walk stack on inline_cache_miss if PIC_DEBUG=1
...
Reveals inline cache stack coherency bug behind #460
2011-12-21 13:24:35 -08:00
Joe Groff
b6f323450f
vm: load mega cache object before popping frame
...
Fixes #457 harder
2011-12-20 14:38:01 -08:00
Joe Groff
f513894435
vm: unwind-native-frames is special
...
Fixes #457
2011-12-19 16:54:25 -08:00
Joe Groff
842eb27785
vm: cleanups
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
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
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
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