< prev index next >

src/hotspot/share/c1/c1_Runtime1.cpp

Print this page

*** 427,439 **** ValueKlass* vklass = vaklass->element_klass(); // We have a non-empty flattened array, so the element type must have been initialized. assert(vklass->is_initialized(), "must be"); Handle holder(THREAD, vklass->klass_holder()); // keep the vklass alive oop obj = vklass->allocate_instance(CHECK); ! void* src = array->value_at_addr(index, vaklass->layout_helper()); vklass->value_store(src, vklass->data_for_oop(obj), vaklass->element_byte_size(), true, false); thread->set_vm_result(obj); JRT_END --- 427,440 ---- ValueKlass* vklass = vaklass->element_klass(); // We have a non-empty flattened array, so the element type must have been initialized. assert(vklass->is_initialized(), "must be"); Handle holder(THREAD, vklass->klass_holder()); // keep the vklass alive + valueArrayHandle ha(THREAD, array); oop obj = vklass->allocate_instance(CHECK); ! void* src = ha()->value_at_addr(index, vaklass->layout_helper()); vklass->value_store(src, vklass->data_for_oop(obj), vaklass->element_byte_size(), true, false); thread->set_vm_result(obj); JRT_END
< prev index next >