11/*
2- * Copyright (c) 1997, 2015 , Oracle and/or its affiliates. All rights reserved.
2+ * Copyright (c) 1997, 2016 , Oracle and/or its affiliates. All rights reserved.
33 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44 *
55 * This code is free software; you can redistribute it and/or modify it
@@ -95,7 +95,7 @@ bool frame::safe_for_sender(JavaThread *thread) {
9595 // ok. adapter blobs never have a frame complete and are never ok.
9696
9797 if (!_cb->is_frame_complete_at (_pc)) {
98- if (_cb->is_nmethod () || _cb->is_adapter_blob () || _cb->is_runtime_stub ()) {
98+ if (_cb->is_compiled () || _cb->is_adapter_blob () || _cb->is_runtime_stub ()) {
9999 return false ;
100100 }
101101 }
@@ -220,21 +220,19 @@ bool frame::safe_for_sender(JavaThread *thread) {
220220 return jcw_safe;
221221 }
222222
223- if (sender_blob->is_nmethod ()) {
224- nmethod* nm = sender_blob->as_nmethod_or_null ();
225- if (nm != NULL ) {
226- if (nm->is_deopt_mh_entry (sender_pc) || nm->is_deopt_entry (sender_pc) ||
227- nm->method ()->is_method_handle_intrinsic ()) {
228- return false ;
229- }
223+ CompiledMethod* nm = sender_blob->as_compiled_method_or_null ();
224+ if (nm != NULL ) {
225+ if (nm->is_deopt_mh_entry (sender_pc) || nm->is_deopt_entry (sender_pc) ||
226+ nm->method ()->is_method_handle_intrinsic ()) {
227+ return false ;
230228 }
231229 }
232230
233231 // If the frame size is 0 something (or less) is bad because every nmethod has a non-zero frame size
234232 // because the return address counts against the callee's frame.
235233
236234 if (sender_blob->frame_size () <= 0 ) {
237- assert (!sender_blob->is_nmethod (), " should count return address at least" );
235+ assert (!sender_blob->is_compiled (), " should count return address at least" );
238236 return false ;
239237 }
240238
@@ -243,7 +241,7 @@ bool frame::safe_for_sender(JavaThread *thread) {
243241 // should not be anything but the call stub (already covered), the interpreter (already covered)
244242 // or an nmethod.
245243
246- if (!sender_blob->is_nmethod ()) {
244+ if (!sender_blob->is_compiled ()) {
247245 return false ;
248246 }
249247
@@ -286,7 +284,7 @@ void frame::patch_pc(Thread* thread, address pc) {
286284 assert (_pc == *pc_addr || pc == *pc_addr, " must be" );
287285 *pc_addr = pc;
288286 _cb = CodeCache::find_blob (pc);
289- address original_pc = nmethod ::get_deopt_original_pc (this );
287+ address original_pc = CompiledMethod ::get_deopt_original_pc (this );
290288 if (original_pc != NULL ) {
291289 assert (original_pc == _pc, " expected original PC to be stored before patching" );
292290 _deopt_state = is_deoptimized;
@@ -372,7 +370,7 @@ frame frame::sender_for_entry_frame(RegisterMap* map) const {
372370// Verifies the calculated original PC of a deoptimization PC for the
373371// given unextended SP.
374372#ifdef ASSERT
375- void frame::verify_deopt_original_pc (nmethod * nm, intptr_t * unextended_sp) {
373+ void frame::verify_deopt_original_pc (CompiledMethod * nm, intptr_t * unextended_sp) {
376374 frame fr;
377375
378376 // This is ugly but it's better than to change {get,set}_original_pc
@@ -381,7 +379,7 @@ void frame::verify_deopt_original_pc(nmethod* nm, intptr_t* unextended_sp) {
381379 fr._unextended_sp = unextended_sp;
382380
383381 address original_pc = nm->get_original_pc (&fr);
384- assert (nm->insts_contains (original_pc), " original PC must be in nmethod " );
382+ assert (nm->insts_contains (original_pc), " original PC must be in CompiledMethod " );
385383}
386384#endif
387385
@@ -392,12 +390,14 @@ void frame::adjust_unextended_sp() {
392390 // as any other call site. Therefore, no special action is needed when we are
393391 // returning to any of these call sites.
394392
395- nmethod* sender_nm = (_cb == NULL ) ? NULL : _cb->as_nmethod_or_null ();
396- if (sender_nm != NULL ) {
397- // If the sender PC is a deoptimization point, get the original PC.
398- if (sender_nm->is_deopt_entry (_pc) ||
399- sender_nm->is_deopt_mh_entry (_pc)) {
400- DEBUG_ONLY (verify_deopt_original_pc (sender_nm, _unextended_sp));
393+ if (_cb != NULL ) {
394+ CompiledMethod* sender_cm = _cb->as_compiled_method_or_null ();
395+ if (sender_cm != NULL ) {
396+ // If the sender PC is a deoptimization point, get the original PC.
397+ if (sender_cm->is_deopt_entry (_pc) ||
398+ sender_cm->is_deopt_mh_entry (_pc)) {
399+ DEBUG_ONLY (verify_deopt_original_pc (sender_cm, _unextended_sp));
400+ }
401401 }
402402 }
403403}
0 commit comments