corda/classpath/avian
Joel Dice 453ceb42ab implement lazy class/field/method resolution in JIT compiler
Unlike the interpreter, the JIT compiler tries to resolve all the
symbols referenced by a method when compiling that method.  However,
this can backfire if a symbol cannot be resolved: we end up throwing
an e.g. NoClassDefFoundError for code which may never be executed.
This is particularly troublesome for code which supports multiple
APIs, choosing one at runtime.

The solution is to defer to stub code for symbols which can't be
resolved at JIT compile time.  Such a stub will try again at runtime
to resolve the needed symbol and throw an appropriate error if it
still can't be found.
2011-03-15 18:07:13 -06:00
..
resource update copyright years 2010-12-05 20:21:09 -07:00
Addendum.java update copyright years 2010-12-05 20:21:09 -07:00
AnnotationInvocationHandler.java support runtime-visible annotations and java.lang.reflect.Proxy 2009-09-18 18:01:54 -06:00
Assembler.java fix Subroutine test for use with OpenJDK build 2011-02-17 14:28:51 -07:00
Callback.java more work on continuation support 2009-05-05 18:29:05 -06:00
CallbackReceiver.java more work on continuation support 2009-05-05 18:29:05 -06:00
Cell.java move non-standard classes to avian package 2009-06-04 17:59:34 -06:00
ClassAddendum.java update copyright years 2010-12-05 20:21:09 -07:00
Classes.java formatting tweak in Classes.java 2010-09-25 15:51:30 -06:00
ConstantPool.java add new subroutine test 2011-02-16 11:41:33 -07:00
Continuations.java update copyright years 2010-12-05 20:21:09 -07:00
FieldAddendum.java preliminary support for using OpenJDK's class library 2010-09-10 15:05:29 -06:00
IncompatibleContinuationException.java add classpath/avian/IncompatibleContinuationException.java 2009-05-24 18:21:19 -06:00
Machine.java add classpath/avian/Machine.java 2009-05-25 23:31:13 -06:00
MethodAddendum.java preliminary support for using OpenJDK's class library 2010-09-10 15:05:29 -06:00
OpenJDK.java implement more JVM_* methods and avoid duplicate array class loading 2010-09-14 18:52:57 -06:00
PersistentSet.java update copyright years 2010-12-05 20:21:09 -07:00
Singleton.java move proxy and annotation code from C++ to Java 2009-09-19 16:21:15 -06:00
Stream.java add new subroutine test 2011-02-16 11:41:33 -07:00
SystemClassLoader.java update copyright years 2010-12-05 20:21:09 -07:00
Utf8.java ARM and UTF-8 work 2010-04-14 09:26:50 -06:00
VMClass.java fix openjdk-src bootimage build 2010-11-26 12:41:31 -07:00
VMField.java implement lazy class/field/method resolution in JIT compiler 2011-03-15 18:07:13 -06:00
VMMethod.java fix openjdk-src bootimage build 2010-11-26 12:41:31 -07:00