comparison src/cpu/x86/vm/frame_x86.cpp @ 4000:0abefdb54d21

7081938: JSR292: assert(magic_number_2() == MAGIC_NUMBER_2) failed Reviewed-by: never, bdelsart
author twisti
date Tue, 11 Oct 2011 02:19:37 -0700
parents 5432047c7db7
children 448691f285a5
comparison
equal deleted inserted replaced
3999:eba73e0c7780 4000:0abefdb54d21
230 230
231 } 231 }
232 232
233 233
234 void frame::patch_pc(Thread* thread, address pc) { 234 void frame::patch_pc(Thread* thread, address pc) {
235 address* pc_addr = &(((address*) sp())[-1]);
235 if (TracePcPatching) { 236 if (TracePcPatching) {
236 tty->print_cr("patch_pc at address" INTPTR_FORMAT " [" INTPTR_FORMAT " -> " INTPTR_FORMAT "] ", 237 tty->print_cr("patch_pc at address " INTPTR_FORMAT " [" INTPTR_FORMAT " -> " INTPTR_FORMAT "] ",
237 &((address *)sp())[-1], ((address *)sp())[-1], pc); 238 pc_addr, *pc_addr, pc);
238 } 239 }
239 ((address *)sp())[-1] = pc; 240 assert(_pc == *pc_addr, err_msg("must be: " INTPTR_FORMAT " == " INTPTR_FORMAT, _pc, *pc_addr));
241 *pc_addr = pc;
240 _cb = CodeCache::find_blob(pc); 242 _cb = CodeCache::find_blob(pc);
241 address original_pc = nmethod::get_deopt_original_pc(this); 243 address original_pc = nmethod::get_deopt_original_pc(this);
242 if (original_pc != NULL) { 244 if (original_pc != NULL) {
243 assert(original_pc == _pc, "expected original PC to be stored before patching"); 245 assert(original_pc == _pc, "expected original PC to be stored before patching");
244 _deopt_state = is_deoptimized; 246 _deopt_state = is_deoptimized;
669 671
670 intptr_t *frame::initial_deoptimization_info() { 672 intptr_t *frame::initial_deoptimization_info() {
671 // used to reset the saved FP 673 // used to reset the saved FP
672 return fp(); 674 return fp();
673 } 675 }
674