< prev index next >

src/hotspot/share/oops/instanceKlass.hpp

Print this page

        

*** 141,150 **** --- 141,156 ---- int* _default_value_offset; friend class ValueKlass; }; + class ValueTypes VALUE_OBJ_CLASS_SPEC { + public: + u2 _class_info_index; + Symbol* _class_name; + }; + class InstanceKlass: public Klass { friend class VMStructs; friend class JVMCIVMStructs; friend class ClassFileParser; friend class CompileReplay;
*** 192,201 **** --- 198,209 ---- // number_of_inner_classes * 4. If the class has both InnerClasses // and EnclosingMethod attributes the _inner_classes array length is // number_of_inner_classes * 4 + enclosing_method_attribute_size. Array<jushort>* _inner_classes; + Array<ValueTypes>* _value_types; + // the source debug extension for this klass, NULL if not specified. // Specified as UTF-8 string without terminating zero byte in the classfile, // it is stored in the instanceklass as a NULL-terminated UTF-8 string const char* _source_debug_extension; // Array name derived from this class which needs unreferencing
*** 478,487 **** --- 486,504 ---- // inner classes Array<u2>* inner_classes() const { return _inner_classes; } void set_inner_classes(Array<u2>* f) { _inner_classes = f; } + Array<ValueTypes>* value_types() const { return _value_types; } + void set_value_types(Array<ValueTypes>* f) { _value_types = f; } + + bool is_declared_value_type(int index); + bool is_declared_value_type(Symbol* symbol); + + static bool is_declared_value_type(Array<ValueTypes>* value_types, int index); + static bool is_declared_value_type(ConstantPool* constants, Array<ValueTypes>* value_types, Symbol* symbol); + enum InnerClassAttributeOffset { // From http://mirror.eng/products/jdk/1.1/docs/guide/innerclasses/spec/innerclasses.doc10.html#18814 inner_class_inner_class_info_offset = 0, inner_class_outer_class_info_offset = 1, inner_class_inner_name_offset = 2,
< prev index next >