hotspot/src/cpu/x86/vm/frame_x86.inline.hpp
changeset 38133 78b95467b9f1
parent 35214 d86005e0b4c2
child 38144 0976c0c5c5d3
equal deleted inserted replaced
38132:ba888a4f352a 38133:78b95467b9f1
     1 /*
     1 /*
     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.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    48   _pc = pc;
    48   _pc = pc;
    49   assert(pc != NULL, "no pc?");
    49   assert(pc != NULL, "no pc?");
    50   _cb = CodeCache::find_blob(pc);
    50   _cb = CodeCache::find_blob(pc);
    51   adjust_unextended_sp();
    51   adjust_unextended_sp();
    52 
    52 
    53   address original_pc = nmethod::get_deopt_original_pc(this);
    53   address original_pc = CompiledMethod::get_deopt_original_pc(this);
    54   if (original_pc != NULL) {
    54   if (original_pc != NULL) {
    55     _pc = original_pc;
    55     _pc = original_pc;
    56     _deopt_state = is_deoptimized;
    56     _deopt_state = is_deoptimized;
    57   } else {
    57   } else {
    58     _deopt_state = not_deoptimized;
    58     _deopt_state = not_deoptimized;
    70   _pc = pc;
    70   _pc = pc;
    71   assert(pc != NULL, "no pc?");
    71   assert(pc != NULL, "no pc?");
    72   _cb = CodeCache::find_blob(pc);
    72   _cb = CodeCache::find_blob(pc);
    73   adjust_unextended_sp();
    73   adjust_unextended_sp();
    74 
    74 
    75   address original_pc = nmethod::get_deopt_original_pc(this);
    75   address original_pc = CompiledMethod::get_deopt_original_pc(this);
    76   if (original_pc != NULL) {
    76   if (original_pc != NULL) {
    77     _pc = original_pc;
    77     _pc = original_pc;
    78     assert(((nmethod*)_cb)->insts_contains(_pc), "original PC must be in nmethod");
    78     assert(((CompiledMethod*)_cb)->insts_contains(_pc), "original PC must be in CompiledMethod");
    79     _deopt_state = is_deoptimized;
    79     _deopt_state = is_deoptimized;
    80   } else {
    80   } else {
    81     if (_cb->is_deoptimization_stub()) {
    81     if (_cb->is_deoptimization_stub()) {
    82       _deopt_state = is_deoptimized;
    82       _deopt_state = is_deoptimized;
    83     } else {
    83     } else {
   104   // assert(_pc != NULL, "no pc?");
   104   // assert(_pc != NULL, "no pc?");
   105 
   105 
   106   _cb = CodeCache::find_blob(_pc);
   106   _cb = CodeCache::find_blob(_pc);
   107   adjust_unextended_sp();
   107   adjust_unextended_sp();
   108 
   108 
   109   address original_pc = nmethod::get_deopt_original_pc(this);
   109   address original_pc = CompiledMethod::get_deopt_original_pc(this);
   110   if (original_pc != NULL) {
   110   if (original_pc != NULL) {
   111     _pc = original_pc;
   111     _pc = original_pc;
   112     _deopt_state = is_deoptimized;
   112     _deopt_state = is_deoptimized;
   113   } else {
   113   } else {
   114     _deopt_state = not_deoptimized;
   114     _deopt_state = not_deoptimized;