cddea7187d
preliminary support for using OpenJDK's class library
...
Whereas the GNU Classpath port used the strategy of patching Classpath
with core classes from Avian so as to minimize changes to the VM, this
port uses the opposite strategy: abstract and isolate
classpath-specific features in the VM similar to how we abstract away
platform-specific features in system.h. This allows us to use an
unmodified copy of OpenJDK's class library, including its core classes
and augmented by a few VM-specific classes in the "avian" package.
2010-09-10 15:05:29 -06:00
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
a650f1affa
provide more useful message when throwing exception from Field.set
2010-03-07 12:03:17 -07:00
f588a62ae3
fix Classpath 0.98 compatibility issues
2009-12-22 21:34:04 -07:00
70da0df46b
add Class.getExceptionTypes method
2009-12-15 10:04:51 -07:00
6118792ffd
update copyright years
2009-12-02 19:08:29 -07:00
1faf93c163
fix typo in Proxy.makeInvokeCode
2009-09-19 16:27:28 -06:00
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
7aa906d97b
support runtime-visible annotations and java.lang.reflect.Proxy
2009-09-18 18:01:54 -06:00
9553d56977
add AccessibleObject.setAccessible(AccessibleObject[],boolean)
2009-08-13 09:03:44 -06:00
df1aee5981
replace slashes with dots in class name passed to Class.forName in Method.getParameterTypes
2009-08-11 09:25:05 -06:00
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
1a2deff97d
Merge branch 'master' of oss.readytalk.com:/var/local/git/avian
2009-08-09 14:43:53 -06:00
2de750768b
add java.lang.reflect.Modifier.isInterface
2009-08-05 14:14:45 +00:00
e18ab49f4d
always pass null instance to native version of Method.invoke when invoking static methods
2009-08-04 18:30:16 -06:00
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
20cf42c5e4
more work on boot image creation
2008-11-23 16:58:01 -07:00
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
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
c9ef443944
add Modifier.isNative and isAbstract
2008-04-01 16:42:50 -06:00
2edaa82801
prepend copyright notice and license to all source files; add license.txt and readme.txt
2008-02-19 11:06:52 -07:00
6fe0c4636f
various bugfixes and tweaks in reflection
2007-11-20 13:40:07 -07:00
7dfbd87a40
bugfixes
2007-11-02 15:42:19 -06:00
e820b6a8a4
sketch of singleton support
2007-11-02 15:08:14 -06:00
b71d5104ba
snapshot
2007-11-01 13:24:09 -06:00
404d996c1e
snapshot
2007-10-03 18:41:54 -06:00
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
1207989f72
fix build and runtime bugs introduced in last commit
2007-09-26 08:43:40 -06:00
5e42158f4b
add misc methods to classpath
2007-09-13 20:19:44 -06:00
7cb3a30a91
sketch of Runtime.exec() and Calendar; misc bugfixes
2007-09-12 18:21:37 -06:00
e2f3e80bdf
heap o' bugfixes
2007-08-19 20:57:32 -06:00
aa5e751e69
clean up Array.get(), Array.set(), and Method.invoke() implementations
2007-08-18 11:53:30 -06:00
d169e4eadf
clean up Field.get() and Field.set() implementations
2007-08-18 11:15:03 -06:00
ab3ca38580
various bugfixes
2007-08-13 18:37:00 -06:00
c20219df19
flesh out serialization/deserialization code and fix build
2007-08-12 18:50:25 -06:00
38d4ee6e07
flesh out ClassLoader, etc.
2007-07-30 17:19:05 -06:00
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
363801af1c
classpath progress
2007-07-27 17:56:19 -06:00
c9f9b039e6
classpath progress
2007-07-26 20:39:53 -06:00
823d764998
working reflection
2007-07-23 21:16:59 -06:00
5f3bf175e0
start work on reflection; bugfixes
2007-07-23 19:44:20 -06:00
fd770fd884
sketch a few more classpath classes
2007-07-21 14:44:39 -06:00
48226f988c
add a bunch of classes to classpath and flesh out a few existing ones
2007-07-21 11:50:26 -06:00