corda/src
Joel Dice fca98df55b fix process=interpret class initialization regression
A long time ago, I refactored the class initialization code in the VM,
but did not notice until today that it had caused the
process=interpret build to break on certain recursive initializations.
In particular, we were not always detecting when a thread recursively
tried to initialize a class it was already in the process of
initializing, leading to the mistaken assumption that another thread
was initializing it and that we should wait until it was done, in
which case we would wait forever.

This commit ensures that we always detect recursive initialization and
short-circuit it.
2010-08-04 18:27:54 -06:00
..
binaryToObject Merge branch 'wip' of oss.readytalk.com:/var/local/git/avian into wip 2009-11-30 14:00:51 -07:00
allocator.h Merge branch 'master' into powerpc 2008-11-11 08:21:48 -07:00
arch.h fix MSVC build rot 2010-04-15 11:11:10 -06:00
arm.cpp moduloInt + arm work 2009-10-29 14:14:44 -06:00
arm.h fixed ARM interpreted-mode regression 2010-04-20 15:51:35 -06:00
arm.S added ARM interpreted mode supported 2009-08-06 11:52:36 -06:00
assembler.h refactor code responsible for moving data in the compiler 2009-11-27 21:15:12 -07:00
boot.cpp update copyright years 2009-12-02 19:08:29 -07:00
bootimage.cpp reduce CodeCapacity value to 16MB in bootimage.cpp 2010-06-25 21:54:01 -06:00
bootimage.h fix Thread.getStackTrace race conditions 2010-06-15 19:10:48 -06:00
builtin.cpp do nothing in System.arraycopy if length <= 0 2010-07-13 18:40:29 -06:00
common.h update copyright years 2009-12-02 19:08:29 -07:00
compile-powerpc.S update PowerPC assembly Thread field offsets 2010-06-24 19:35:07 -06:00
compile-x86.S update assembly code field offsets to reflect new Thread field declaration 2010-06-24 19:12:15 -06:00
compile.cpp fix process=interpret class initialization regression 2010-08-04 18:27:54 -06:00
compiler.cpp fix jsr/ret code generation bug 2010-01-04 17:17:16 -07:00
compiler.h fix jsr/ret code generation bug 2010-01-04 17:17:16 -07:00
constants.h prepend copyright notice and license to all source files; add license.txt and readme.txt 2008-02-19 11:06:52 -07:00
continuations-x86.S update assembly code field offsets to reflect new Thread field declaration 2010-06-24 19:12:15 -06:00
finder.cpp Merge branch 'master' into powerpc 2009-02-09 16:22:01 -07:00
finder.h various bugfixes 2008-11-27 21:44:04 -07:00
gnu.cpp specify java.home system property in GNU Classpath build 2010-01-04 17:14:00 -07:00
heap.cpp update copyright years 2009-12-02 19:08:29 -07:00
heap.h use atomic operations in MyHeap::mark to avoid need for mutex 2009-11-19 18:13:00 -07:00
heapdump.cpp update copyright years 2009-12-02 19:08:29 -07:00
heapwalk.cpp fix bootimage=true build for Windows 2009-12-02 20:08:07 -07:00
heapwalk.h update makefile to optionally build and use a boot image; various bugfixes 2008-11-29 16:08:14 -07:00
interpret.cpp fix process=interpret class initialization regression 2010-08-04 18:27:54 -06:00
jnienv.cpp Merge branch 'wip' of oss.readytalk.com:/var/local/git/avian into wip 2010-04-20 10:04:47 -06:00
jnienv.h prepend copyright notice and license to all source files; add license.txt and readme.txt 2008-02-19 11:06:52 -07:00
machine.cpp fix process=interpret class initialization regression 2010-08-04 18:27:54 -06:00
machine.h do nothing in System.arraycopy if length <= 0 2010-07-13 18:40:29 -06:00
main.cpp replace calls to ExceptionOccurred with calls to ExceptionCheck 2009-12-16 19:25:03 -07:00
posix.cpp Fix Mac OS X specific path bug 2010-04-26 10:24:53 -06:00
powerpc.cpp fix 64-bit left shifts with constant shifts greater than or equal to 32 2010-07-23 10:52:58 -06:00
powerpc.h powerpc bugfixes 2009-12-01 09:21:33 -07:00
powerpc.S progress towards powerpc continuation and tail call support 2009-05-26 19:02:39 -06:00
process.cpp update copyright years 2009-12-02 19:08:29 -07:00
process.h support runtime-visible annotations and java.lang.reflect.Proxy 2009-09-18 18:01:54 -06:00
processor.h fix process=interpret class initialization regression 2010-08-04 18:27:54 -06:00
stream.h update copyright years 2009-12-02 19:08:29 -07:00
system.h update copyright years 2009-12-02 19:08:29 -07:00
thunks.cpp powerpc bugfixes 2009-12-01 09:21:33 -07:00
type-generator.cpp update copyright years 2009-12-02 19:08:29 -07:00
types.def reimplement Java object monitors (second try) 2010-02-04 17:56:21 -07:00
types.h prepend copyright notice and license to all source files; add license.txt and readme.txt 2008-02-19 11:06:52 -07:00
util.cpp update copyright years 2009-03-15 12:02:36 -06:00
util.h check for null array in HashMapIterator::find 2008-12-18 20:23:08 -07:00
vector.h update copyright years 2009-12-02 19:08:29 -07:00
windows.cpp implement compileTimeMemoryBarrier in arch.h 2010-02-04 18:30:13 -07:00
x86.cpp fix encoding of single byte register-to-memory moves on x86_64 2010-02-02 11:37:08 -07:00
x86.h fix MSVC build rot 2010-04-15 11:11:10 -06:00
x86.S fix continuations=true build for Windows x86_64 2009-12-03 12:46:29 -07:00
zlib-custom.h Files to add Deflater and DeflaterOutputStream to java.util.zip for 2009-12-04 12:01:31 -07:00
zone.h simplify memory allocation interfaces 2008-04-13 12:15:04 -06:00