Joel Dice
758325ae27
convert methods in builtin.cpp to use fast native calling convention
2009-05-25 20:02:25 -06:00
Joel Dice
4305fdc7f3
begin dynamicWind implementation
2009-05-23 16:15:06 -06:00
Joel Dice
8cb59c9d4c
various bugfixes to get Continuations test working
2009-05-16 02:03:03 -06:00
Joel Dice
66c4867f18
more work on continuation support
2009-05-05 18:29:05 -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
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
Eric Scharff
13a535d1c6
Added a getContentLength() method to URLConnection
...
This is particularly important if you want to get the number of bytes of a
resource loaded by the class loader:
getClass().getResource("myFile").openConnection().getContentLength()
2008-07-15 09:36:52 -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
df5258d1d8
various bugfixes concerning Thread.getStackTrace
2008-04-21 16:36:13 -06:00
Joel Dice
95e5f8203c
enter active state before generating stack trace in Thread.getTrace
2008-04-15 23:27:42 -06:00
Joel Dice
0d3e6b7793
simplify memory allocation interfaces
2008-04-13 12:15:04 -06:00
Joel Dice
d9ec8e20bf
implement Thread.getStackTrace, activeCount, and enumerate
2008-04-11 16:48:39 -06:00
Joel Dice
fbc5463fb1
specify Avian version via a macro defined in makefile
2008-03-06 13:30:26 -07:00
Joel Dice
85abd14137
change avium.version to avian.version
2008-02-20 08:13:15 -07:00
Joel Dice
2edaa82801
prepend copyright notice and license to all source files; add license.txt and readme.txt
2008-02-19 11:06:52 -07:00
Joel Dice
34cc390286
fix uninitialized variable warning
2008-01-29 10:02:58 -07:00
Joel Dice
d693393293
remove Machine::lastLibrary and rename firstLibrary to libraries
2008-01-29 08:19:15 -07:00
Joel Dice
e403a625d1
second try to fix library symbol lookup
2008-01-25 16:38:26 -07:00
Joel Dice
35ada0ea65
search libraries for symbols in the order they are loaded
2008-01-25 16:25:30 -07:00
Joel Dice
e2fc8a62c7
permit state transitions from idle to exclusive
2008-01-17 18:47:32 -07:00
Joel Dice
2f83468b80
remove context argument from Allocator::tryAllocate and Allocator::allocate, since we aren't using it after all
2008-01-14 16:37:24 -07:00
Joel Dice
0298865efa
refactor memory allocation to allow better detection and handling of low-memory conditions
2008-01-13 15:05:08 -07:00
Joel Dice
8e5ce11047
refactor memory management code
...
We now support immortal objects, which the GC will scan for references
but not consider for collection. On x86_64, we allocate JIT code memory
via mmap, which lets us map memory into the bottom 2GB of the address
space, ensuring that 32-bit relative jumps and calls work.
2008-01-09 18:20:36 -07:00
Joel Dice
796a64a426
lots of JIT bugfixes and cleanups
2007-12-15 17:24:15 -07:00
Joel Dice
466c958d2b
implement persistent red-black tree in util.cpp based on PersistentSet.java
2007-11-26 18:40:47 -07:00
Joel Dice
49ed41daa0
refactor stack walking interface in processor.h and sketch stack walking implementation in compile2.cpp
2007-11-25 16:00:55 -07:00
Eric Scharff
7f33b7371b
Factored JNIEXPORT into one place. Adopted the visbility attribute that
...
should allow strip to work on Mac OS X
2007-11-01 14:00:22 -06:00
Joel Dice
75d4a4ff96
implement a few classpath methods required by SWT for Win32
2007-10-29 14:57:33 -06:00
Joel Dice
60072b9fdc
implement fixed object support
2007-10-27 19:54:30 -06:00
Joel Dice
e892f1bff5
refactor System.getProperty() to reduce coupling with native code
2007-10-26 12:13:21 -06:00
Joel Dice
b12b779c7f
add support for passing properties to the VM via JNI; use vm.builtins property to specify builtin libraries
2007-10-25 12:33:43 -06:00
Joel Dice
eaf1d205cd
more windows port fixes
2007-10-24 11:24:19 -06:00
Joel Dice
5bfd90cfed
more system-specific tweaks for windows port
2007-10-24 10:24:02 -06:00
Joel Dice
c3300948bf
fix a few threading bugs in windows port
2007-10-23 16:21:28 -06:00
Joel Dice
eb4cea6291
more work on the windows port; we now have some tests passing
2007-10-23 14:05:59 -06:00
Joel Dice
3e84d4438a
revise signatures of mark() and set() to take a target object and offset instead of a target object reference, paving the way for immovable objects
2007-10-22 11:22:30 -06:00
Joel Dice
5f6258045e
implement various floating point instructions; fix Floats.java to actually test something
2007-10-15 13:12:38 -06:00
Joel Dice
f58c6ef4e8
mark destination object array in System.arraycopy() if it resides in the tenured heap
2007-10-13 15:47:45 -06:00
Joel Dice
feeaecbfd8
more work on JIT unwinding
2007-10-04 16:41:19 -06:00
Joel Dice
79603e284d
sketch of Compiler.compileNative() and ifnull instruction implementation
2007-09-28 17:41:03 -06:00
Joel Dice
37ccb6cb46
Merge branch 'master' of dice:git/vm
2007-09-27 16:21:00 -06:00
Joel Dice
bd95ccdbd6
clear object header flags after copying array in Object.clone()
2007-09-27 16:10:29 -06:00
Eric Scharff
2ae6aa7ddf
Fix System.arraycopy when the source and dest are the same
2007-09-27 15:06:56 -06:00
Joel Dice
770e48c197
make Object.clone() work for arrays
2007-09-26 13:45:52 -06:00
Joel Dice
1c90708abf
bugfixes for recent refactoring effort
2007-09-24 07:46:48 -06:00
Joel Dice
8d983c8a39
refactoring effort to pave the way for JIT compilation
2007-09-23 19:39:03 -06:00
Eric Scharff
f430f3f00e
Various fixes (mostly making things more strict) to get the code to
...
compile on Mac OS X
2007-09-19 10:22:19 -06:00
Joel Dice
49a3c08cc9
use dlopen()/dlsym() to resolve builtin JNI methods
2007-09-18 17:30:09 -06:00
Joel Dice
b88438d2fd
sketch of JAR support in Finder
2007-09-16 18:13:36 -06:00
Joel Dice
7cb3a30a91
sketch of Runtime.exec() and Calendar; misc bugfixes
2007-09-12 18:21:37 -06:00
Joel Dice
cb03240c64
quick sketches of various SWT 3.3 dependencies
2007-09-11 19:13:05 -06:00
Joel Dice
bd4d9fdeb2
several things: change object typedef to Object* instead of void* to improve type safety; add JNICALL attributes to JNI functions; implement additional JavaVM methods
2007-09-06 18:21:52 -06:00
Joel Dice
b8de552797
re-implement System.getProperty to separate vm-specific properties from others
2007-08-27 07:46:17 -06:00
Joel Dice
256bcf04e0
fix Method.invoke() to handle polymorphism properly
2007-08-22 21:30:37 -06:00
Joel Dice
57d57ff7bf
use identity hash code in Object.toString()
2007-08-21 22:02:17 -06:00
Joel Dice
e2f3e80bdf
heap o' bugfixes
2007-08-19 20:57:32 -06:00
Joel Dice
7a340fd8fb
bugfixes
2007-08-19 14:24:26 -06:00
Joel Dice
59638543c7
various performance tweaks and bugfixes
2007-08-19 13:45:51 -06:00
Joel Dice
aa5e751e69
clean up Array.get(), Array.set(), and Method.invoke() implementations
2007-08-18 11:53:30 -06:00
Joel Dice
d169e4eadf
clean up Field.get() and Field.set() implementations
2007-08-18 11:15:03 -06:00
Joel Dice
f22dda0df1
bugfixes
2007-08-14 19:14:55 -06:00
Joel Dice
d0e519d992
bugfixes
2007-08-13 19:44:47 -06:00
Joel Dice
c20219df19
flesh out serialization/deserialization code and fix build
2007-08-12 18:50:25 -06:00
Joel Dice
d3931b4853
flesh out resource URL scheme implementation
2007-08-10 17:45:47 -06:00
Joel Dice
1997ea6b8c
acquire class lock before running static initializer; wrap exceptions thrown from static initializers in ExceptionInInitializerError instances
2007-08-01 17:48:36 -06:00
Joel Dice
38d4ee6e07
flesh out ClassLoader, etc.
2007-07-30 17:19:05 -06:00
Joel Dice
da692a539f
inherit thread locals at thread creation time, not start time
2007-07-29 19:27:42 -06:00
Joel Dice
a2bd7d0668
GC stress fixes and other bugfixes; classpath progress
2007-07-29 17:32:23 -06:00
Joel Dice
c96a4a5b39
implement String.intern()
2007-07-28 18:02:32 -06:00
Joel Dice
0e373727a2
implement Thread.interrupt()
2007-07-28 15:28:25 -06:00
Joel Dice
abd9c2bc8d
fix primitive class resolution to avoid mistaking normal classes with names like 'B' for primitive classes
2007-07-28 10:55:24 -06:00
Joel Dice
41bee5829e
misc. bugfixes and tweaks
2007-07-28 10:10:13 -06:00
Joel Dice
363801af1c
classpath progress
2007-07-27 17:56:19 -06:00
Joel Dice
c9f9b039e6
classpath progress
2007-07-26 20:39:53 -06:00
Joel Dice
7212ba1c30
java/io bugfixes and coverage; jni bugfixes; minor refactoring
2007-07-26 18:06:05 -06:00
Joel Dice
9ab88ef619
a static jni method takes the jclass for that method as its second argument; simplify pad() and divide(), and rename divide() to ceiling(); sketch FileInputStream.cpp and FileOutputStream.cpp
2007-07-25 18:48:28 -06:00
Joel Dice
823d764998
working reflection
2007-07-23 21:16:59 -06:00
Joel Dice
5f3bf175e0
start work on reflection; bugfixes
2007-07-23 19:44:20 -06:00
Joel Dice
472ecb1713
flesh out some classpath classes
2007-07-22 13:06:21 -06:00
Joel Dice
da17490206
fun with collections
2007-07-21 21:47:08 -06:00
Joel Dice
90d60b3459
more classpath classes
2007-07-21 16:36:51 -06:00
Joel Dice
fd770fd884
sketch a few more classpath classes
2007-07-21 14:44:39 -06:00
Joel Dice
48226f988c
add a bunch of classes to classpath and flesh out a few existing ones
2007-07-21 11:50:26 -06:00
Joel Dice
0f7a2137bf
factor system.cpp and class-finder.cpp out of main.cpp
2007-07-20 08:36:31 -06:00
Joel Dice
de9213ce30
finish java/lang/ref/* support; add wrapper classes for primitives
2007-07-19 21:18:25 -06:00
Joel Dice
6dec1cbd42
fix various bugs uncovered in GC stress test
2007-07-16 17:58:37 -06:00
Joel Dice
3121002ffd
implement Throwable.resolveTrace(); bugfixes
2007-07-14 12:37:04 -06:00
Joel Dice
2df8a60a78
support object arrays of various element types and dimensions; clean up weak hash map support
2007-07-14 11:31:01 -06:00
Joel Dice
0099aa396b
make builtin class type a bootstrap version of java/lang/Class
2007-07-12 17:46:08 -06:00
Joel Dice
93748f2df9
heap o' bugfixes
2007-07-10 19:38:06 -06:00
Joel Dice
b70e4b368f
sketch of finalizer/weak reference overhaul; type generator bugfixes involving array member layout
2007-07-09 19:43:43 -06:00
Joel Dice
a77693fb29
snapshot; known bug: finalizers and weak references don't work correctly wrt tenured objects
2007-07-07 19:06:32 -06:00
Joel Dice
f71c77298c
bugfixes
2007-07-07 17:47:35 -06:00
Joel Dice
e5bea7a455
progress on thread support
2007-07-07 12:09:16 -06:00
Joel Dice
3bd267b47a
more refactoring
2007-07-06 17:50:26 -06:00