src/share/vm/oops/valueArrayKlass.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/oops/valueArrayKlass.hpp	Fri Jun 16 14:34:20 2017
--- new/src/share/vm/oops/valueArrayKlass.hpp	Fri Jun 16 14:34:20 2017

*** 34,48 **** --- 34,45 ---- * Array of values, gives a layout of typeArrayOop, but needs oops iterators */ class ValueArrayKlass : public ArrayKlass { friend class VMStructs; private: ValueKlass* _element_klass; // The klass of the elements of this array type // Constructor ValueArrayKlass(Klass* element_klass, Symbol* name); void set_element_klass(ValueKlass* k); static ValueArrayKlass* allocate_klass(Klass* element_klass, Symbol* name, TRAPS); protected: // Returns the ArrayKlass for n'th dimension. Klass* array_klass_impl(bool or_null, int n, TRAPS);
*** 52,61 **** --- 49,61 ---- public: ValueArrayKlass() {} + virtual ValueKlass* element_klass() const; + virtual void set_element_klass(Klass* k); + // Casting from Klass* static ValueArrayKlass* cast(Klass* k) { assert(k->is_valueArray_klass(), "cast to ValueArrayKlass"); return (ValueArrayKlass*) k; }
*** 63,85 **** --- 63,86 ---- // klass allocation static ValueArrayKlass* allocate_klass(Klass* element_klass, TRAPS); void initialize(TRAPS); // Instance variables ValueKlass* element_klass() const { return _element_klass; } ValueKlass** element_klass_addr() { return &_element_klass; } ModuleEntry* module() const; PackageEntry* package() const; int element_byte_size() const { return 1 << layout_helper_log2_element_size(_layout_helper); } bool is_valueArray_klass_slow() const { return true; } - bool contains_oops() { return element_klass()->contains_oops(); } bool is_atomic() { return element_klass()->is_atomic(); } + return element_klass()->contains_oops(); + } + + bool is_atomic() { + return element_klass()->is_atomic(); + } oop protection_domain() const; static jint array_layout_helper(ValueKlass* vklass); // layout helper for values
*** 99,111 **** --- 100,109 ---- const char* internal_name() const { return external_name(); } // Copying void copy_array(arrayOop s, int src_pos, arrayOop d, int dst_pos, int length, TRAPS); // Compiler/Interpreter offset static ByteSize element_klass_offset() { return in_ByteSize(offset_of(ValueArrayKlass, _element_klass)); } // GC specific object visitors // // Mark Sweep int oop_ms_adjust_pointers(oop obj);

src/share/vm/oops/valueArrayKlass.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File