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
Eric Scharff
f4347dee70
Implement dummy JNI GetVersion
2009-06-22 16:25:13 -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
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
98be5c509e
more progress towards GNU Classpath compatibility
2009-06-03 16:17:55 -06:00
Joel Dice
a4d4db8eb4
fix cygwin/msys bootimage build
2009-06-01 12:12:29 -06:00
Joel Dice
364f31b785
finish initial sketch of dynamicWind implementation
2009-05-23 19:49:14 -06:00
Joel Dice
8cb59c9d4c
various bugfixes to get Continuations test working
2009-05-16 02:03:03 -06:00
Joel Dice
eb3bd25aa1
code cleanup and build fixes
2009-05-04 19:04:17 -06:00
Joel Dice
0cd4eb2655
early sketch of continuation support
2009-05-03 14:57:11 -06:00
Joel Dice
fea92ed995
more work on tail recursion
...
We now create a unique thunk for each vtable position so as to avoid
relying on using the return address to determine what method is to be
compiled and invoked, since we will not have the correct return address
in the case of a tail call. This required refactoring how executable
memory is allocated in order to keep AOT compilation working. Also, we
must always use the same register to hold the class pointer when
compiling virtual calls, and ensure that the pointer stays there until
the call instruction is executed so we know where to find it in the
thunk.
2009-04-05 15:42:10 -06:00
Joel Dice
d1018bf078
update copyright years
2009-03-15 12:02:36 -06:00
Joel Dice
6e6035505c
zero heap space ahead of time when allocating raw storage and garbage collecting, not when allocating individual objects
...
This helps us support the Java Memory Model without adding a memory
barrier to every object allocation. It's also potentially more
efficient, since we zero out each heap segment all at once instead of
bit-by-bit with each object allocation.
2009-03-03 20:05:48 -07:00
Joel Dice
2ca8132d97
implement support for volatile fields
2009-03-02 20:18:15 -07:00
Joel Dice
a1ec71423e
Merge branch 'master' into powerpc
...
Conflicts:
makefile
src/assembler.h
src/binaryToMacho.cpp
src/compile.cpp
src/compiler.cpp
src/x86.cpp
2009-02-09 16:22:01 -07:00
Joel Dice
25ade1484a
lots of bugfixes and refactoring
2008-12-01 19:38:00 -07:00
Joel Dice
eaf30eb909
fix static class initialization when using a boot image
2008-11-29 21:58:09 -07:00
Joel Dice
61ecb56e21
Merge branch 'master' of oss:/var/local/git/avian into powerpc
2008-11-25 16:19:21 -07:00
Joel Dice
035aa0ecd4
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian into bootimage
...
Conflicts:
src/compile.cpp
src/machine.h
src/util.h
2008-11-23 17:02:34 -07:00
Joel Dice
6162dfafbb
increase heap pool size and fixed footprint threshold constants based on performance profiling and experimentation (second try)
2008-11-22 14:48:10 -07:00
Joel Dice
8a7852172e
increase heap pool size and fixed footprint threshold constants based on performance profiling and experimentation
2008-11-22 14:47:18 -07:00
Joel Dice
6500f1eff6
initial work to support boot image creation and use
2008-11-21 16:20:35 -07:00
Joel Dice
c80eb51c17
Merge branch 'master' into powerpc
...
Conflicts:
makefile
src/assembler.h
src/compile.cpp
src/compiler.cpp
src/compiler.h
src/finder.cpp
2008-11-11 08:21:48 -07:00
Joel Dice
6f1d02dae7
remove the libstdc++ dependency once and for all
...
The trick is to make all destructors non-virtual. This is safe because
we never use the delete operator, which is the only case where virtual
destructors are relevant. This is a better solution than implementing
our own delete operator, because we want libraries loaded at runtime to
use the libstdc++ version, not ours.
2008-10-28 15:40:50 -06:00
Joel Dice
4d613f404f
use dbghelp.dll to generate crash dump file on Windows XP and later
...
The dump is written to the directory specified via the avian.crash.dir
system property if that property is set and is not written otherwise.
2008-10-27 15:13:27 -06:00
Joel Dice
003afdc918
fix heap dump facility to visit all roots
2008-10-24 18:48:10 -06:00
Joel Dice
6a5116e7a7
implement primitive heap dump facility for memory profiling, accessible via Runtime.dumpHeap
...
The proper way to do this is to implement a subset of JVMTI, but this
will do the job for now.
2008-10-21 17:38:20 -06:00
Joel Dice
1657fb794c
support logging addresses and names of JIT-compiled methods to a file specified via a system property
2008-09-19 11:34:37 -06:00
Joel Dice
4a022147cd
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian into powerpc
2008-08-16 12:56:41 -06:00
Joel Dice
c8cc7d931b
maintain a table to look up methods called via JNI
...
This simplifies the JNI implementation for looking up methods. It also
fixes a bug where an applications calls GetStaticMethodID with class A
and then calls CallStatic<Type>Method with class B which extends A. The
old code would look in the wrong method table and thus call the wrong
method.
2008-08-15 12:32:33 -06:00
Joel Dice
2343483d8e
Merge branch 'master' of oss:/var/local/git/avian into powerpc
2008-07-13 12:47:49 -06:00
Joel Dice
23043d140f
snapshot
2008-07-05 14:21:13 -06:00
Joel Dice
0f94bea5a6
fix stress test breakage when throwing ArrayIndexOutOfBoundsExceptions
2008-06-27 09:09:14 -06:00
Joel Dice
61e65098df
use virtual dispatch when calling Thread.run from VM
2008-06-25 10:28:11 -06:00
Joel Dice
8512d6c74c
Merge branch 'master' of oss:/var/local/git/avian into powerpc
2008-06-23 17:38:16 -06:00
Eric Scharff
2bfe6f0d13
Ensure we align the stack before any time we might enter a C function from
...
generated code
2008-06-16 10:55:29 -06:00
dicej
04724b657d
hello, world!
2008-06-15 14:17:52 -06:00
dicej
fb6624b9ae
add cfm_vectors to JNIEnvVTable to match jni.h on OSX
2008-06-15 12:51:04 -06:00
Joel Dice
ebb498587f
enter exclusive state in collect function instead of requiring caller to enter that state before calling
2008-05-05 07:04:53 -06:00
Joel Dice
18d25468fe
optimize common case of setting a single object field so we don't acquire the heap lock unnecessarily
2008-04-23 18:08:24 -06:00
Joel Dice
df5258d1d8
various bugfixes concerning Thread.getStackTrace
2008-04-21 16:36:13 -06:00
Joel Dice
0d3e6b7793
simplify memory allocation interfaces
2008-04-13 12:15:04 -06:00
Joel Dice
f7a79f4874
fix frame object map size calculations
2008-04-11 15:00:18 -06:00
Joel Dice
2d6eebf4d1
more progress on general stack tracing
2008-04-09 13:08:13 -06:00
Joel Dice
3915371897
Merge branch 'master' of oss:/var/local/git/avian into dynamic
2008-04-02 06:58:19 -06:00
Joel Dice
6379f50d35
fix thinko in stringChars
2008-04-02 06:57:25 -06:00
Joel Dice
0aebe334b3
Merge branch 'master' of oss:/var/local/git/avian into dynamic
2008-04-01 17:25:18 -06:00
Joel Dice
08b401f337
implement GetStringLength, GetStringChars, and ReleaseStringChars
2008-04-01 17:24:43 -06:00