< prev index next >

src/share/vm/c1/c1_LIRGenerator.hpp

Print this page




 267   void pre_barrier(LIR_Opr addr_opr, LIR_Opr pre_val, bool do_load, bool patch, CodeEmitInfo* info);
 268   void post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 269 
 270   // specific implementations
 271   // pre barriers
 272 
 273   void G1SATBCardTableModRef_pre_barrier(LIR_Opr addr_opr, LIR_Opr pre_val,
 274                                          bool do_load, bool patch, CodeEmitInfo* info);
 275 
 276   // post barriers
 277 
 278   void G1SATBCardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 279   void CardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 280 #ifdef CARDTABLEMODREF_POST_BARRIER_HELPER
 281   void CardTableModRef_post_barrier_helper(LIR_OprDesc* addr, LIR_Const* card_table_base);
 282 #endif
 283 
 284 
 285   static LIR_Opr result_register_for(ValueType* type, bool callee = false);
 286 




 287   ciObject* get_jobject_constant(Value value);
 288 
 289   LIRItemList* invoke_visit_arguments(Invoke* x);
 290   void invoke_load_arguments(Invoke* x, LIRItemList* args, const LIR_OprList* arg_list);
 291 
 292   void trace_block_entry(BlockBegin* block);
 293 
 294   // volatile field operations are never patchable because a klass
 295   // must be loaded to know it's volatile which means that the offset
 296   // it always known as well.
 297   void volatile_field_store(LIR_Opr value, LIR_Address* address, CodeEmitInfo* info);
 298   void volatile_field_load(LIR_Address* address, LIR_Opr result, CodeEmitInfo* info);
 299 
 300   void put_Object_unsafe(LIR_Opr src, LIR_Opr offset, LIR_Opr data, BasicType type, bool is_volatile);
 301   void get_Object_unsafe(LIR_Opr dest, LIR_Opr src, LIR_Opr offset, BasicType type, bool is_volatile);
 302 
 303   void arithmetic_call_op (Bytecodes::Code code, LIR_Opr result, LIR_OprList* args);
 304 
 305   void increment_counter(address counter, BasicType type, int step = 1);
 306   void increment_counter(LIR_Address* addr, int step = 1);




 267   void pre_barrier(LIR_Opr addr_opr, LIR_Opr pre_val, bool do_load, bool patch, CodeEmitInfo* info);
 268   void post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 269 
 270   // specific implementations
 271   // pre barriers
 272 
 273   void G1SATBCardTableModRef_pre_barrier(LIR_Opr addr_opr, LIR_Opr pre_val,
 274                                          bool do_load, bool patch, CodeEmitInfo* info);
 275 
 276   // post barriers
 277 
 278   void G1SATBCardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 279   void CardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 280 #ifdef CARDTABLEMODREF_POST_BARRIER_HELPER
 281   void CardTableModRef_post_barrier_helper(LIR_OprDesc* addr, LIR_Const* card_table_base);
 282 #endif
 283 
 284 
 285   static LIR_Opr result_register_for(ValueType* type, bool callee = false);
 286 
 287 #ifdef AARCH32
 288   static LIR_Opr java_result_register_for(ValueType* type, bool callee = false);
 289 #endif
 290 
 291   ciObject* get_jobject_constant(Value value);
 292 
 293   LIRItemList* invoke_visit_arguments(Invoke* x);
 294   void invoke_load_arguments(Invoke* x, LIRItemList* args, const LIR_OprList* arg_list);
 295 
 296   void trace_block_entry(BlockBegin* block);
 297 
 298   // volatile field operations are never patchable because a klass
 299   // must be loaded to know it's volatile which means that the offset
 300   // it always known as well.
 301   void volatile_field_store(LIR_Opr value, LIR_Address* address, CodeEmitInfo* info);
 302   void volatile_field_load(LIR_Address* address, LIR_Opr result, CodeEmitInfo* info);
 303 
 304   void put_Object_unsafe(LIR_Opr src, LIR_Opr offset, LIR_Opr data, BasicType type, bool is_volatile);
 305   void get_Object_unsafe(LIR_Opr dest, LIR_Opr src, LIR_Opr offset, BasicType type, bool is_volatile);
 306 
 307   void arithmetic_call_op (Bytecodes::Code code, LIR_Opr result, LIR_OprList* args);
 308 
 309   void increment_counter(address counter, BasicType type, int step = 1);
 310   void increment_counter(LIR_Address* addr, int step = 1);


< prev index next >