John Benediktsson
5d8ffbc23b
bignum: incorporate some fixes from @slavapestov.
2012-08-10 14:28:44 -07:00
John Benediktsson
ac8dfc7128
vm: make sure we zero out the end of the bignums.
2012-08-04 18:02:27 -07:00
John Benediktsson
e941e3c6d3
vm: a bit faster not to trim on each iteration...
2012-08-04 09:13:05 -07:00
John Benediktsson
2d1ad0cd03
vm: additional fix in bignum_gcd.
2012-08-03 21:50:48 -07:00
John Benediktsson
937cf547d9
vm: some fixes to fast bignum gcd.
2012-08-03 12:13:46 -07:00
John Benediktsson
925c0dd744
vm: fix updating size inside bignum_gcd loop.
2012-08-02 17:36:07 -07:00
Doug Coleman
745ac786a8
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
5e8ca2b046
vm: adding more GC_BIGNUM to WIN64 path. See #599 .
2012-08-02 17:04:22 -07:00
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