--- old/src/hotspot/share/runtime/deoptimization.cpp 2017-10-20 11:22:50.955585210 +0200 +++ new/src/hotspot/share/runtime/deoptimization.cpp 2017-10-20 11:22:50.759585212 +0200 @@ -220,16 +220,11 @@ // of all oop return values. GrowableArray return_oops; ValueKlass* vk = NULL; - if (save_oop_result) { - if (scope->return_vt()) { - vk = ValueKlass::returned_value_type(map); - if (vk != NULL) { - bool success = vk->save_oop_results(map, return_oops); - assert(success, "found klass ptr being returned: saving oops can't fail"); - save_oop_result = false; - } else { - vk = NULL; - } + if (save_oop_result && scope->return_vt()) { + vk = ValueKlass::returned_value_klass(map); + if (vk != NULL) { + vk->save_oop_fields(map, return_oops); + save_oop_result = false; } } if (save_oop_result) {