--- old/src/share/vm/runtime/sharedRuntime.cpp 2017-06-20 16:28:50.482338782 -0400 +++ new/src/share/vm/runtime/sharedRuntime.cpp 2017-06-20 16:28:49.890335847 -0400 @@ -3465,7 +3465,8 @@ } #endif - if (Universe::heap()->is_in_reserved((void*)res)) { +// if (Universe::heap()->is_in_reserved((void*)res)) { + if (!Metaspace::contains((void*)res)) { // We're not returning with value type fields in registers (the // calling convention didn't allow it for this value klass) thread->set_vm_result((oopDesc*)res);