re PR libgcj/8995 (race cases in interpreter)
authorAndrew Haley <aph@redhat.com>
Tue, 23 Sep 2008 13:51:58 +0000 (13:51 +0000)
committerAndrew Haley <aph@gcc.gnu.org>
Tue, 23 Sep 2008 13:51:58 +0000 (13:51 +0000)
commitf0580031a7919f8e1401db1c2e6515e1682eaaa7
tree5aa7ac0da62ededbaab14350de950b012a5759a3
parent5c0466b537af28f3cf7aff8d29c884a3c5725459
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
libjava/ChangeLog
libjava/defineclass.cc
libjava/include/java-interp.h
libjava/interpret-run.cc
libjava/interpret.cc
libjava/java/lang/reflect/natVMProxy.cc