--- old/src/hotspot/share/oops/instanceKlass.hpp 2019-03-27 16:10:38.771176202 +0100 +++ new/src/hotspot/share/oops/instanceKlass.hpp 2019-03-27 16:10:38.427170509 +0100 @@ -143,6 +143,7 @@ address* _pack_handler; address* _unpack_handler; int* _default_value_offset; + Klass** _value_array_klass; friend class ValueKlass; }; @@ -1096,8 +1097,7 @@ void do_local_static_fields(void f(fieldDescriptor*, Handle, TRAPS), Handle, TRAPS); void methods_do(void f(Method* method)); - void array_klasses_do(void f(Klass* k)); - void array_klasses_do(void f(Klass* k, TRAPS), TRAPS); + virtual void array_klasses_do(void f(Klass* k)); bool super_types_do(SuperTypeClosure* blk); static InstanceKlass* cast(Klass* k) { @@ -1392,10 +1392,10 @@ JNIid* jni_id_for_impl (int offset); protected: // Returns the array class for the n'th dimension - virtual Klass* array_klass_impl(bool or_null, int n, TRAPS); + virtual Klass* array_klass_impl(ArrayStorageProperties storage_props, bool or_null, int n, TRAPS); // Returns the array class with this class as element type - virtual Klass* array_klass_impl(bool or_null, TRAPS); + virtual Klass* array_klass_impl(ArrayStorageProperties storage_props, bool or_null, TRAPS); private: