--- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp Tue Nov 29 00:25:13 2016 +0300
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp Sun Nov 27 19:58:30 2016 -0800
@@ -2600,6 +2600,7 @@
AdapterHandlerEntry* AdapterHandlerLibrary::get_adapter(const methodHandle& method) {
AdapterHandlerEntry* entry = get_adapter0(method);
if (method->is_shared()) {
+ // See comments around Method::link_method()
MutexLocker mu(AdapterHandlerLibrary_lock);
if (method->adapter() == NULL) {
method->update_adapter_trampoline(entry);
@@ -2609,6 +2610,7 @@
CodeBuffer buffer(trampoline, (int)SharedRuntime::trampoline_size());
MacroAssembler _masm(&buffer);
SharedRuntime::generate_trampoline(&_masm, entry->get_c2i_entry());
+ assert(*(int*)trampoline != 0, "Instruction(s) for trampoline must not be encoded as zeros.");
if (PrintInterpreter) {
Disassembler::decode(buffer.insts_begin(), buffer.insts_end());