hotspot/src/share/vm/asm/assembler.cpp
changeset 13391 30245956af37
parent 11434 c50976508b6b
child 13963 e5b53c306fb5
equal deleted inserted replaced
13309:50c604cb0d5f 13391:30245956af37
   316       }
   316       }
   317     }
   317     }
   318   }
   318   }
   319 }
   319 }
   320 
   320 
       
   321 RegisterOrConstant AbstractAssembler::delayed_value(int(*value_fn)(), Register tmp, int offset) {
       
   322   intptr_t val = (intptr_t) (*value_fn)();
       
   323   if (val != 0)  return val + offset;
       
   324   return delayed_value_impl(delayed_value_addr(value_fn), tmp, offset);
       
   325 }
       
   326 RegisterOrConstant AbstractAssembler::delayed_value(address(*value_fn)(), Register tmp, int offset) {
       
   327   intptr_t val = (intptr_t) (*value_fn)();
       
   328   if (val != 0)  return val + offset;
       
   329   return delayed_value_impl(delayed_value_addr(value_fn), tmp, offset);
       
   330 }
   321 intptr_t* AbstractAssembler::delayed_value_addr(int(*value_fn)()) {
   331 intptr_t* AbstractAssembler::delayed_value_addr(int(*value_fn)()) {
   322   DelayedConstant* dcon = DelayedConstant::add(T_INT, (DelayedConstant::value_fn_t) value_fn);
   332   DelayedConstant* dcon = DelayedConstant::add(T_INT, (DelayedConstant::value_fn_t) value_fn);
   323   return &dcon->value;
   333   return &dcon->value;
   324 }
   334 }
   325 intptr_t* AbstractAssembler::delayed_value_addr(address(*value_fn)()) {
   335 intptr_t* AbstractAssembler::delayed_value_addr(address(*value_fn)()) {