hotspot/src/share/vm/code/codeBlob.hpp
changeset 6176 4d9030fe341f
parent 6065 26016b8ed869
child 6418 6671edbd230e
equal deleted inserted replaced
6175:86dbf3cacacc 6176:4d9030fe341f
   161   const char* name() const                       { return _name; }
   161   const char* name() const                       { return _name; }
   162   void set_name(const char* name)                { _name = name; }
   162   void set_name(const char* name)                { _name = name; }
   163 
   163 
   164   // Debugging
   164   // Debugging
   165   virtual void verify();
   165   virtual void verify();
   166   virtual void print() const                     PRODUCT_RETURN;
   166   void print() const                             { print_on(tty); }
   167   virtual void print_value_on(outputStream* st) const PRODUCT_RETURN;
   167   virtual void print_on(outputStream* st) const;
       
   168   virtual void print_value_on(outputStream* st) const;
   168 
   169 
   169   // Print the comment associated with offset on stream, if there is one
   170   // Print the comment associated with offset on stream, if there is one
   170   virtual void print_block_comment(outputStream* stream, address block_begin) {
   171   virtual void print_block_comment(outputStream* stream, address block_begin) {
   171     intptr_t offset = (intptr_t)(block_begin - instructions_begin());
   172     intptr_t offset = (intptr_t)(block_begin - instructions_begin());
   172     _comments.print_block_comment(stream, offset);
   173     _comments.print_block_comment(stream, offset);
   207   // GC/Verification support
   208   // GC/Verification support
   208   void preserve_callee_argument_oops(frame fr, const RegisterMap* reg_map, OopClosure* f)  { /* nothing to do */ }
   209   void preserve_callee_argument_oops(frame fr, const RegisterMap* reg_map, OopClosure* f)  { /* nothing to do */ }
   209   bool is_alive() const                          { return true; }
   210   bool is_alive() const                          { return true; }
   210 
   211 
   211   void verify();
   212   void verify();
   212   void print() const                             PRODUCT_RETURN;
   213   void print_on(outputStream* st) const;
   213   void print_value_on(outputStream* st) const    PRODUCT_RETURN;
   214   void print_value_on(outputStream* st) const;
   214 };
   215 };
   215 
   216 
   216 
   217 
   217 //----------------------------------------------------------------------------------------------------
   218 //----------------------------------------------------------------------------------------------------
   218 // AdapterBlob: used to hold C2I/I2C adapters
   219 // AdapterBlob: used to hold C2I/I2C adapters
   290   // GC/Verification support
   291   // GC/Verification support
   291   void preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f)  { /* nothing to do */ }
   292   void preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f)  { /* nothing to do */ }
   292   bool is_alive() const                          { return true; }
   293   bool is_alive() const                          { return true; }
   293 
   294 
   294   void verify();
   295   void verify();
   295   void print() const                             PRODUCT_RETURN;
   296   void print_on(outputStream* st) const;
   296   void print_value_on(outputStream* st) const    PRODUCT_RETURN;
   297   void print_value_on(outputStream* st) const;
   297 };
   298 };
   298 
   299 
   299 
   300 
   300 //----------------------------------------------------------------------------------------------------
   301 //----------------------------------------------------------------------------------------------------
   301 // Super-class for all blobs that exist in only one instance. Implements default behaviour.
   302 // Super-class for all blobs that exist in only one instance. Implements default behaviour.
   315    {};
   316    {};
   316 
   317 
   317    bool is_alive() const                         { return true; }
   318    bool is_alive() const                         { return true; }
   318 
   319 
   319    void verify(); // does nothing
   320    void verify(); // does nothing
   320    void print() const                            PRODUCT_RETURN;
   321    void print_on(outputStream* st) const;
   321    void print_value_on(outputStream* st) const   PRODUCT_RETURN;
   322    void print_value_on(outputStream* st) const;
   322 };
   323 };
   323 
   324 
   324 
   325 
   325 //----------------------------------------------------------------------------------------------------
   326 //----------------------------------------------------------------------------------------------------
   326 // DeoptimizationBlob
   327 // DeoptimizationBlob
   371 
   372 
   372   // GC for args
   373   // GC for args
   373   void preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) { /* Nothing to do */ }
   374   void preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) { /* Nothing to do */ }
   374 
   375 
   375   // Printing
   376   // Printing
   376   void print_value_on(outputStream* st) const PRODUCT_RETURN;
   377   void print_value_on(outputStream* st) const;
   377 
   378 
   378   address unpack() const                         { return instructions_begin() + _unpack_offset;           }
   379   address unpack() const                         { return instructions_begin() + _unpack_offset;           }
   379   address unpack_with_exception() const          { return instructions_begin() + _unpack_with_exception;   }
   380   address unpack_with_exception() const          { return instructions_begin() + _unpack_with_exception;   }
   380   address unpack_with_reexecution() const        { return instructions_begin() + _unpack_with_reexecution; }
   381   address unpack_with_reexecution() const        { return instructions_begin() + _unpack_with_reexecution; }
   381 
   382