Mercurial > hg > graal-compiler
comparison src/share/vm/oops/instanceKlass.hpp @ 2356:72dee110246f
6839872: remove implementation inheritance from JSR 292 APIs
Summary: consolidate runtime support in java.dyn.MethodHandleNatives; include transitional compatibility logic
Reviewed-by: twisti
author | jrose |
---|---|
date | Fri, 11 Mar 2011 22:33:47 -0800 |
parents | e5383553fd4e |
children | 8033953d67ff |
comparison
equal
deleted
inserted
replaced
2355:799d8ccf63cf | 2356:72dee110246f |
---|---|
192 // inner_classes attribute. | 192 // inner_classes attribute. |
193 typeArrayOop _inner_classes; | 193 typeArrayOop _inner_classes; |
194 // Implementors of this interface (not valid if it overflows) | 194 // Implementors of this interface (not valid if it overflows) |
195 klassOop _implementors[implementors_limit]; | 195 klassOop _implementors[implementors_limit]; |
196 // invokedynamic bootstrap method (a java.dyn.MethodHandle) | 196 // invokedynamic bootstrap method (a java.dyn.MethodHandle) |
197 oop _bootstrap_method; | 197 oop _bootstrap_method; // AllowTransitionalJSR292 ONLY |
198 // Annotations for this class, or null if none. | 198 // Annotations for this class, or null if none. |
199 typeArrayOop _class_annotations; | 199 typeArrayOop _class_annotations; |
200 // Annotation objects (byte arrays) for fields, or null if no annotations. | 200 // Annotation objects (byte arrays) for fields, or null if no annotations. |
201 // Indices correspond to entries (not indices) in fields array. | 201 // Indices correspond to entries (not indices) in fields array. |
202 objArrayOop _fields_annotations; | 202 objArrayOop _fields_annotations; |
527 void set_enclosing_method_indices(u2 class_index, | 527 void set_enclosing_method_indices(u2 class_index, |
528 u2 method_index) { _enclosing_method_class_index = class_index; | 528 u2 method_index) { _enclosing_method_class_index = class_index; |
529 _enclosing_method_method_index = method_index; } | 529 _enclosing_method_method_index = method_index; } |
530 | 530 |
531 // JSR 292 support | 531 // JSR 292 support |
532 oop bootstrap_method() const { return _bootstrap_method; } | 532 oop bootstrap_method() const { return _bootstrap_method; } // AllowTransitionalJSR292 ONLY |
533 void set_bootstrap_method(oop mh) { oop_store(&_bootstrap_method, mh); } | 533 void set_bootstrap_method(oop mh) { oop_store(&_bootstrap_method, mh); } |
534 | 534 |
535 // jmethodID support | 535 // jmethodID support |
536 static jmethodID get_jmethod_id(instanceKlassHandle ik_h, | 536 static jmethodID get_jmethod_id(instanceKlassHandle ik_h, |
537 methodHandle method_h); | 537 methodHandle method_h); |
815 oop* adr_protection_domain() const { return (oop*)&this->_protection_domain;} | 815 oop* adr_protection_domain() const { return (oop*)&this->_protection_domain;} |
816 oop* adr_host_klass() const { return (oop*)&this->_host_klass;} | 816 oop* adr_host_klass() const { return (oop*)&this->_host_klass;} |
817 oop* adr_signers() const { return (oop*)&this->_signers;} | 817 oop* adr_signers() const { return (oop*)&this->_signers;} |
818 oop* adr_inner_classes() const { return (oop*)&this->_inner_classes;} | 818 oop* adr_inner_classes() const { return (oop*)&this->_inner_classes;} |
819 oop* adr_implementors() const { return (oop*)&this->_implementors[0];} | 819 oop* adr_implementors() const { return (oop*)&this->_implementors[0];} |
820 oop* adr_bootstrap_method() const { return (oop*)&this->_bootstrap_method;} | 820 oop* adr_bootstrap_method() const { return (oop*)&this->_bootstrap_method;} // AllowTransitionalJSR292 ONLY |
821 oop* adr_methods_jmethod_ids() const { return (oop*)&this->_methods_jmethod_ids;} | 821 oop* adr_methods_jmethod_ids() const { return (oop*)&this->_methods_jmethod_ids;} |
822 oop* adr_methods_cached_itable_indices() const { return (oop*)&this->_methods_cached_itable_indices;} | 822 oop* adr_methods_cached_itable_indices() const { return (oop*)&this->_methods_cached_itable_indices;} |
823 oop* adr_class_annotations() const { return (oop*)&this->_class_annotations;} | 823 oop* adr_class_annotations() const { return (oop*)&this->_class_annotations;} |
824 oop* adr_fields_annotations() const { return (oop*)&this->_fields_annotations;} | 824 oop* adr_fields_annotations() const { return (oop*)&this->_fields_annotations;} |
825 oop* adr_methods_annotations() const { return (oop*)&this->_methods_annotations;} | 825 oop* adr_methods_annotations() const { return (oop*)&this->_methods_annotations;} |