src/cpu/ppc/vm/frame_ppc.inline.hpp

Print this page




 117 inline intptr_t* frame::link() const {
 118   return (intptr_t*)callers_abi()->callers_sp;
 119 }
 120 
 121 inline intptr_t* frame::real_fp() const {
 122   return fp();
 123 }
 124 
 125 #ifdef CC_INTERP
 126 
 127 inline interpreterState frame::get_interpreterState() const {
 128   return (interpreterState)(((address)callers_abi())
 129                             - frame::interpreter_frame_cinterpreterstate_size_in_bytes());
 130 }
 131 
 132 inline intptr_t** frame::interpreter_frame_locals_addr() const {
 133   interpreterState istate = get_interpreterState();
 134   return (intptr_t**)&istate->_locals;
 135 }
 136 
 137 inline intptr_t* frame::interpreter_frame_bcx_addr() const {
 138   interpreterState istate = get_interpreterState();
 139   return (intptr_t*)&istate->_bcp;
 140 }
 141 
 142 inline intptr_t* frame::interpreter_frame_mdx_addr() const {
 143   interpreterState istate = get_interpreterState();
 144   return (intptr_t*)&istate->_mdx;
 145 }
 146 
 147 inline intptr_t* frame::interpreter_frame_expression_stack() const {
 148   return (intptr_t*)interpreter_frame_monitor_end() - 1;
 149 }
 150 
 151 inline jint frame::interpreter_frame_expression_stack_direction() {
 152   return -1;
 153 }
 154 
 155 // top of expression stack
 156 inline intptr_t* frame::interpreter_frame_tos_address() const {
 157   interpreterState istate = get_interpreterState();
 158   return istate->_stack + 1;
 159 }
 160 
 161 inline intptr_t* frame::interpreter_frame_tos_at(jint offset) const {
 162   return &interpreter_frame_tos_address()[offset];


 192   interpreterState istate = get_interpreterState();
 193   return &istate->_constants; // should really use accessor
 194 }
 195 
 196 inline ConstantPoolCache** frame::interpreter_frame_cache_addr() const {
 197   interpreterState istate = get_interpreterState();
 198   return &istate->_constants;
 199 }
 200 
 201 #else // !CC_INTERP
 202 
 203 // Template Interpreter frame value accessors.
 204 
 205 inline frame::ijava_state* frame::get_ijava_state() const {
 206   return (ijava_state*) ((uintptr_t)fp() - ijava_state_size);
 207 }
 208 
 209 inline intptr_t** frame::interpreter_frame_locals_addr() const {
 210   return (intptr_t**) &(get_ijava_state()->locals);
 211 }
 212 inline intptr_t* frame::interpreter_frame_bcx_addr() const {
 213   return (intptr_t*) &(get_ijava_state()->bcp);
 214 }
 215 inline intptr_t* frame::interpreter_frame_mdx_addr() const {
 216   return (intptr_t*) &(get_ijava_state()->mdx);
 217 }
 218 // Pointer beyond the "oldest/deepest" BasicObjectLock on stack.
 219 inline BasicObjectLock* frame::interpreter_frame_monitor_end() const {
 220   return (BasicObjectLock *) get_ijava_state()->monitors;
 221 }
 222 
 223 inline BasicObjectLock* frame::interpreter_frame_monitor_begin() const {
 224   return (BasicObjectLock *) get_ijava_state();
 225 }
 226 
 227 // SAPJVM ASc 2012-11-21. Return register stack slot addr at which currently interpreted method is found
 228 inline Method** frame::interpreter_frame_method_addr() const {
 229   return (Method**) &(get_ijava_state()->method);
 230 }
 231 inline ConstantPoolCache** frame::interpreter_frame_cpoolcache_addr() const {
 232   return (ConstantPoolCache**) &(get_ijava_state()->cpoolCache);
 233 }
 234 inline ConstantPoolCache** frame::interpreter_frame_cache_addr() const {
 235   return (ConstantPoolCache**) &(get_ijava_state()->cpoolCache);




 117 inline intptr_t* frame::link() const {
 118   return (intptr_t*)callers_abi()->callers_sp;
 119 }
 120 
 121 inline intptr_t* frame::real_fp() const {
 122   return fp();
 123 }
 124 
 125 #ifdef CC_INTERP
 126 
 127 inline interpreterState frame::get_interpreterState() const {
 128   return (interpreterState)(((address)callers_abi())
 129                             - frame::interpreter_frame_cinterpreterstate_size_in_bytes());
 130 }
 131 
 132 inline intptr_t** frame::interpreter_frame_locals_addr() const {
 133   interpreterState istate = get_interpreterState();
 134   return (intptr_t**)&istate->_locals;
 135 }
 136 
 137 inline intptr_t* frame::interpreter_frame_bcp_addr() const {
 138   interpreterState istate = get_interpreterState();
 139   return (intptr_t*)&istate->_bcp;
 140 }
 141 
 142 inline intptr_t* frame::interpreter_frame_mdp_addr() const {
 143   interpreterState istate = get_interpreterState();
 144   return (intptr_t*)&istate->_mdx;
 145 }
 146 
 147 inline intptr_t* frame::interpreter_frame_expression_stack() const {
 148   return (intptr_t*)interpreter_frame_monitor_end() - 1;
 149 }
 150 
 151 inline jint frame::interpreter_frame_expression_stack_direction() {
 152   return -1;
 153 }
 154 
 155 // top of expression stack
 156 inline intptr_t* frame::interpreter_frame_tos_address() const {
 157   interpreterState istate = get_interpreterState();
 158   return istate->_stack + 1;
 159 }
 160 
 161 inline intptr_t* frame::interpreter_frame_tos_at(jint offset) const {
 162   return &interpreter_frame_tos_address()[offset];


 192   interpreterState istate = get_interpreterState();
 193   return &istate->_constants; // should really use accessor
 194 }
 195 
 196 inline ConstantPoolCache** frame::interpreter_frame_cache_addr() const {
 197   interpreterState istate = get_interpreterState();
 198   return &istate->_constants;
 199 }
 200 
 201 #else // !CC_INTERP
 202 
 203 // Template Interpreter frame value accessors.
 204 
 205 inline frame::ijava_state* frame::get_ijava_state() const {
 206   return (ijava_state*) ((uintptr_t)fp() - ijava_state_size);
 207 }
 208 
 209 inline intptr_t** frame::interpreter_frame_locals_addr() const {
 210   return (intptr_t**) &(get_ijava_state()->locals);
 211 }
 212 inline intptr_t* frame::interpreter_frame_bcp_addr() const {
 213   return (intptr_t*) &(get_ijava_state()->bcp);
 214 }
 215 inline intptr_t* frame::interpreter_frame_mdp_addr() const {
 216   return (intptr_t*) &(get_ijava_state()->mdx);
 217 }
 218 // Pointer beyond the "oldest/deepest" BasicObjectLock on stack.
 219 inline BasicObjectLock* frame::interpreter_frame_monitor_end() const {
 220   return (BasicObjectLock *) get_ijava_state()->monitors;
 221 }
 222 
 223 inline BasicObjectLock* frame::interpreter_frame_monitor_begin() const {
 224   return (BasicObjectLock *) get_ijava_state();
 225 }
 226 
 227 // SAPJVM ASc 2012-11-21. Return register stack slot addr at which currently interpreted method is found
 228 inline Method** frame::interpreter_frame_method_addr() const {
 229   return (Method**) &(get_ijava_state()->method);
 230 }
 231 inline ConstantPoolCache** frame::interpreter_frame_cpoolcache_addr() const {
 232   return (ConstantPoolCache**) &(get_ijava_state()->cpoolCache);
 233 }
 234 inline ConstantPoolCache** frame::interpreter_frame_cache_addr() const {
 235   return (ConstantPoolCache**) &(get_ijava_state()->cpoolCache);