comparison src/share/vm/ci/ciMethod.cpp @ 27:1f530c629c7d

6498878: client compiler crashes on windows when dealing with breakpoint instructions Summary: _is_compilable check prevents breakpoint bytecodes reversion when loading bytecodes for ciMethod. Reviewed-by: never
author kvn
date Thu, 21 Feb 2008 19:03:44 -0800
parents a61af66fc99e
children 44abbb0d4c18
comparison
equal deleted inserted replaced
26:0871d5cd64cd 27:1f530c629c7d
144 // Load the bytecodes. 144 // Load the bytecodes.
145 _code = (address)arena->Amalloc(code_size()); 145 _code = (address)arena->Amalloc(code_size());
146 memcpy(_code, me->code_base(), code_size()); 146 memcpy(_code, me->code_base(), code_size());
147 147
148 // Revert any breakpoint bytecodes in ci's copy 148 // Revert any breakpoint bytecodes in ci's copy
149 if (_is_compilable && me->number_of_breakpoints() > 0) { 149 if (me->number_of_breakpoints() > 0) {
150 BreakpointInfo* bp = instanceKlass::cast(me->method_holder())->breakpoints(); 150 BreakpointInfo* bp = instanceKlass::cast(me->method_holder())->breakpoints();
151 for (; bp != NULL; bp = bp->next()) { 151 for (; bp != NULL; bp = bp->next()) {
152 if (bp->match(me)) { 152 if (bp->match(me)) {
153 code_at_put(bp->bci(), bp->orig_bytecode()); 153 code_at_put(bp->bci(), bp->orig_bytecode());
154 } 154 }