hotspot/src/share/vm/ci/ciEnv.hpp
changeset 8076 96d498ec7ae1
parent 7397 5b173b4ca846
child 8921 14bfe81f2a9d
equal deleted inserted replaced
8075:582dd25571b2 8076:96d498ec7ae1
    77   bool  _dtrace_alloc_probes;
    77   bool  _dtrace_alloc_probes;
    78 
    78 
    79   // Distinguished instances of certain ciObjects..
    79   // Distinguished instances of certain ciObjects..
    80   static ciObject*              _null_object_instance;
    80   static ciObject*              _null_object_instance;
    81   static ciMethodKlass*         _method_klass_instance;
    81   static ciMethodKlass*         _method_klass_instance;
    82   static ciSymbolKlass*         _symbol_klass_instance;
       
    83   static ciKlassKlass*          _klass_klass_instance;
    82   static ciKlassKlass*          _klass_klass_instance;
    84   static ciInstanceKlassKlass*  _instance_klass_klass_instance;
    83   static ciInstanceKlassKlass*  _instance_klass_klass_instance;
    85   static ciTypeArrayKlassKlass* _type_array_klass_klass_instance;
    84   static ciTypeArrayKlassKlass* _type_array_klass_klass_instance;
    86   static ciObjArrayKlassKlass*  _obj_array_klass_klass_instance;
    85   static ciObjArrayKlassKlass*  _obj_array_klass_klass_instance;
    87 
    86 
   158   // Helper methods
   157   // Helper methods
   159   bool       check_klass_accessibility(ciKlass* accessing_klass,
   158   bool       check_klass_accessibility(ciKlass* accessing_klass,
   160                                       klassOop resolved_klassOop);
   159                                       klassOop resolved_klassOop);
   161   methodOop  lookup_method(instanceKlass*  accessor,
   160   methodOop  lookup_method(instanceKlass*  accessor,
   162                            instanceKlass*  holder,
   161                            instanceKlass*  holder,
   163                            symbolOop       name,
   162                            Symbol*         name,
   164                            symbolOop       sig,
   163                            Symbol*         sig,
   165                            Bytecodes::Code bc);
   164                            Bytecodes::Code bc);
   166 
   165 
   167   // Get a ciObject from the object factory.  Ensures uniqueness
   166   // Get a ciObject from the object factory.  Ensures uniqueness
   168   // of ciObjects.
   167   // of ciObjects.
   169   ciObject* get_object(oop o) {
   168   ciObject* get_object(oop o) {
   172     } else {
   171     } else {
   173       return _factory->get(o);
   172       return _factory->get(o);
   174     }
   173     }
   175   }
   174   }
   176 
   175 
       
   176   ciSymbol* get_symbol(Symbol* o) {
       
   177     if (o == NULL) {
       
   178       ShouldNotReachHere();
       
   179       return NULL;
       
   180     } else {
       
   181       return _factory->get_symbol(o);
       
   182     }
       
   183   }
       
   184 
   177   ciMethod* get_method_from_handle(jobject method);
   185   ciMethod* get_method_from_handle(jobject method);
   178 
   186 
   179   ciInstance* get_or_create_exception(jobject& handle, symbolHandle name);
   187   ciInstance* get_or_create_exception(jobject& handle, Symbol* name);
   180 
   188 
   181   // Get a ciMethod representing either an unfound method or
   189   // Get a ciMethod representing either an unfound method or
   182   // a method with an unloaded holder.  Ensures uniqueness of
   190   // a method with an unloaded holder.  Ensures uniqueness of
   183   // the result.
   191   // the result.
   184   ciMethod* get_unloaded_method(ciInstanceKlass* holder,
   192   ciMethod* get_unloaded_method(ciInstanceKlass* holder,