Joel Dice
17c1a552d5
break each Class, Field, and Method into separate classes
...
In order to facilitate making the VM compatible with multiple class
libraries, it's useful to separate the VM-specific representation of
these classes from the library implementations. This commit
introduces VMClass, VMField, and VMMethod for that purpose.
2010-09-01 10:13:52 -06:00
Joel Dice
6118792ffd
update copyright years
2009-12-02 19:08:29 -07:00
Joel Dice
953cb69e5e
move proxy and annotation code from C++ to Java
...
This allows code shrinkers to remove it if it's not used by the application.
2009-09-19 16:21:15 -06:00
Joel Dice
7aa906d97b
support runtime-visible annotations and java.lang.reflect.Proxy
2009-09-18 18:01:54 -06:00
Joel Dice
df1aee5981
replace slashes with dots in class name passed to Class.forName in Method.getParameterTypes
2009-08-11 09:25:05 -06:00
Joel Dice
58c3a37277
specify classloader when calling Class.forCanonicalName in Field and Method; tolerate null argument array in Method.invoke
2009-08-10 07:48:44 -06:00
Joel Dice
e18ab49f4d
always pass null instance to native version of Method.invoke when invoking static methods
2009-08-04 18:30:16 -06:00
Joel Dice
0615b8a09f
add classes and methods needed for GNU Classpath compatibility
...
Most of these methods are stubs which throw
UnsupportedOperationExceptions for now.
2009-06-02 17:14:38 -06:00
Joel Dice
20cf42c5e4
more work on boot image creation
2008-11-23 16:58:01 -07: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
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
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
b71d5104ba
snapshot
2007-11-01 13:24:09 -06:00
Joel Dice
404d996c1e
snapshot
2007-10-03 18:41:54 -06:00
Joel Dice
2f3f97d550
clean up compile.cpp and support both x86_64 and i386; further refactoring to support JIT
2007-09-26 17:23:03 -06:00
Joel Dice
1207989f72
fix build and runtime bugs introduced in last commit
2007-09-26 08:43:40 -06:00
Joel Dice
5e42158f4b
add misc methods to classpath
2007-09-13 20:19:44 -06:00
Joel Dice
e2f3e80bdf
heap o' bugfixes
2007-08-19 20:57:32 -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
ab3ca38580
various bugfixes
2007-08-13 18:37:00 -06:00
Joel Dice
38d4ee6e07
flesh out ClassLoader, etc.
2007-07-30 17:19:05 -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
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
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