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

Split Close
Expand all
Collapse all
          --- old/src/share/vm/ci/ciEnv.hpp
          +++ new/src/share/vm/ci/ciEnv.hpp
↓ open down ↓ 69 lines elided ↑ open up ↑
  70   70    static ciMethodKlass*         _method_klass_instance;
  71   71    static ciSymbolKlass*         _symbol_klass_instance;
  72   72    static ciKlassKlass*          _klass_klass_instance;
  73   73    static ciInstanceKlassKlass*  _instance_klass_klass_instance;
  74   74    static ciTypeArrayKlassKlass* _type_array_klass_klass_instance;
  75   75    static ciObjArrayKlassKlass*  _obj_array_klass_klass_instance;
  76   76  
  77   77    static ciInstanceKlass* _ArrayStoreException;
  78   78    static ciInstanceKlass* _Class;
  79   79    static ciInstanceKlass* _ClassCastException;
       80 +  static ciInstanceKlass* _InvokeDynamic;
  80   81    static ciInstanceKlass* _Object;
  81   82    static ciInstanceKlass* _Throwable;
  82   83    static ciInstanceKlass* _Thread;
  83   84    static ciInstanceKlass* _OutOfMemoryError;
  84   85    static ciInstanceKlass* _String;
  85   86  
  86   87    static ciSymbol*        _unloaded_cisymbol;
  87   88    static ciInstanceKlass* _unloaded_ciinstance_klass;
  88   89    static ciObjArrayKlass* _unloaded_ciobjarrayklass;
  89   90  
↓ open down ↓ 48 lines elided ↑ open up ↑
 138  139    ciConstant get_constant_by_index_impl(ciInstanceKlass* loading_klass,
 139  140                                          int constant_index);
 140  141    bool       is_unresolved_string_impl (instanceKlass* loading_klass,
 141  142                                          int constant_index) const;
 142  143    bool       is_unresolved_klass_impl (instanceKlass* loading_klass,
 143  144                                          int constant_index) const;
 144  145    ciField*   get_field_by_index_impl(ciInstanceKlass* loading_klass,
 145  146                                       int field_index);
 146  147    ciMethod*  get_method_by_index_impl(ciInstanceKlass* loading_klass,
 147  148                                        int method_index, Bytecodes::Code bc);
      149 +  ciMethod*  get_fake_invokedynamic_method_impl(ciInstanceKlass* accessor,
      150 +                                                int index, Bytecodes::Code bc);
 148  151  
 149  152    // Helper methods
 150  153    bool       check_klass_accessibility(ciKlass* accessing_klass,
 151  154                                        klassOop resolved_klassOop);
 152  155    methodOop  lookup_method(instanceKlass*  accessor,
 153  156                             instanceKlass*  holder,
 154  157                             symbolOop       name,
 155  158                             symbolOop       sig,
 156  159                             Bytecodes::Code bc);
 157  160  
↓ open down ↓ 130 lines elided ↑ open up ↑
 288  291    // Access to certain well known ciObjects.
 289  292    ciInstanceKlass* ArrayStoreException_klass() {
 290  293      return _ArrayStoreException;
 291  294    }
 292  295    ciInstanceKlass* Class_klass() {
 293  296      return _Class;
 294  297    }
 295  298    ciInstanceKlass* ClassCastException_klass() {
 296  299      return _ClassCastException;
 297  300    }
      301 +  ciInstanceKlass* InvokeDynamic_klass() {
      302 +    return _InvokeDynamic;
      303 +  }
 298  304    ciInstanceKlass* Object_klass() {
 299  305      return _Object;
 300  306    }
 301  307    ciInstanceKlass* Throwable_klass() {
 302  308      return _Throwable;
 303  309    }
 304  310    ciInstanceKlass* Thread_klass() {
 305  311      return _Thread;
 306  312    }
 307  313    ciInstanceKlass* OutOfMemoryError_klass() {
↓ open down ↓ 78 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX