Commit Graph

2453 Commits

Author SHA1 Message Date
e9ee4a618c implement Avian_java_lang_VMClassLoader_defineClass 2009-08-04 18:27:04 -06:00
d5f4811b43 check for exception after calling resolveClass in parseInterfaceTable 2009-08-04 08:50:04 -06:00
f8bf83bfec fix recent regression in findInHierarchy 2009-08-04 08:42:16 -06:00
aa6e3048b3 set os.arch property in Avian_gnu_classpath_VMSystemProperties_preInit 2009-08-03 16:18:41 -06:00
9f2abd5d8a fix out-of-date JNI method implementations to reflect newer static field table layout 2009-08-03 16:18:16 -06:00
cb563f76e1 check superinterfaces when looking up methods and fields 2009-08-03 16:16:41 -06:00
4ae3a1267a remove unused method 2009-08-03 16:16:01 -06:00
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