hotspot/src/share/vm/c1/c1_Instruction.hpp
changeset 12947 ba8ba6c2dd83
parent 11886 feebf5c9f40c
child 13391 30245956af37
equal deleted inserted replaced
12946:6007040eb77d 12947:ba8ba6c2dd83
   300   friend class UseCountComputer;
   300   friend class UseCountComputer;
   301   friend class BlockBegin;
   301   friend class BlockBegin;
   302 
   302 
   303   void update_exception_state(ValueStack* state);
   303   void update_exception_state(ValueStack* state);
   304 
   304 
   305   bool has_printable_bci() const                 { return NOT_PRODUCT(_printable_bci != -99) PRODUCT_ONLY(false); }
       
   306 
       
   307  protected:
   305  protected:
   308   void set_type(ValueType* type) {
   306   void set_type(ValueType* type) {
   309     assert(type != NULL, "type must exist");
   307     assert(type != NULL, "type must exist");
   310     _type = type;
   308     _type = type;
   311   }
   309   }
   390   }
   388   }
   391 
   389 
   392   // accessors
   390   // accessors
   393   int id() const                                 { return _id; }
   391   int id() const                                 { return _id; }
   394 #ifndef PRODUCT
   392 #ifndef PRODUCT
       
   393   bool has_printable_bci() const                 { return _printable_bci != -99; }
   395   int printable_bci() const                      { assert(has_printable_bci(), "_printable_bci should have been set"); return _printable_bci; }
   394   int printable_bci() const                      { assert(has_printable_bci(), "_printable_bci should have been set"); return _printable_bci; }
   396   void set_printable_bci(int bci)                { NOT_PRODUCT(_printable_bci = bci;) }
   395   void set_printable_bci(int bci)                { _printable_bci = bci; }
   397 #endif
   396 #endif
   398   int use_count() const                          { return _use_count; }
   397   int use_count() const                          { return _use_count; }
   399   int pin_state() const                          { return _pin_state; }
   398   int pin_state() const                          { return _pin_state; }
   400   bool is_pinned() const                         { return _pin_state != 0 || PinAllInstructions; }
   399   bool is_pinned() const                         { return _pin_state != 0 || PinAllInstructions; }
   401   ValueType* type() const                        { return _type; }
   400   ValueType* type() const                        { return _type; }
   574   : Instruction(type->base())
   573   : Instruction(type->base())
   575   , _pf_flags(0)
   574   , _pf_flags(0)
   576   , _block(b)
   575   , _block(b)
   577   , _index(index)
   576   , _index(index)
   578   {
   577   {
       
   578     NOT_PRODUCT(set_printable_bci(Value(b)->printable_bci()));
   579     if (type->is_illegal()) {
   579     if (type->is_illegal()) {
   580       make_illegal();
   580       make_illegal();
   581     }
   581     }
   582   }
   582   }
   583 
   583 
   629   // creation
   629   // creation
   630   Local(ciType* declared, ValueType* type, int index)
   630   Local(ciType* declared, ValueType* type, int index)
   631     : Instruction(type)
   631     : Instruction(type)
   632     , _java_index(index)
   632     , _java_index(index)
   633     , _declared_type(declared)
   633     , _declared_type(declared)
   634   {}
   634   {
       
   635     NOT_PRODUCT(set_printable_bci(-1));
       
   636   }
   635 
   637 
   636   // accessors
   638   // accessors
   637   int java_index() const                         { return _java_index; }
   639   int java_index() const                         { return _java_index; }
   638 
   640 
   639   ciType* declared_type() const                  { return _declared_type; }
   641   ciType* declared_type() const                  { return _declared_type; }