src/share/vm/c1/c1_LIRGenerator.hpp

changeset 777
37f87013dfd8
parent 435
a61af66fc99e
child 1907
c18cbe5936b8
     1.1 --- a/src/share/vm/c1/c1_LIRGenerator.hpp	Wed Jun 04 13:51:09 2008 -0700
     1.2 +++ b/src/share/vm/c1/c1_LIRGenerator.hpp	Thu Jun 05 15:57:56 2008 -0700
     1.3 @@ -145,6 +145,7 @@
     1.4  
     1.5  // only the classes below belong in the same file
     1.6  class LIRGenerator: public InstructionVisitor, public BlockClosure {
     1.7 +
     1.8   private:
     1.9    Compilation*  _compilation;
    1.10    ciMethod*     _method;    // method that we are compiling
    1.11 @@ -154,6 +155,7 @@
    1.12    Values        _instruction_for_operand;
    1.13    BitMap2D      _vreg_flags; // flags which can be set on a per-vreg basis
    1.14    LIR_List*     _lir;
    1.15 +  BarrierSet*   _bs;
    1.16  
    1.17    LIRGenerator* gen() {
    1.18      return this;
    1.19 @@ -174,8 +176,6 @@
    1.20    LIR_OprList                     _reg_for_constants;
    1.21    Values                          _unpinned_constants;
    1.22  
    1.23 -  LIR_Const*                      _card_table_base;
    1.24 -
    1.25    friend class PhiResolver;
    1.26  
    1.27    // unified bailout support
    1.28 @@ -196,8 +196,6 @@
    1.29    LIR_Opr load_constant(Constant* x);
    1.30    LIR_Opr load_constant(LIR_Const* constant);
    1.31  
    1.32 -  LIR_Const* card_table_base() const { return _card_table_base; }
    1.33 -
    1.34    void  set_result(Value x, LIR_Opr opr)           {
    1.35      assert(opr->is_valid(), "must set to valid value");
    1.36      assert(x->operand()->is_illegal(), "operand should never change");
    1.37 @@ -253,12 +251,17 @@
    1.38  
    1.39    // generic interface
    1.40  
    1.41 +  void pre_barrier(LIR_Opr addr_opr, bool patch,  CodeEmitInfo* info);
    1.42    void post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
    1.43  
    1.44    // specific implementations
    1.45 +  // pre barriers
    1.46 +
    1.47 +  void G1SATBCardTableModRef_pre_barrier(LIR_Opr addr_opr, bool patch,  CodeEmitInfo* info);
    1.48  
    1.49    // post barriers
    1.50  
    1.51 +  void G1SATBCardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
    1.52    void CardTableModRef_post_barrier(LIR_OprDesc* addr, LIR_OprDesc* new_val);
    1.53  
    1.54  

mercurial