Commit Graph

146 Commits

Author SHA1 Message Date
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