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

src/share/vm/oops/valueArrayKlass.hpp

Print this page

        

*** 34,48 **** * 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); --- 34,45 ----
*** 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 **** // 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(); } oop protection_domain() const; static jint array_layout_helper(ValueKlass* vklass); // layout helper for values --- 63,86 ---- // klass allocation static ValueArrayKlass* allocate_klass(Klass* element_klass, TRAPS); void initialize(TRAPS); 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(); ! } oop protection_domain() const; static jint array_layout_helper(ValueKlass* vklass); // layout helper for values
*** 99,111 **** 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); --- 100,109 ----
src/share/vm/oops/valueArrayKlass.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File