--- old/src/share/vm/opto/callGenerator.cpp 2016-11-04 16:24:21.565205291 +0100 +++ new/src/share/vm/opto/callGenerator.cpp 2016-11-04 16:24:21.433205297 +0100 @@ -153,9 +153,14 @@ } _call_node = call; // Save the call node in case we need it later if (!is_static) { - // Make an explicit receiver null_check as part of this call. - // Since we share a map with the caller, his JVMS gets adjusted. - kit.null_check_receiver_before_call(method()); + if (kit.argument(0)->is_ValueType()) { + ValueTypeNode* vt = kit.argument(0)->as_ValueType(); + vt->store_to_memory(&kit); + } else { + // Make an explicit receiver null_check as part of this call. + // Since we share a map with the caller, his JVMS gets adjusted. + kit.null_check_receiver_before_call(method()); + } if (kit.stopped()) { // And dump it back to the caller, decorated with any exceptions: return kit.transfer_exceptions_into_jvms();