mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
re PR libgcj/8995 (race cases in interpreter)
2008-09-17 Andrew Haley <aph@redhat.com> PR libgcj/8995: * defineclass.cc (_Jv_ClassReader::handleCodeAttribute): Initialize thread_count. * include/java-interp.h (_Jv_InterpMethod::thread_count): New field. (_Jv_InterpMethod::rewrite_insn_mutex): New mutex. (_Jv_InterpFrame:: _Jv_InterpFrame): Pass frame_type. * interpret.cc (ThreadCountAdjuster): New class. (_Jv_InterpMethod::thread_count): New field. (_Jv_InitInterpreter): Initialize rewrite_insn_mutex. Increment and decrement thread_count field in methods. * interpret-run.cc (REWRITE_INSN): Check thread_count <= 1. (REWRITE_INSN): Likewise. Declare a ThreadCountAdjuster. * java/lang/reflect/natVMProxy.cc (run_proxy): Initialize frame type as frame_proxy. From-SVN: r140593
This commit is contained in:
committed by
Andrew Haley
parent
5c0466b537
commit
f0580031a7
@@ -1682,7 +1682,9 @@ void _Jv_ClassReader::handleCodeAttribute
|
||||
method->prepared = NULL;
|
||||
method->line_table_len = 0;
|
||||
method->line_table = NULL;
|
||||
|
||||
#ifdef DIRECT_THREADED
|
||||
method->thread_count = 0;
|
||||
#endif
|
||||
|
||||
// grab the byte code!
|
||||
memcpy ((void*) method->bytecode (),
|
||||
|
||||
Reference in New Issue
Block a user