check for stack overflow on entry to all non-leaf methods

We now check for stack overflow in the JIT build as well as the
interpreted build, throwing a StackOverflowError if the limit
(currently hard-coded to 64KB, but should be easy to make
configurable) is exceeded.
This commit is contained in:
Joel Dice
2010-12-19 15:23:19 -07:00
parent cac2d2cac5
commit d18240cbd6
8 changed files with 152 additions and 25 deletions

View File

@ -30,7 +30,7 @@ const unsigned HeapCapacity = 768 * 1024 * 1024;
// One of the advantages of a bootimage-based build is that reduces
// the overhead of major GCs at runtime since we can avoid scanning
// the pre-built heap image entirely. However, this only works if we
// can ensure that no part of the heap image (with an exception noted
// can ensure that no part of the heap image (with exceptions noted
// below) ever points to runtime-allocated objects. Therefore (most)
// references in the heap image are considered immutable, and any
// attempt to update them at runtime will cause the process to abort.