hotspot/src/cpu/x86/vm/frame_x86.cpp
changeset 33148 68fa8b6c4340
parent 31389 e0688be912e5
child 33198 b37ad9fbf681
equal deleted inserted replaced
33146:77349b58b4c0 33148:68fa8b6c4340
    46 #ifdef ASSERT
    46 #ifdef ASSERT
    47 void RegisterMap::check_location_valid() {
    47 void RegisterMap::check_location_valid() {
    48 }
    48 }
    49 #endif
    49 #endif
    50 
    50 
    51 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
       
    52 
       
    53 // Profiling/safepoint support
    51 // Profiling/safepoint support
    54 
    52 
    55 bool frame::safe_for_sender(JavaThread *thread) {
    53 bool frame::safe_for_sender(JavaThread *thread) {
    56   address   sp = (address)_sp;
    54   address   sp = (address)_sp;
    57   address   fp = (address)_fp;
    55   address   fp = (address)_fp;
   278 
   276 
   279 void frame::patch_pc(Thread* thread, address pc) {
   277 void frame::patch_pc(Thread* thread, address pc) {
   280   address* pc_addr = &(((address*) sp())[-1]);
   278   address* pc_addr = &(((address*) sp())[-1]);
   281   if (TracePcPatching) {
   279   if (TracePcPatching) {
   282     tty->print_cr("patch_pc at address " INTPTR_FORMAT " [" INTPTR_FORMAT " -> " INTPTR_FORMAT "]",
   280     tty->print_cr("patch_pc at address " INTPTR_FORMAT " [" INTPTR_FORMAT " -> " INTPTR_FORMAT "]",
   283                   pc_addr, *pc_addr, pc);
   281                   p2i(pc_addr), p2i(*pc_addr), p2i(pc));
   284   }
   282   }
   285   // Either the return address is the original one or we are going to
   283   // Either the return address is the original one or we are going to
   286   // patch in the same address that's already there.
   284   // patch in the same address that's already there.
   287   assert(_pc == *pc_addr || pc == *pc_addr, "must be");
   285   assert(_pc == *pc_addr || pc == *pc_addr, "must be");
   288   *pc_addr = pc;
   286   *pc_addr = pc;