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
8c18f27e89
avoid NPE in String.equalsIgnoreCase
2009-07-28 17:00:11 -06:00
Joel Dice
5b23ad3f40
remove unused inner class in Tree.java
2009-07-28 16:58:33 -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
d327f6ba5a
implement java.util.TreeMap
2009-07-25 15:41:43 -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
29858a5299
implement Selector.selectNow() and select()
2009-07-23 13:08:41 -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
jent
8335dc4297
Now using the CoreServices instead of the Carbon framework....this
...
allows for cocoa and future compatability
2009-07-02 03:30:05 -06:00
jent
8c3d65a835
Hopefully including the top carbon header will fix the issues we had
...
when we tried to include just Gestalt.h
2009-07-02 03:13:39 -06:00
jent
2639d94ebc
Commented out changes to avian till I can figure out why I can compile
...
using the deploy script, but no one else can
2009-07-02 02:24:25 -06:00
jent
3367ac88e3
Added in code to support os.version for Windows/Linux/OSX
...
The make file had to be modified to include the carbon framework in OSX
2009-07-01 09:13:01 -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
Eric Scharff
c3c06e4e0e
Fix mac build
...
Remove a compiler error by removing an unnecessary method
2009-06-19 13:43:57 -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