comparison src/share/vm/ci/ciEnv.hpp @ 1137:97125851f396

6829187: compiler optimizations required for JSR 292 Summary: C2 implementation for invokedynamic support. Reviewed-by: kvn, never
author twisti
date Tue, 05 Jan 2010 13:05:58 +0100
parents 7c57aead6d3e
children dd57230ba8fe
comparison
equal deleted inserted replaced
1136:4b84186a8248 1137:97125851f396
75 static ciObjArrayKlassKlass* _obj_array_klass_klass_instance; 75 static ciObjArrayKlassKlass* _obj_array_klass_klass_instance;
76 76
77 static ciInstanceKlass* _ArrayStoreException; 77 static ciInstanceKlass* _ArrayStoreException;
78 static ciInstanceKlass* _Class; 78 static ciInstanceKlass* _Class;
79 static ciInstanceKlass* _ClassCastException; 79 static ciInstanceKlass* _ClassCastException;
80 static ciInstanceKlass* _InvokeDynamic;
80 static ciInstanceKlass* _Object; 81 static ciInstanceKlass* _Object;
81 static ciInstanceKlass* _Throwable; 82 static ciInstanceKlass* _Throwable;
82 static ciInstanceKlass* _Thread; 83 static ciInstanceKlass* _Thread;
83 static ciInstanceKlass* _OutOfMemoryError; 84 static ciInstanceKlass* _OutOfMemoryError;
84 static ciInstanceKlass* _String; 85 static ciInstanceKlass* _String;
149 int constant_index) const; 150 int constant_index) const;
150 ciField* get_field_by_index_impl(ciInstanceKlass* loading_klass, 151 ciField* get_field_by_index_impl(ciInstanceKlass* loading_klass,
151 int field_index); 152 int field_index);
152 ciMethod* get_method_by_index_impl(ciInstanceKlass* loading_klass, 153 ciMethod* get_method_by_index_impl(ciInstanceKlass* loading_klass,
153 int method_index, Bytecodes::Code bc); 154 int method_index, Bytecodes::Code bc);
155 ciMethod* get_fake_invokedynamic_method_impl(ciInstanceKlass* accessor,
156 int index, Bytecodes::Code bc);
154 157
155 // Helper methods 158 // Helper methods
156 bool check_klass_accessibility(ciKlass* accessing_klass, 159 bool check_klass_accessibility(ciKlass* accessing_klass,
157 klassOop resolved_klassOop); 160 klassOop resolved_klassOop);
158 methodOop lookup_method(instanceKlass* accessor, 161 methodOop lookup_method(instanceKlass* accessor,
299 return _Class; 302 return _Class;
300 } 303 }
301 ciInstanceKlass* ClassCastException_klass() { 304 ciInstanceKlass* ClassCastException_klass() {
302 return _ClassCastException; 305 return _ClassCastException;
303 } 306 }
307 ciInstanceKlass* InvokeDynamic_klass() {
308 return _InvokeDynamic;
309 }
304 ciInstanceKlass* Object_klass() { 310 ciInstanceKlass* Object_klass() {
305 return _Object; 311 return _Object;
306 } 312 }
307 ciInstanceKlass* Throwable_klass() { 313 ciInstanceKlass* Throwable_klass() {
308 return _Throwable; 314 return _Throwable;