--- old/src/share/vm/oops/method.hpp 2017-06-20 16:28:33.322253690 -0400 +++ new/src/share/vm/oops/method.hpp 2017-06-20 16:28:32.370248969 -0400 @@ -103,6 +103,7 @@ // NULL only at safepoints (because of a de-opt). CompiledMethod* volatile _code; // Points to the corresponding piece of native code volatile address _from_interpreted_entry; // Cache of _code ? _adapter->i2c_entry() : _i2i_entry + int _max_vt_buffer; // max number of VT buffer chunk to use before recycling #if INCLUDE_AOT && defined(TIERED) CompiledMethod* _aot_code; @@ -263,6 +264,12 @@ int max_locals() const { return constMethod()->max_locals(); } void set_max_locals(int size) { constMethod()->set_max_locals(size); } + // value type buffering + void initialize_max_vt_buffer(); + int max_vt_buffer() const { return _max_vt_buffer; } + void set_max_vt_buffer(int size) { _max_vt_buffer = size; } + + int highest_comp_level() const; void set_highest_comp_level(int level); int highest_osr_comp_level() const; @@ -705,6 +712,8 @@ static int intrinsic_id_offset_in_bytes() { return offset_of(Method, _intrinsic_id); } static int intrinsic_id_size_in_bytes() { return sizeof(u2); } + static ByteSize max_vt_buffer_offset() { return byte_offset_of(Method, _max_vt_buffer); } + // Static methods that are used to implement member methods where an exposed this pointer // is needed due to possible GCs static objArrayHandle resolved_checked_exceptions_impl(Method* method, TRAPS);