< prev index next >

src/share/vm/runtime/deoptimization.cpp

Print this page

        

*** 877,887 **** // We're deoptimizing at the return of a call, value type fields are // in registers. When we go back to the interpreter, it will expect a // reference to a value type instance. Allocate and initialize it from // the register values here. bool Deoptimization::realloc_value_type_result(ValueKlass* vk, const RegisterMap& map, GrowableArray<Handle>& return_oops, TRAPS) { ! oop new_vt = vk->realloc_result(map, return_oops, THREAD); if (new_vt == NULL) { CLEAR_PENDING_EXCEPTION; THROW_OOP_(Universe::out_of_memory_error_realloc_objects(), true); } return_oops.clear(); --- 877,887 ---- // We're deoptimizing at the return of a call, value type fields are // in registers. When we go back to the interpreter, it will expect a // reference to a value type instance. Allocate and initialize it from // the register values here. bool Deoptimization::realloc_value_type_result(ValueKlass* vk, const RegisterMap& map, GrowableArray<Handle>& return_oops, TRAPS) { ! oop new_vt = vk->realloc_result(map, return_oops, false, THREAD); if (new_vt == NULL) { CLEAR_PENDING_EXCEPTION; THROW_OOP_(Universe::out_of_memory_error_realloc_objects(), true); } return_oops.clear();
< prev index next >