< prev index next >

src/share/vm/c1/c1_LIRGenerator.hpp

Print this page
rev 14282 : Factor out keep-alive barrier from usual pre-barrier implementations.


 257   void do_FPIntrinsics(Intrinsic* x);
 258   void do_Reference_get(Intrinsic* x);
 259   void do_update_CRC32(Intrinsic* x);
 260   void do_update_CRC32C(Intrinsic* x);
 261   void do_vectorizedMismatch(Intrinsic* x);
 262 
 263   LIR_Opr call_runtime(BasicTypeArray* signature, LIRItemList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
 264   LIR_Opr call_runtime(BasicTypeArray* signature, LIR_OprList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
 265 
 266   // convenience functions
 267   LIR_Opr call_runtime(Value arg1, address entry, ValueType* result_type, CodeEmitInfo* info);
 268   LIR_Opr call_runtime(Value arg1, Value arg2, address entry, ValueType* result_type, CodeEmitInfo* info);
 269 
 270   // GC Barriers
 271 
 272   // generic interface
 273 
 274   void pre_barrier(LIR_Opr addr_opr, LIR_Opr pre_val, bool do_load, bool patch, CodeEmitInfo* info);
 275   void post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 276 


 277   LIR_Opr shenandoah_read_barrier(LIR_Opr obj, CodeEmitInfo* info, bool need_null_check);
 278   LIR_Opr shenandoah_write_barrier(LIR_Opr obj, CodeEmitInfo* info, bool need_null_check);
 279   LIR_Opr shenandoah_storeval_barrier(LIR_Opr obj, CodeEmitInfo* info, bool need_null_check);
 280 
 281 private:
 282   LIR_Opr shenandoah_read_barrier_impl(LIR_Opr obj, CodeEmitInfo* info, bool need_null_check);
 283 
 284 public:
 285   // specific implementations
 286   // pre barriers
 287 
 288   void G1SATBCardTableModRef_pre_barrier(LIR_Opr addr_opr, LIR_Opr pre_val,
 289                                          bool do_load, bool patch, CodeEmitInfo* info);
 290 
 291   // post barriers
 292 
 293   void G1SATBCardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 294   void Shenandoah_post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 295   void CardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 296 #ifdef CARDTABLEMODREF_POST_BARRIER_HELPER




 257   void do_FPIntrinsics(Intrinsic* x);
 258   void do_Reference_get(Intrinsic* x);
 259   void do_update_CRC32(Intrinsic* x);
 260   void do_update_CRC32C(Intrinsic* x);
 261   void do_vectorizedMismatch(Intrinsic* x);
 262 
 263   LIR_Opr call_runtime(BasicTypeArray* signature, LIRItemList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
 264   LIR_Opr call_runtime(BasicTypeArray* signature, LIR_OprList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
 265 
 266   // convenience functions
 267   LIR_Opr call_runtime(Value arg1, address entry, ValueType* result_type, CodeEmitInfo* info);
 268   LIR_Opr call_runtime(Value arg1, Value arg2, address entry, ValueType* result_type, CodeEmitInfo* info);
 269 
 270   // GC Barriers
 271 
 272   // generic interface
 273 
 274   void pre_barrier(LIR_Opr addr_opr, LIR_Opr pre_val, bool do_load, bool patch, CodeEmitInfo* info);
 275   void post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 276 
 277   void keep_alive_barrier(LIR_Opr val);
 278 
 279   LIR_Opr shenandoah_read_barrier(LIR_Opr obj, CodeEmitInfo* info, bool need_null_check);
 280   LIR_Opr shenandoah_write_barrier(LIR_Opr obj, CodeEmitInfo* info, bool need_null_check);
 281   LIR_Opr shenandoah_storeval_barrier(LIR_Opr obj, CodeEmitInfo* info, bool need_null_check);
 282 
 283 private:
 284   LIR_Opr shenandoah_read_barrier_impl(LIR_Opr obj, CodeEmitInfo* info, bool need_null_check);
 285 
 286 public:
 287   // specific implementations
 288   // pre barriers
 289 
 290   void G1SATBCardTableModRef_pre_barrier(LIR_Opr addr_opr, LIR_Opr pre_val,
 291                                          bool do_load, bool patch, CodeEmitInfo* info);
 292 
 293   // post barriers
 294 
 295   void G1SATBCardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 296   void Shenandoah_post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 297   void CardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 298 #ifdef CARDTABLEMODREF_POST_BARRIER_HELPER


< prev index next >