Print this page
rev 1025 : imported patch indy.compiler.patch

Split Close
Expand all
Collapse all
          --- old/src/share/vm/ci/ciObject.hpp
          +++ new/src/share/vm/ci/ciObject.hpp
↓ open down ↓ 123 lines elided ↑ open up ↑
 124  124    // generated code to represent this oop.  This address
 125  125    // is not the true address of the oop -- it will get patched
 126  126    // during nmethod creation.
 127  127    //
 128  128    // Usage note: no address arithmetic allowed.  Oop must
 129  129    // be registered with the oopRecorder.
 130  130    jobject constant_encoding();
 131  131  
 132  132    // What kind of ciObject is this?
 133  133    virtual bool is_null_object() const       { return false; }
      134 +  virtual bool is_cpcache() const           { return false; }
 134  135    virtual bool is_instance()                { return false; }
 135  136    virtual bool is_method()                  { return false; }
 136  137    virtual bool is_method_data()             { return false; }
 137  138    virtual bool is_array()                   { return false; }
 138  139    virtual bool is_obj_array()               { return false; }
 139  140    virtual bool is_type_array()              { return false; }
 140  141    virtual bool is_symbol()                  { return false; }
 141  142    virtual bool is_type()                    { return false; }
 142  143    virtual bool is_return_address()          { return false; }
 143  144    virtual bool is_klass()                   { return false; }
↓ open down ↓ 34 lines elided ↑ open up ↑
 178  179    // considered loaded, and primitive types are considered loaded.
 179  180    bool is_loaded() const {
 180  181      return handle() != NULL || is_classless();
 181  182    }
 182  183  
 183  184    // Subclass casting with assertions.
 184  185    ciNullObject*            as_null_object() {
 185  186      assert(is_null_object(), "bad cast");
 186  187      return (ciNullObject*)this;
 187  188    }
      189 +  ciCPCache*               as_cpcache() {
      190 +    assert(is_cpcache(), "bad cast");
      191 +    return (ciCPCache*) this;
      192 +  }
 188  193    ciInstance*              as_instance() {
 189  194      assert(is_instance(), "bad cast");
 190  195      return (ciInstance*)this;
 191  196    }
 192  197    ciMethod*                as_method() {
 193  198      assert(is_method(), "bad cast");
 194  199      return (ciMethod*)this;
 195  200    }
 196  201    ciMethodData*            as_method_data() {
 197  202      assert(is_method_data(), "bad cast");
↓ open down ↓ 81 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX