hotspot/src/share/vm/ci/ciObject.hpp
changeset 4567 7fc02fbe5c7a
parent 4566 b363f6ef4068
child 5547 f4b087cbb361
equal deleted inserted replaced
4566:b363f6ef4068 4567:7fc02fbe5c7a
   129   // be registered with the oopRecorder.
   129   // be registered with the oopRecorder.
   130   jobject constant_encoding();
   130   jobject constant_encoding();
   131 
   131 
   132   // What kind of ciObject is this?
   132   // What kind of ciObject is this?
   133   virtual bool is_null_object() const       { return false; }
   133   virtual bool is_null_object() const       { return false; }
       
   134   virtual bool is_call_site() const         { return false; }
   134   virtual bool is_cpcache() const           { return false; }
   135   virtual bool is_cpcache() const           { return false; }
   135   virtual bool is_instance()                { return false; }
   136   virtual bool is_instance()                { return false; }
   136   virtual bool is_method()                  { return false; }
   137   virtual bool is_method()                  { return false; }
   137   virtual bool is_method_data()             { return false; }
   138   virtual bool is_method_data()             { return false; }
       
   139   virtual bool is_method_handle() const     { return false; }
   138   virtual bool is_array()                   { return false; }
   140   virtual bool is_array()                   { return false; }
   139   virtual bool is_obj_array()               { return false; }
   141   virtual bool is_obj_array()               { return false; }
   140   virtual bool is_type_array()              { return false; }
   142   virtual bool is_type_array()              { return false; }
   141   virtual bool is_symbol()                  { return false; }
   143   virtual bool is_symbol()                  { return false; }
   142   virtual bool is_type()                    { return false; }
   144   virtual bool is_type()                    { return false; }
   184   // Subclass casting with assertions.
   186   // Subclass casting with assertions.
   185   ciNullObject*            as_null_object() {
   187   ciNullObject*            as_null_object() {
   186     assert(is_null_object(), "bad cast");
   188     assert(is_null_object(), "bad cast");
   187     return (ciNullObject*)this;
   189     return (ciNullObject*)this;
   188   }
   190   }
       
   191   ciCallSite*              as_call_site() {
       
   192     assert(is_call_site(), "bad cast");
       
   193     return (ciCallSite*) this;
       
   194   }
   189   ciCPCache*               as_cpcache() {
   195   ciCPCache*               as_cpcache() {
   190     assert(is_cpcache(), "bad cast");
   196     assert(is_cpcache(), "bad cast");
   191     return (ciCPCache*) this;
   197     return (ciCPCache*) this;
   192   }
   198   }
   193   ciInstance*              as_instance() {
   199   ciInstance*              as_instance() {
   200   }
   206   }
   201   ciMethodData*            as_method_data() {
   207   ciMethodData*            as_method_data() {
   202     assert(is_method_data(), "bad cast");
   208     assert(is_method_data(), "bad cast");
   203     return (ciMethodData*)this;
   209     return (ciMethodData*)this;
   204   }
   210   }
       
   211   ciMethodHandle*          as_method_handle() {
       
   212     assert(is_method_handle(), "bad cast");
       
   213     return (ciMethodHandle*) this;
       
   214   }
   205   ciArray*                 as_array() {
   215   ciArray*                 as_array() {
   206     assert(is_array(), "bad cast");
   216     assert(is_array(), "bad cast");
   207     return (ciArray*)this;
   217     return (ciArray*)this;
   208   }
   218   }
   209   ciObjArray*              as_obj_array() {
   219   ciObjArray*              as_obj_array() {