diff -r 7e8f6c56c285 -r 6a159c6c23cc src/hotspot/share/runtime/sharedRuntime.hpp --- a/src/hotspot/share/runtime/sharedRuntime.hpp Wed Jul 24 10:09:30 2019 +0800 +++ b/src/hotspot/share/runtime/sharedRuntime.hpp Wed Jul 24 10:50:40 2019 +0300 @@ -636,6 +636,7 @@ address _i2c_entry; address _c2i_entry; address _c2i_unverified_entry; + address _c2i_no_clinit_check_entry; #ifdef ASSERT // Captures code and signature used to generate this adapter when @@ -644,11 +645,12 @@ int _saved_code_length; #endif - void init(AdapterFingerPrint* fingerprint, address i2c_entry, address c2i_entry, address c2i_unverified_entry) { + void init(AdapterFingerPrint* fingerprint, address i2c_entry, address c2i_entry, address c2i_unverified_entry, address c2i_no_clinit_check_entry) { _fingerprint = fingerprint; _i2c_entry = i2c_entry; _c2i_entry = c2i_entry; _c2i_unverified_entry = c2i_unverified_entry; + _c2i_no_clinit_check_entry = c2i_no_clinit_check_entry; #ifdef ASSERT _saved_code = NULL; _saved_code_length = 0; @@ -661,9 +663,11 @@ AdapterHandlerEntry(); public: - address get_i2c_entry() const { return _i2c_entry; } - address get_c2i_entry() const { return _c2i_entry; } - address get_c2i_unverified_entry() const { return _c2i_unverified_entry; } + address get_i2c_entry() const { return _i2c_entry; } + address get_c2i_entry() const { return _c2i_entry; } + address get_c2i_unverified_entry() const { return _c2i_unverified_entry; } + address get_c2i_no_clinit_check_entry() const { return _c2i_no_clinit_check_entry; } + address base_address(); void relocate(address new_base); @@ -709,7 +713,10 @@ public: static AdapterHandlerEntry* new_entry(AdapterFingerPrint* fingerprint, - address i2c_entry, address c2i_entry, address c2i_unverified_entry); + address i2c_entry, + address c2i_entry, + address c2i_unverified_entry, + address c2i_no_clinit_check_entry = NULL); static void create_native_wrapper(const methodHandle& method); static AdapterHandlerEntry* get_adapter(const methodHandle& method);