hotspot/src/cpu/x86/vm/frame_x86.inline.hpp
changeset 29571 6627b10e05f8
parent 26821 ce9f82507dc2
child 30305 b92a97e1e9cb
equal deleted inserted replaced
29570:2dfa46d6ea7e 29571:6627b10e05f8
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2015, 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.
   137                                                     return this->id() > id ; }
   137                                                     return this->id() > id ; }
   138 
   138 
   139 
   139 
   140 
   140 
   141 inline intptr_t* frame::link() const              { return (intptr_t*) *(intptr_t **)addr_at(link_offset); }
   141 inline intptr_t* frame::link() const              { return (intptr_t*) *(intptr_t **)addr_at(link_offset); }
   142 inline void      frame::set_link(intptr_t* addr)  { *(intptr_t **)addr_at(link_offset) = addr; }
       
   143 
       
   144 
   142 
   145 inline intptr_t* frame::unextended_sp() const     { return _unextended_sp; }
   143 inline intptr_t* frame::unextended_sp() const     { return _unextended_sp; }
   146 
   144 
   147 // Return address:
   145 // Return address:
   148 
   146 
   149 inline address* frame::sender_pc_addr()      const { return (address*) addr_at( return_addr_offset); }
   147 inline address* frame::sender_pc_addr()      const { return (address*) addr_at( return_addr_offset); }
   150 inline address  frame::sender_pc()           const { return *sender_pc_addr(); }
   148 inline address  frame::sender_pc()           const { return *sender_pc_addr(); }
   151 
       
   152 // return address of param, zero origin index.
       
   153 inline address* frame::native_param_addr(int idx) const { return (address*) addr_at( native_frame_initial_param_offset+idx); }
       
   154 
   149 
   155 #ifdef CC_INTERP
   150 #ifdef CC_INTERP
   156 
   151 
   157 inline interpreterState frame::get_interpreterState() const {
   152 inline interpreterState frame::get_interpreterState() const {
   158   return ((interpreterState)addr_at( -((int)sizeof(BytecodeInterpreter))/wordSize ));
   153   return ((interpreterState)addr_at( -((int)sizeof(BytecodeInterpreter))/wordSize ));