c3a8ca505c
avoid function pointer cast warning from GCC 3.4
2009-08-03 10:56:43 -06:00
ad0592df6f
print class name properly when throwing NoSuchMethodError
2009-07-29 10:32:16 -06:00
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
1b8777aa6b
free correct object in Context::dispose
2009-07-28 17:20:23 -06:00
7b183e8f4e
don't run Java finalizers when exiting the VM
2009-07-28 16:58:01 -06:00
14e73560bb
fix order of operations in vmJump
2009-07-27 18:09:25 -06:00
ad66ae2691
disable debug logging
2009-07-27 18:09:12 -06:00
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
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
f869e5be21
Merge branch 'master' into gnu
...
Conflicts:
classpath/java/util/TreeSet.java
2009-07-25 18:38:57 -06:00
d3a249a3fa
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-07-25 18:36:27 -06:00
08e9a99cb5
don't abort if pthread_kill fails in MySystem::visit
2009-07-24 19:03:33 -06:00
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
77f1bddce2
Revert "add avian.commit system property"
...
This reverts commit ed5be83467
.
2009-07-22 10:45:38 -06:00
ed5be83467
add avian.commit system property
2009-07-22 10:38:32 -06:00
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
afdab27e02
backport GC safety fixes from gnu branch
2009-07-20 14:32:25 -06:00
514d0bf7e5
fix deadlocks and other misbehaviors in class initialization code
2009-07-20 14:12:38 -06:00
9975a556fa
implement VMRuntime.exit
2009-07-20 14:11:41 -06:00
138f8444df
Merge branch 'master' into gnu
2009-07-20 08:27:33 -06:00
8662361f71
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-07-20 08:27:17 -06:00
d12b441aa1
restore state from subroutine after jsr to avoid later confusion determining basic block boundaries
2009-07-20 08:26:01 -06:00
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
3e4336eba4
rearrange finalization code in collect to avoid inifinite recursion when finalizer allocates memory
2009-07-17 09:29:24 -06:00
9c9eb86b2f
fix deadlock in allocate3 when another thread wants to enter the exclusive state
2009-07-16 11:51:35 -06:00
5f6f8039e6
various bugfixes in subroutine stack mapping code
2009-07-13 17:49:15 -06:00
e72ff8db0b
Merge branch 'master' into gnu
...
Conflicts:
src/compile.cpp
2009-07-11 12:11:59 -06:00
ab5ba9c954
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-07-10 09:57:29 -06:00
30c7107aa3
enable DebugAllocation in heap.cpp when NDEBUG is not defined
2009-07-10 08:42:56 -06:00
22852dcffa
fix GC safety bug when walking stack
2009-07-10 08:33:38 -06:00
c22b4b4e79
various subroutine handling bugfixes
2009-07-08 08:18:40 -06:00
dae7b68d5c
avoid indexing past the end of the array in makeSimpleFrameMapTable
2009-06-30 17:35:28 -06:00
562e1e10a8
fix regression in MyCompiler::startLogicalIp
2009-06-30 17:33:54 -06:00
b308354a3a
handle subroutines properly when generating frame maps (initial sketch)
2009-06-26 15:36:04 -06:00
f4347dee70
Implement dummy JNI GetVersion
2009-06-22 16:25:13 -06:00
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
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
31976f585a
add DebugAllocation option to heap.cpp to help detect allocation and deallocation errors
2009-06-11 17:23:02 -06:00
e1c7504eda
attempt to flush the compile log (if any) before crashing in SegFaultHandler::handle
2009-06-11 17:14:54 -06:00
525318dabb
fix GC safety bug in builtin.cpp
2009-06-11 17:13:25 -06:00
1d58541c87
generate full memory dump on unhandled exception in windows.cpp
2009-06-11 13:41:13 -06:00
f773c9e610
fixed xul deadlock bug on linux
2009-06-11 09:52:13 -06:00
6bca8fcefc
added support for windows-x86_64
2009-06-11 09:48:27 -06:00
16fee943e6
added debugging method 'vmAddressFromLine'
2009-06-11 09:45:35 -06:00
9681a8a1ff
added debugging method 'vmAddressFromLine'
2009-06-11 09:44:37 -06:00
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
73fa0e0b0d
added support for windows-x86_64
2009-06-11 09:42:07 -06:00
53da167116
refactored code, added support for upper 8 registers on x86-64 and windows-x86_64
2009-06-11 09:40:50 -06:00
ad33a7800f
changed dynamicCall definition for 64 bit windows
2009-06-11 09:39:46 -06:00
788e34936c
fixed 64-bit windows printf formatters
2009-06-11 09:38:20 -06:00