Print this page
rev 2237 : [mq]: initial-intrinsification-changes
rev 2238 : [mq]: code-review-comments-vladimir

Split Close
Expand all
Collapse all
          --- old/src/share/vm/c1/c1_LIRGenerator.hpp
          +++ new/src/share/vm/c1/c1_LIRGenerator.hpp
↓ open down ↓ 238 lines elided ↑ open up ↑
 239  239  
 240  240    void do_RegisterFinalizer(Intrinsic* x);
 241  241    void do_getClass(Intrinsic* x);
 242  242    void do_currentThread(Intrinsic* x);
 243  243    void do_MathIntrinsic(Intrinsic* x);
 244  244    void do_ArrayCopy(Intrinsic* x);
 245  245    void do_CompareAndSwap(Intrinsic* x, ValueType* type);
 246  246    void do_AttemptUpdate(Intrinsic* x);
 247  247    void do_NIOCheckIndex(Intrinsic* x);
 248  248    void do_FPIntrinsics(Intrinsic* x);
      249 +  void do_Reference_get(Intrinsic* x);
 249  250  
 250  251    void do_UnsafePrefetch(UnsafePrefetch* x, bool is_store);
 251  252  
 252  253    LIR_Opr call_runtime(BasicTypeArray* signature, LIRItemList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
 253  254    LIR_Opr call_runtime(BasicTypeArray* signature, LIR_OprList* args, address entry, ValueType* result_type, CodeEmitInfo* info);
 254  255  
 255  256    // convenience functions
 256  257    LIR_Opr call_runtime(Value arg1, address entry, ValueType* result_type, CodeEmitInfo* info);
 257  258    LIR_Opr call_runtime(Value arg1, Value arg2, address entry, ValueType* result_type, CodeEmitInfo* info);
 258  259  
 259  260    // GC Barriers
 260  261  
 261  262    // generic interface
 262  263  
 263      -  void pre_barrier(LIR_Opr addr_opr, bool patch,  CodeEmitInfo* info);
      264 +  void pre_barrier(LIR_Opr addr_opr, LIR_Opr pre_val, bool do_load, bool patch, CodeEmitInfo* info);
 264  265    void post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 265  266  
 266  267    // specific implementations
 267  268    // pre barriers
 268  269  
 269      -  void G1SATBCardTableModRef_pre_barrier(LIR_Opr addr_opr, bool patch,  CodeEmitInfo* info);
      270 +  void G1SATBCardTableModRef_pre_barrier(LIR_Opr addr_opr, LIR_Opr pre_val,
      271 +                                         bool do_load, bool patch, CodeEmitInfo* info);
 270  272  
 271  273    // post barriers
 272  274  
 273  275    void G1SATBCardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 274  276    void CardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
 275  277  
 276  278  
 277  279    static LIR_Opr result_register_for(ValueType* type, bool callee = false);
 278  280  
 279  281    ciObject* get_jobject_constant(Value value);
↓ open down ↓ 330 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX