< prev index next >

src/hotspot/share/opto/runtime.cpp

Print this page

        

*** 1742,1759 **** return TypeFunc::make(domain, range); } JRT_LEAF(void, OptoRuntime::load_unknown_value(valueArrayOopDesc* array, int index, instanceOopDesc* buffer)) { ! Klass* klass = array->klass(); ! assert(klass->is_valueArray_klass(), "expected value array oop"); ! ! ValueArrayKlass* vaklass = ValueArrayKlass::cast(klass); ! ValueKlass* vklass = vaklass->element_klass(); ! void* src = array->value_at_addr(index, vaklass->layout_helper()); ! vklass->value_store(src, vklass->data_for_oop(buffer), ! vaklass->element_byte_size(), true, false); } JRT_END const TypeFunc *OptoRuntime::load_unknown_value_Type() { // create input type (domain) --- 1742,1752 ---- return TypeFunc::make(domain, range); } JRT_LEAF(void, OptoRuntime::load_unknown_value(valueArrayOopDesc* array, int index, instanceOopDesc* buffer)) { ! array->value_copy_from_index(index, buffer); } JRT_END const TypeFunc *OptoRuntime::load_unknown_value_Type() { // create input type (domain)
*** 1775,1793 **** } JRT_LEAF(void, OptoRuntime::store_unknown_value(instanceOopDesc* buffer, valueArrayOopDesc* array, int index)) { assert(buffer != NULL, "can't store null into flat array"); ! Klass* klass = array->klass(); ! assert(klass->is_valueArray_klass(), "expected value array"); ! assert(ArrayKlass::cast(klass)->element_klass() == buffer->klass(), "Store type incorrect"); ! ! ValueArrayKlass* vaklass = ValueArrayKlass::cast(klass); ! ValueKlass* vklass = vaklass->element_klass(); ! const int lh = vaklass->layout_helper(); ! vklass->value_store(vklass->data_for_oop(buffer), array->value_at_addr(index, lh), ! vaklass->element_byte_size(), true, false); } JRT_END const TypeFunc *OptoRuntime::store_unknown_value_Type() { // create input type (domain) --- 1768,1778 ---- } JRT_LEAF(void, OptoRuntime::store_unknown_value(instanceOopDesc* buffer, valueArrayOopDesc* array, int index)) { assert(buffer != NULL, "can't store null into flat array"); ! array->value_copy_to_index(buffer, index); } JRT_END const TypeFunc *OptoRuntime::store_unknown_value_Type() { // create input type (domain)
< prev index next >