Commit Graph

715 Commits

Author SHA1 Message Date
Joel Dice
4571e75f7a add vmPrintTrace function which can print a Java stack trace without allocating memory 2008-01-16 10:30:12 -07:00
Joel Dice
86bdd48a66 when invoking Java methods from native code on 32-bit systems, push 32-bit halves of 64-bit values in reverse order since they are reversed again when pushed on the stack 2008-01-15 18:01:11 -07:00
Joel Dice
d1b4dfccd0 fix class cast exception message thinko 2008-01-15 16:33:20 -07:00
Joel Dice
37b33457c1 Merge branch 'master' of dice:git/vm 2008-01-14 16:37:41 -07:00
Joel Dice
2f83468b80 remove context argument from Allocator::tryAllocate and Allocator::allocate, since we aren't using it after all 2008-01-14 16:37:24 -07:00
Eric Scharff
fbec4bec83 Use non-standard MAP_ANON for memory mapping 2008-01-14 10:58:11 -07:00
Joel Dice
2d042616d0 Merge branch 'master' of dice:git/vm 2008-01-14 09:40:27 -07:00
Joel Dice
a89c22b493 force major collection under low memory condition 2008-01-14 09:39:57 -07:00
Joel Dice
029973943e increase max heap size to 128MB 2008-01-14 09:38:14 -07:00
Dain
faa3052b28 set MAP_32BIT for 32bit machines 2008-01-14 09:33:54 -07:00
Joel Dice
e4c1f6cc8f protect local variable from GC in findUnwindTarget 2008-01-14 09:33:26 -07:00
Joel Dice
0298865efa refactor memory allocation to allow better detection and handling of low-memory conditions 2008-01-13 15:05:08 -07:00
Joel Dice
e6aea41a88 make the default compilation mode 'fast' 2008-01-11 17:35:27 -07:00
Joel Dice
8df1118120 add a comment explaining our dummy libstdc++ functions 2008-01-11 17:34:57 -07:00
Joel Dice
48e532f8e9 add debug-fast compilation mode 2008-01-11 17:15:34 -07:00
Joel Dice
d1ec7cd0e8 remove debug logging 2008-01-11 15:19:44 -07:00
Joel Dice
f0d556b0ec fix handling of call target resolution for non-virtual calls 2008-01-11 15:16:24 -07:00
Joel Dice
a56c0ad2ef fix predicate used to determine whether to resolve address operands 2008-01-11 11:11:31 -07:00
Joel Dice
570925ad0e handle locking for synchronized native methods 2008-01-11 10:49:11 -07:00
Joel Dice
13fae991fd resolve address operands only when writing the final output 2008-01-11 09:44:16 -07:00
Joel Dice
c4fc933383 Merge branch 'master' of dice.ecovate.com:git/vm 2008-01-10 15:48:00 -07:00
Joel Dice
a9a0252209 add another test to Misc.java 2008-01-10 15:47:54 -07:00
Joel Dice
09a83e63b8 change mov to mov8 in return8 2008-01-10 15:41:57 -07:00
Joel Dice
a17cbf2880 fix reversed operand encoding for shift instructions 2008-01-10 14:56:08 -07:00
Joel Dice
4c938d496e fix 64-bit bitshifts on 32-bit systems 2008-01-10 13:47:55 -07:00
Joel Dice
15f627701b fix thinko in 8-byte shift operation implementations 2008-01-10 11:38:25 -07:00
Joel Dice
f75c9c8d33 fix build breakage in interpret.cpp 2008-01-10 10:36:07 -07:00
Eric Scharff
4bce07ea12 Adapt windows code to new memory management system (keep track of length
at time of memory free)
2008-01-10 10:31:13 -07:00
Joel Dice
13aaa14a41 use code allocator to allocate indirect caller 2008-01-09 18:51:58 -07:00
Joel Dice
8e5ce11047 refactor memory management code
We now support immortal objects, which the GC will scan for references
but not consider for collection.  On x86_64, we allocate JIT code memory
via mmap, which lets us map memory into the bottom 2GB of the address
space, ensuring that 32-bit relative jumps and calls work.
2008-01-09 18:20:36 -07:00
Joel Dice
633990b5fe force a major GC whenever the tenured fixed object footprint doubles 2008-01-09 08:21:58 -07:00
Joel Dice
1a79fc45df change jump offset asserts to expects 2008-01-08 17:30:55 -07:00
Joel Dice
96ddae1742 assert that jump offsets fit into 32-bit words 2008-01-08 17:23:10 -07:00
Joel Dice
e3be0d197e maintain memory ceiling for tenured fixed objects and use it to trigger a major GC when appropriate 2008-01-08 17:02:27 -07:00
Joel Dice
324744d525 makefile cleanups 2008-01-08 15:05:56 -07:00
Joel Dice
811fbf0ab9 don't try to compile a method twice if it was compiled as a side-effect of initializing a class 2008-01-08 14:23:49 -07:00
Joel Dice
cfc959a3d2 invoke static initializers more lazily 2008-01-08 12:36:34 -07:00
Joel Dice
551addc638 make array bounds checking optional; add comments describing stack mapping algorithm 2008-01-08 10:10:24 -07:00
Joel Dice
c8472c4d30 minimize state tracked by stack mapping algorithm 2008-01-08 08:24:57 -07:00
Joel Dice
ef06be3904 fix bad machine code generated for mov2 2008-01-07 18:33:49 -07:00
Joel Dice
6a314ee65d Merge branch 'master' of dice:git/vm 2008-01-07 16:30:51 -07:00
Joel Dice
74a7da3010 implement and8, or8, and xor8 for 32-bit systems 2008-01-07 16:30:45 -07:00
Eric Scharff
466c3bb06e Changes for signal contexts in Mac OS X 10.5 (Leopard) 2008-01-07 16:20:48 -07:00
Joel Dice
8dc674b3d2 remove redundant line in multianewarray 2008-01-07 16:09:55 -07:00
Joel Dice
72f7115323 add FORCE_ALIGN attribute to non-trivial functions called from Java land 2008-01-07 15:49:34 -07:00
Joel Dice
2cda000725 fix code ordering bug in compile() which caused us to calculate the stack map incorrectly; logging tweak 2008-01-07 15:04:53 -07:00
Joel Dice
259dd643e0 fix over-agressive state reset in state mapping code; logging tweaks 2008-01-07 14:32:41 -07:00
Joel Dice
25f12ca40a set Verbose=false 2008-01-07 10:16:41 -07:00
Joel Dice
888dce8f3c bugfixes and cleanups for new stack mapping code 2008-01-07 09:01:35 -07:00
Joel Dice
a755368add sketch of new stack mapping algorithm 2008-01-07 07:51:07 -07:00