- do { \
- if (pc[-2].insn == breakpoint_insn->insn) \
- { \
- using namespace ::gnu::gcj::jvmti; \
- jlocation location = meth->insn_index (pc - 2); \
- _Jv_RewriteBreakpointInsn (meth->self, location, (pc_t) INSN); \
- } \
- else \
- pc[-2].insn = INSN; \
+ do \
+ { \
+ _Jv_MutexLock (&rewrite_insn_mutex); \
+ if (meth->thread_count <= 1) \
+ { \
+ if (pc[-2].insn == breakpoint_insn->insn) \
+ { \
+ using namespace ::gnu::gcj::jvmti; \
+ jlocation location = meth->insn_index (pc - 2); \
+ _Jv_RewriteBreakpointInsn (meth->self, location, (pc_t) INSN); \
+ } \
+ else \
+ pc[-2].insn = INSN; \