Mercurial > hg > graal-jvmci-8
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; |