1479 Commits

Author SHA1 Message Date
Joel Dice
514d0bf7e5 fix deadlocks and other misbehaviors in class initialization code 2009-07-20 14:12:38 -06:00
Joel Dice
9975a556fa implement VMRuntime.exit 2009-07-20 14:11:41 -06:00
Joel Dice
138f8444df Merge branch 'master' into gnu 2009-07-20 08:27:33 -06:00
Joel Dice
8662361f71 Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2009-07-20 08:27:17 -06:00
Joel Dice
d12b441aa1 restore state from subroutine after jsr to avoid later confusion determining basic block boundaries 2009-07-20 08:26:01 -06:00
Joel Dice
47ab980550 fix thread heap overflow corner case in allocate3
The previous code relied on the invalid assumption that the thread-local
heaps for all threads would have been cleared immediately following a
garbage collection.  However, the last thing the garbage collection
function does is run finalizers which may allocate new objects.  This
can lead allocate3 to call allocateSmall with a size which is too large
to accomodate, overflowing the heap.

The solution is to iterate until there really is enough room for the
original allocation request.
2009-07-17 19:37:46 -06:00
Joel Dice
3e4336eba4 rearrange finalization code in collect to avoid inifinite recursion when finalizer allocates memory 2009-07-17 09:29:24 -06:00
Joel Dice
9c9eb86b2f fix deadlock in allocate3 when another thread wants to enter the exclusive state 2009-07-16 11:51:35 -06:00
Joel Dice
5f6f8039e6 various bugfixes in subroutine stack mapping code 2009-07-13 17:49:15 -06:00
Joel Dice
e72ff8db0b Merge branch 'master' into gnu
Conflicts:

	src/compile.cpp
2009-07-11 12:11:59 -06:00
Joel Dice
ab5ba9c954 Merge branch 'master' of oss.readytalk.com:/var/local/git/avian 2009-07-10 09:57:29 -06:00
Joel Dice
30c7107aa3 enable DebugAllocation in heap.cpp when NDEBUG is not defined 2009-07-10 08:42:56 -06:00
Joel Dice
22852dcffa fix GC safety bug when walking stack 2009-07-10 08:33:38 -06:00
Joel Dice
c22b4b4e79 various subroutine handling bugfixes 2009-07-08 08:18:40 -06:00
Joel Dice
dae7b68d5c avoid indexing past the end of the array in makeSimpleFrameMapTable 2009-06-30 17:35:28 -06:00
Joel Dice
562e1e10a8 fix regression in MyCompiler::startLogicalIp 2009-06-30 17:33:54 -06:00
Joel Dice
b308354a3a handle subroutines properly when generating frame maps (initial sketch) 2009-06-26 15:36:04 -06:00
Eric Scharff
f4347dee70 Implement dummy JNI GetVersion 2009-06-22 16:25:13 -06:00
Joel Dice
7ed14948b9 re-initialize frame maps for exception handlers on every iteration of the frame map calculation loop
This fixes incorrect frame map calcuation which may lead to crashes
during garbage collection from an exception handler.
2009-06-16 13:41:31 -06:00
Joel Dice
a21f951e29 consider an instruction reachable if it has no predecessors (i.e. it's the first instruction 2009-06-12 09:45:29 -06:00
Joel Dice
31976f585a add DebugAllocation option to heap.cpp to help detect allocation and deallocation errors 2009-06-11 17:23:02 -06:00
Joel Dice
e1c7504eda attempt to flush the compile log (if any) before crashing in SegFaultHandler::handle 2009-06-11 17:14:54 -06:00
Joel Dice
525318dabb fix GC safety bug in builtin.cpp 2009-06-11 17:13:25 -06:00
Joel Dice
1d58541c87 generate full memory dump on unhandled exception in windows.cpp 2009-06-11 13:41:13 -06:00
Josh warner
f773c9e610 fixed xul deadlock bug on linux 2009-06-11 09:52:13 -06:00
Josh warner
6bca8fcefc added support for windows-x86_64 2009-06-11 09:48:27 -06:00
Josh warner
16fee943e6 added debugging method 'vmAddressFromLine' 2009-06-11 09:45:35 -06:00
Josh warner
9681a8a1ff added debugging method 'vmAddressFromLine' 2009-06-11 09:44:37 -06:00
Josh warner
862c37f9ad added support for windows-x86_64, changed exception handling to use vectored exception handling on 64 bit windows 2009-06-11 09:43:04 -06:00
Josh warner
73fa0e0b0d added support for windows-x86_64 2009-06-11 09:42:07 -06:00
Josh warner
53da167116 refactored code, added support for upper 8 registers on x86-64 and windows-x86_64 2009-06-11 09:40:50 -06:00
Josh warner
ad33a7800f changed dynamicCall definition for 64 bit windows 2009-06-11 09:39:46 -06:00
Josh warner
788e34936c fixed 64-bit windows printf formatters 2009-06-11 09:38:20 -06:00
Joel Dice
f239424930 implement NewDirectByteBuffer etc. properly when building against Classpath; call JNI_OnLoad if found in newly-loaded libraries 2009-06-10 18:15:00 -06:00
Joel Dice
20ea82ec2e various tweaks for Classpath compatibility 2009-06-06 20:32:44 -06:00
Joel Dice
c1ca653fef intern CONSTANT_Utf8 pool entries to save memory and reduce bootimage size 2009-06-06 18:26:23 -06:00
Joel Dice
9cf0a42210 respect string offset in stringCharAt 2009-06-06 16:36:07 -06:00
Joel Dice
ac34bc072c remove obsolete todo comments 2009-06-06 14:58:06 -06:00
Joel Dice
6efeee49f8 include native Classpath code in libavian.a and the avian executable 2009-06-06 14:18:33 -06:00
Joel Dice
0857f53651 more progress on GNU Classpath compatibility 2009-06-04 17:21:42 -06:00
Joel Dice
4a87d82d8e fix GC safety bug in MyProcessor::initVtable 2009-06-04 17:20:55 -06:00
Joel Dice
db09adc0d4 allow copies between object arrays of different types in System.arraycopy 2009-06-04 17:19:48 -06:00
Joel Dice
98be5c509e more progress towards GNU Classpath compatibility 2009-06-03 16:17:55 -06:00
Joel Dice
0f6dbe35a7 add build option for using GNU Classpath 2009-06-02 18:55:49 -06:00
Joel Dice
ba5105c374 throw NoSuchMethodError in resolveMethod if method not found 2009-06-02 18:55:12 -06:00
Joel Dice
a4d4db8eb4 fix cygwin/msys bootimage build 2009-06-01 12:12:29 -06:00
Joel Dice
11e61543a3 fix bootimage build 2009-05-31 21:16:58 -06:00
Joel Dice
049f96bd1c Merge branch 'master' into fun 2009-05-31 17:25:34 -06:00
Joel Dice
c434f211e2 fix return type for Avian_java_lang_Object_hashCode 2009-05-31 17:19:18 -06:00
Joel Dice
ace985b390 fix native method lookup for fast calling convention on Windows 2009-05-31 14:41:07 -06:00