src/cpu/sparc/vm/frame_sparc.inline.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8004128_2 Sdiff src/cpu/sparc/vm

src/cpu/sparc/vm/frame_sparc.inline.hpp

Print this page




  81 
  82 inline address* frame::O7_addr() const  { return (address*) &younger_sp()[ I7->sp_offset_in_saved_window()]; }
  83 inline address* frame::O0_addr() const  { return (address*) &younger_sp()[ I0->sp_offset_in_saved_window()]; }
  84 
  85 inline intptr_t*    frame::sender_sp() const  { return fp(); }
  86 
  87 inline intptr_t* frame::real_fp() const { return fp(); }
  88 
  89 // Used only in frame::oopmapreg_to_location
  90 // This return a value in VMRegImpl::slot_size
  91 inline int frame::pd_oop_map_offset_adjustment() const {
  92   return _sp_adjustment_by_callee * VMRegImpl::slots_per_word;
  93 }
  94 
  95 #ifdef CC_INTERP
  96 inline intptr_t** frame::interpreter_frame_locals_addr() const {
  97   interpreterState istate = get_interpreterState();
  98   return (intptr_t**) &istate->_locals;
  99 }
 100 
 101 inline intptr_t* frame::interpreter_frame_bcx_addr() const {
 102   interpreterState istate = get_interpreterState();
 103   return (intptr_t*) &istate->_bcp;
 104 }
 105 
 106 inline intptr_t* frame::interpreter_frame_mdx_addr() const {
 107   interpreterState istate = get_interpreterState();
 108   return (intptr_t*) &istate->_mdx;
 109 }
 110 
 111 inline jint frame::interpreter_frame_expression_stack_direction() { return -1; }
 112 
 113 // bottom(base) of the expression stack (highest address)
 114 inline intptr_t* frame::interpreter_frame_expression_stack() const {
 115   return (intptr_t*)interpreter_frame_monitor_end() - 1;
 116 }
 117 
 118 // top of expression stack (lowest address)
 119 inline intptr_t* frame::interpreter_frame_tos_address() const {
 120   interpreterState istate = get_interpreterState();
 121   return istate->_stack + 1; // Is this off by one? QQQ
 122 }
 123 
 124 // monitor elements
 125 
 126 // in keeping with Intel side: end is lower in memory than begin;


 148 
 149 // Constant pool cache
 150 
 151 // where LcpoolCache is saved:
 152 inline ConstantPoolCache** frame::interpreter_frame_cpoolcache_addr() const {
 153   interpreterState istate = get_interpreterState();
 154   return &istate->_constants; // should really use accessor
 155   }
 156 
 157 inline ConstantPoolCache** frame::interpreter_frame_cache_addr() const {
 158   interpreterState istate = get_interpreterState();
 159   return &istate->_constants;
 160 }
 161 
 162 #else // !CC_INTERP
 163 
 164 inline intptr_t** frame::interpreter_frame_locals_addr() const {
 165   return (intptr_t**) sp_addr_at( Llocals->sp_offset_in_saved_window());
 166 }
 167 
 168 inline intptr_t* frame::interpreter_frame_bcx_addr() const {
 169   // %%%%% reinterpreting Lbcp as a bcx
 170   return (intptr_t*) sp_addr_at( Lbcp->sp_offset_in_saved_window());
 171 }
 172 
 173 inline intptr_t* frame::interpreter_frame_mdx_addr() const {
 174   // %%%%% reinterpreting ImethodDataPtr as a mdx
 175   return (intptr_t*) sp_addr_at( ImethodDataPtr->sp_offset_in_saved_window());
 176 }
 177 
 178 inline jint frame::interpreter_frame_expression_stack_direction() { return -1; }
 179 
 180 // bottom(base) of the expression stack (highest address)
 181 inline intptr_t* frame::interpreter_frame_expression_stack() const {
 182   return (intptr_t*)interpreter_frame_monitors() - 1;
 183 }
 184 
 185 // top of expression stack (lowest address)
 186 inline intptr_t* frame::interpreter_frame_tos_address() const {
 187   return *interpreter_frame_esp_addr() + 1;
 188 }
 189 
 190 inline BasicObjectLock** frame::interpreter_frame_monitors_addr() const {
 191   return (BasicObjectLock**) sp_addr_at(Lmonitors->sp_offset_in_saved_window());
 192 }
 193 inline intptr_t** frame::interpreter_frame_esp_addr() const {




  81 
  82 inline address* frame::O7_addr() const  { return (address*) &younger_sp()[ I7->sp_offset_in_saved_window()]; }
  83 inline address* frame::O0_addr() const  { return (address*) &younger_sp()[ I0->sp_offset_in_saved_window()]; }
  84 
  85 inline intptr_t*    frame::sender_sp() const  { return fp(); }
  86 
  87 inline intptr_t* frame::real_fp() const { return fp(); }
  88 
  89 // Used only in frame::oopmapreg_to_location
  90 // This return a value in VMRegImpl::slot_size
  91 inline int frame::pd_oop_map_offset_adjustment() const {
  92   return _sp_adjustment_by_callee * VMRegImpl::slots_per_word;
  93 }
  94 
  95 #ifdef CC_INTERP
  96 inline intptr_t** frame::interpreter_frame_locals_addr() const {
  97   interpreterState istate = get_interpreterState();
  98   return (intptr_t**) &istate->_locals;
  99 }
 100 
 101 inline intptr_t* frame::interpreter_frame_bcp_addr() const {
 102   interpreterState istate = get_interpreterState();
 103   return (intptr_t*) &istate->_bcp;
 104 }
 105 
 106 inline intptr_t* frame::interpreter_frame_mdp_addr() const {
 107   interpreterState istate = get_interpreterState();
 108   return (intptr_t*) &istate->_mdx;
 109 }
 110 
 111 inline jint frame::interpreter_frame_expression_stack_direction() { return -1; }
 112 
 113 // bottom(base) of the expression stack (highest address)
 114 inline intptr_t* frame::interpreter_frame_expression_stack() const {
 115   return (intptr_t*)interpreter_frame_monitor_end() - 1;
 116 }
 117 
 118 // top of expression stack (lowest address)
 119 inline intptr_t* frame::interpreter_frame_tos_address() const {
 120   interpreterState istate = get_interpreterState();
 121   return istate->_stack + 1; // Is this off by one? QQQ
 122 }
 123 
 124 // monitor elements
 125 
 126 // in keeping with Intel side: end is lower in memory than begin;


 148 
 149 // Constant pool cache
 150 
 151 // where LcpoolCache is saved:
 152 inline ConstantPoolCache** frame::interpreter_frame_cpoolcache_addr() const {
 153   interpreterState istate = get_interpreterState();
 154   return &istate->_constants; // should really use accessor
 155   }
 156 
 157 inline ConstantPoolCache** frame::interpreter_frame_cache_addr() const {
 158   interpreterState istate = get_interpreterState();
 159   return &istate->_constants;
 160 }
 161 
 162 #else // !CC_INTERP
 163 
 164 inline intptr_t** frame::interpreter_frame_locals_addr() const {
 165   return (intptr_t**) sp_addr_at( Llocals->sp_offset_in_saved_window());
 166 }
 167 
 168 inline intptr_t* frame::interpreter_frame_bcp_addr() const {

 169   return (intptr_t*) sp_addr_at( Lbcp->sp_offset_in_saved_window());
 170 }
 171 
 172 inline intptr_t* frame::interpreter_frame_mdp_addr() const {
 173   // %%%%% reinterpreting ImethodDataPtr as a mdx
 174   return (intptr_t*) sp_addr_at( ImethodDataPtr->sp_offset_in_saved_window());
 175 }
 176 
 177 inline jint frame::interpreter_frame_expression_stack_direction() { return -1; }
 178 
 179 // bottom(base) of the expression stack (highest address)
 180 inline intptr_t* frame::interpreter_frame_expression_stack() const {
 181   return (intptr_t*)interpreter_frame_monitors() - 1;
 182 }
 183 
 184 // top of expression stack (lowest address)
 185 inline intptr_t* frame::interpreter_frame_tos_address() const {
 186   return *interpreter_frame_esp_addr() + 1;
 187 }
 188 
 189 inline BasicObjectLock** frame::interpreter_frame_monitors_addr() const {
 190   return (BasicObjectLock**) sp_addr_at(Lmonitors->sp_offset_in_saved_window());
 191 }
 192 inline intptr_t** frame::interpreter_frame_esp_addr() const {


src/cpu/sparc/vm/frame_sparc.inline.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File