equal
deleted
inserted
replaced
103 } |
103 } |
104 } else { |
104 } else { |
105 CHECK_UNHANDLED_OOPS_ONLY(Thread::current()->clear_unhandled_oops()); |
105 CHECK_UNHANDLED_OOPS_ONLY(Thread::current()->clear_unhandled_oops()); |
106 } |
106 } |
107 |
107 |
108 if (InstanceKlass::cast(h_m()->method_holder())->is_linked()) { |
108 if (h_m()->method_holder()->is_linked()) { |
109 _can_be_statically_bound = h_m()->can_be_statically_bound(); |
109 _can_be_statically_bound = h_m()->can_be_statically_bound(); |
110 } else { |
110 } else { |
111 // Have to use a conservative value in this case. |
111 // Have to use a conservative value in this case. |
112 _can_be_statically_bound = false; |
112 _can_be_statically_bound = false; |
113 } |
113 } |
186 _code = (address)arena->Amalloc(code_size()); |
186 _code = (address)arena->Amalloc(code_size()); |
187 memcpy(_code, me->code_base(), code_size()); |
187 memcpy(_code, me->code_base(), code_size()); |
188 |
188 |
189 // Revert any breakpoint bytecodes in ci's copy |
189 // Revert any breakpoint bytecodes in ci's copy |
190 if (me->number_of_breakpoints() > 0) { |
190 if (me->number_of_breakpoints() > 0) { |
191 BreakpointInfo* bp = InstanceKlass::cast(me->method_holder())->breakpoints(); |
191 BreakpointInfo* bp = me->method_holder()->breakpoints(); |
192 for (; bp != NULL; bp = bp->next()) { |
192 for (; bp != NULL; bp = bp->next()) { |
193 if (bp->match(me)) { |
193 if (bp->match(me)) { |
194 code_at_put(bp->bci(), bp->orig_bytecode()); |
194 code_at_put(bp->bci(), bp->orig_bytecode()); |
195 } |
195 } |
196 } |
196 } |