hotspot/src/cpu/zero/vm/frame_zero.inline.hpp
changeset 15205 17da82a12ff4
parent 14294 130e947dfbe6
child 19267 058bf12be1e0
equal deleted inserted replaced
15204:a8960bf92b09 15205:17da82a12ff4
    43   _sp = sp;
    43   _sp = sp;
    44   switch (zeroframe()->type()) {
    44   switch (zeroframe()->type()) {
    45   case ZeroFrame::ENTRY_FRAME:
    45   case ZeroFrame::ENTRY_FRAME:
    46     _pc = StubRoutines::call_stub_return_pc();
    46     _pc = StubRoutines::call_stub_return_pc();
    47     _cb = NULL;
    47     _cb = NULL;
       
    48     _deopt_state = not_deoptimized;
    48     break;
    49     break;
    49 
    50 
    50   case ZeroFrame::INTERPRETER_FRAME:
    51   case ZeroFrame::INTERPRETER_FRAME:
    51     _pc = NULL;
    52     _pc = NULL;
    52     _cb = NULL;
    53     _cb = NULL;
       
    54     _deopt_state = not_deoptimized;
    53     break;
    55     break;
    54 
    56 
    55   case ZeroFrame::SHARK_FRAME:
    57   case ZeroFrame::SHARK_FRAME: {
    56     _pc = zero_sharkframe()->pc();
    58     _pc = zero_sharkframe()->pc();
    57     _cb = CodeCache::find_blob_unsafe(pc());
    59     _cb = CodeCache::find_blob_unsafe(pc());
       
    60     address original_pc = nmethod::get_deopt_original_pc(this);
       
    61     if (original_pc != NULL) {
       
    62       _pc = original_pc;
       
    63       _deopt_state = is_deoptimized;
       
    64     } else {
       
    65       _deopt_state = not_deoptimized;
       
    66     }
    58     break;
    67     break;
    59 
    68   }
    60   case ZeroFrame::FAKE_STUB_FRAME:
    69   case ZeroFrame::FAKE_STUB_FRAME:
    61     _pc = NULL;
    70     _pc = NULL;
    62     _cb = NULL;
    71     _cb = NULL;
       
    72     _deopt_state = not_deoptimized;
    63     break;
    73     break;
    64 
    74 
    65   default:
    75   default:
    66     ShouldNotReachHere();
    76     ShouldNotReachHere();
    67   }
    77   }
    68   _deopt_state = not_deoptimized;
       
    69 }
    78 }
    70 
    79 
    71 // Accessors
    80 // Accessors
    72 
    81 
    73 inline intptr_t* frame::sender_sp() const {
    82 inline intptr_t* frame::sender_sp() const {