corda/classpath/java
Joel Dice 3d49173b0b avoid inifinite recursion if java.lang.Object is missing; refactoring
When trying to create an array class, we try to resolve
java.lang.Object so we can use its vtable in the array class.
However, if Object is missing, we'll try to create and throw a
ClassNotFoundException, which requires creating an array to store the
stack trace, which requires creating an array class, which requires
resolving Object, etc..  This commit short-circuits this process by
telling resolveClass not to create and throw an exception if it can't
find Object.

While doing the above work, I noticed that the implementations of
Classpath::makeThrowable in classpath-avian.cpp and
classpath-openjdk.cpp were identical, so I made makeThrowable a
top-level function.

Finally, I discovered that Thread.setDaemon can only be called before
the target thread has been started, which allowed me to simplify the
code to track daemon threads in the VM.
2010-12-09 19:38:12 -07:00
..
io update copyright years 2010-12-05 20:21:09 -07:00
lang avoid inifinite recursion if java.lang.Object is missing; refactoring 2010-12-09 19:38:12 -07:00
net update copyright years 2010-12-05 20:21:09 -07:00
nio update copyright years 2010-12-05 20:21:09 -07:00
security update copyright years 2010-12-05 20:21:09 -07:00
text prepend copyright notice and license to all source files; add license.txt and readme.txt 2008-02-19 11:06:52 -07:00
util update copyright years 2010-12-05 20:21:09 -07:00