Joel Dice
d5f4811b43
check for exception after calling resolveClass in parseInterfaceTable
2009-08-04 08:50:04 -06:00
Joel Dice
f8bf83bfec
fix recent regression in findInHierarchy
2009-08-04 08:42:16 -06:00
Joel Dice
aa6e3048b3
set os.arch property in Avian_gnu_classpath_VMSystemProperties_preInit
2009-08-03 16:18:41 -06:00
Joel Dice
9f2abd5d8a
fix out-of-date JNI method implementations to reflect newer static field table layout
2009-08-03 16:18:16 -06:00
Joel Dice
cb563f76e1
check superinterfaces when looking up methods and fields
2009-08-03 16:16:41 -06:00
Joel Dice
4ae3a1267a
remove unused method
2009-08-03 16:16:01 -06:00
Joel Dice
c3a8ca505c
avoid function pointer cast warning from GCC 3.4
2009-08-03 10:56:43 -06:00
Joel Dice
ad0592df6f
print class name properly when throwing NoSuchMethodError
2009-07-29 10:32:16 -06:00
Joel Dice
7060a5d4f0
clear Machine::byteArrayMap before generating boot image since it will not be used when the image is loaded
2009-07-28 17:22:07 -06:00
Joel Dice
1b8777aa6b
free correct object in Context::dispose
2009-07-28 17:20:23 -06:00
Joel Dice
7b183e8f4e
don't run Java finalizers when exiting the VM
2009-07-28 16:58:01 -06:00
Joel Dice
14e73560bb
fix order of operations in vmJump
2009-07-27 18:09:25 -06:00
Joel Dice
ad66ae2691
disable debug logging
2009-07-27 18:09:12 -06:00
Joel Dice
0447d9bed3
use __MINGW32__ instead of __WINDOWS__ in x86.cpp and assume Linux if it's not defined
2009-07-27 07:49:54 -06:00
Joel Dice
27d863790c
Merge branch 'win64' into gnu
...
Conflicts:
makefile
src/compile-x86.S
src/x86.S
src/x86.cpp
2009-07-25 20:48:36 -06:00
Joel Dice
f869e5be21
Merge branch 'master' into gnu
...
Conflicts:
classpath/java/util/TreeSet.java
2009-07-25 18:38:57 -06:00
Joel Dice
d3a249a3fa
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-07-25 18:36:27 -06:00
Joel Dice
08e9a99cb5
don't abort if pthread_kill fails in MySystem::visit
2009-07-24 19:03:33 -06:00
Joel Dice
cc3289d88a
call pthread_kill unconditionally in Thread::interrupt() to ensure system calls such as epoll_wait are interrupted
2009-07-23 16:17:52 -06:00
Joel Dice
77f1bddce2
Revert "add avian.commit system property"
...
This reverts commit ed5be83467
.
2009-07-22 10:45:38 -06:00
Joel Dice
ed5be83467
add avian.commit system property
2009-07-22 10:38:32 -06:00
Joel Dice
3787985b25
implement basic finalization support
...
This implementation does not conform to the Java standard in that
finalize methods are called from whichever thread happens to be garbage
collecting, and that thread may hold locks, whereas the standard
guarantees that finalize will be run from a thread which holds no locks.
Also, an object will never be finalized more than once, even if its
finalize method "rescues" (i.e. makes reachable) the object such that it
might become unreachable a second time and thus a candidate for
finalization once more. It's not clear to me from the standard if this
is OK or not.
Nonwithstanding the above, this implementation is useful for "normal"
finalize methods which simply release resources associated with an
object.
2009-07-21 18:57:55 -06:00
Joel Dice
afdab27e02
backport GC safety fixes from gnu branch
2009-07-20 14:32:25 -06:00
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