Commit Graph

1391 Commits (6a54d0d0f3f7ecc727a852881d3783810145c782)

Author SHA1 Message Date
Doug Coleman 6a54d0d0f3 compaction: Less than is the new greater than. Fixes #558. 2012-07-25 17:57:50 -07:00
Doug Coleman 6f7c2694e0 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 d3e7f4cff0 compaction: Inifnite headaches--cured! Two compact functions, one was not like the other. 2012-05-27 18:26:03 -07:00
Doug Coleman 1e4888e9fd vm: Typo for SITE_CFLAGS. Fixes #491. 2012-04-10 16:28:04 -07:00
John Benediktsson 965d8eca84 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 6e0e4d09dc vm: use twodigit type for all variables (fixes 32-bit warning). 2012-04-06 09:36:25 -07:00
Doug Coleman 23e00b9f85 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 629677b772 vm: adding bignum_gcd primitive. 2012-04-05 09:17:35 -07:00
Joe Groff db28f69997 use clang when building w/ xcode >4.3; it's faster 2012-02-18 23:40:38 -08:00
Joe Groff d0a42ec730 vm: actually code_block_pic is a fine frame type 2011-12-21 21:12:54 -08:00
Joe Groff da7c05a4b0 vm: also smoke-check callstack after pic update 2011-12-21 18:31:37 -08:00
Joe Groff a39b976bc1 vm: flush after print_obj so it's usable from gdb 2011-12-21 13:25:28 -08:00
Joe Groff 7ed8569018 vm: fashion brigade 2011-12-21 13:25:05 -08:00
Joe Groff 05bf24c5a4 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 cd9b3f26ee vm: load mega cache object before popping frame
Fixes #457 harder
2011-12-20 14:38:01 -08:00
Joe Groff 039224424a vm: unwind-native-frames is special
Fixes #457
2011-12-19 16:54:25 -08:00
Joe Groff e877ccfb37 vm: cleanups 2011-12-14 09:56:50 -08:00
Joe Groff 195974ff5f vm: don't scribble memory handling leaf signals 2011-12-14 09:56:50 -08:00
Joe Groff af989f533a 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 34a1257da8 vm: factor out word_stack_frame_size 2011-12-14 09:56:49 -08:00
Joe Groff 530db5fa95 vm: get rid of now-trivial innermost_stack_frame 2011-12-14 09:56:49 -08:00
Joe Groff 1c44a4e8ae simplify function prologs 2011-12-14 09:56:49 -08:00
Joe Groff c339bb9ccf vm: fix types after rebase 2011-12-14 09:56:49 -08:00
Joe Groff e56f2b5753 vm: replace remaining stack_frame-based logic 2011-12-14 09:56:49 -08:00
Joe Groff 9df2c107dc 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 e5f591c772 vm: remove iterate_callstack_object 2011-12-14 09:56:48 -08:00
Joe Groff 1ef3454e1a vm: callstack_reversed for callstack_to_array 2011-12-14 09:56:48 -08:00
Joe Groff 099559c191 remove iterate_callstack now that it's unused 2011-12-14 09:56:48 -08:00
Joe Groff b8e80ee900 vm: callstack_reversed in call_frame_scrubber 2011-12-14 09:56:48 -08:00
Joe Groff 841600fc6e 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 faa9b4ea3f vm: callstack_reversed in code_block_visitor 2011-12-14 09:56:48 -08:00
Joe Groff 00967b4931 vm: iterate_callstack_reversed in slot_visitor 2011-12-14 09:56:47 -08:00
Joe Groff 41f3190349 vm: reversed callstack iteration 2011-12-14 09:56:47 -08:00
Joe Groff 5926257d1e 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 f331766fc7 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 9bdeac9745 vm: don't suffer null return addresses 2011-12-14 09:56:46 -08:00
Joe Groff 8981fccbe8 vm: frame size for signal handler code blocks 2011-12-14 09:56:46 -08:00
Joe Groff b57d3af1d5 vm: initialize all_blocks set after initial fixup 2011-12-14 09:56:46 -08:00
Joe Groff 45ed3c4a56 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 12c569e3a7 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 14e0c9f482 vm: pack frame size into code block header bits 2011-12-14 09:56:45 -08:00
Joe Groff 9186a1bdf3 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 06a87c41d6 vm: erase code blocks from all_blocks during sweep
Fixes #437
2011-12-13 12:28:09 -08:00
Joe Groff 8f8873c859 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 857b52401c 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 f51e262e44 vm: add compact-gc command to factorbug 2011-12-12 19:03:42 -08:00
Joe Groff 88c0a0e2ea vm: fix msvc warning 2011-11-29 12:19:17 -08:00
Joe Groff 04d030ec25 vm: factor out embedded image detection code 2011-11-27 14:39:21 -08:00
Joe Groff 8b75193a57 vm: support self-executing image file 2011-11-27 12:37:54 -08:00
Joe Groff cb8c01faec vm: don't die if foreign thread gets async signal
Fixes #425
2011-11-23 11:26:42 -08:00