Joel Dice
a69c366d07
save 'this' pointer on entrance to synchronized, non-static, non-native methods so we can release the monitor on exit, reguardless of whether the pointer at local index zero is overwritten
2008-01-20 11:55:08 -07:00
Joel Dice
e9826b2d7f
accept foo.bar.Baz as well as foo/bar/Baz in FindClass
2008-01-19 13:30:11 -07:00
Joel Dice
ee60d48cfe
fix subtle bug in hashMapInsert which caused us to update the old array previously associated with the hash map, whereas a GC causes the table to be resized when a weak reference is removed and thus a new array used
2008-01-19 13:12:16 -07:00
Joel Dice
f4e1473772
update vm.pro to protect system classes from obfuscation and preserve java.lang.SystemClassLoader
2008-01-18 18:51:37 -07:00
Joel Dice
d97fab6036
comment out some debugging log messages
2008-01-18 18:49:30 -07:00
Joel Dice
c894543806
add proguard include file to support minimal classpaths
2008-01-18 17:56:12 -07:00
Joel Dice
35160e46d8
don't include embedded boot classpath in libvm.a, only the executable
2008-01-18 17:54:36 -07:00
Joel Dice
bb701f309c
implement StringBuffer.append(boolean)
2008-01-18 16:16:24 -07:00
Joel Dice
88a8e74a53
fix register to memory mov1 implementation
2008-01-18 15:01:50 -07:00
Joel Dice
dc6c7e9121
use more conventional os.name properties
2008-01-18 08:35:20 -07:00
Joel Dice
e2fc8a62c7
permit state transitions from idle to exclusive
2008-01-17 18:47:32 -07:00
Joel Dice
090cd8a209
re-enter active state before throwing exception in wait()
2008-01-17 18:32:07 -07:00
Joel Dice
9ad00d0ea3
remove unused function and add some thread state assertions
2008-01-17 18:27:44 -07:00
Joel Dice
7252fdcbf3
enter active state immediately upon entry to Release*ArrayElements
2008-01-17 18:26:46 -07:00
Joel Dice
81dde8bdbb
fix thinko in CallLongMethodV
2008-01-17 17:56:55 -07:00
Joel Dice
9a13df3024
fix marshalling return values when calling java methods from native code
2008-01-17 12:55:05 -07:00
Joel Dice
7a7c36f8e0
another attempt to whip Monitor::wait into shape
2008-01-16 15:17:28 -07:00
Joel Dice
bb85f5c94d
fix wait/notify regression introduced in last commit
2008-01-16 14:58:27 -07:00
Joel Dice
6ba7852a62
tweak System::Monitor::wait to avoid notify deadlock
2008-01-16 13:46:39 -07:00
Joel Dice
f5f7b01689
remove extern "C" modifier from vmPrintTrace definition
2008-01-16 10:48:14 -07:00
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