< prev index next >

src/hotspot/share/oops/valueKlass.cpp

Print this page

        

*** 327,337 **** THREAD); assert(klass != NULL && !HAS_PENDING_EXCEPTION, "lookup shouldn't fail"); const GrowableArray<SigEntry>& embedded = ValueKlass::cast(klass)->collect_fields(offset); sig_extended.appendAll(&embedded); } else { ! sig_extended.push(SigEntry(T_OBJECT, offset)); } } else { sig_extended.push(SigEntry(bt, offset)); if (bt == T_LONG || bt == T_DOUBLE) { sig_extended.push(SigEntry(T_VOID, offset)); --- 327,337 ---- THREAD); assert(klass != NULL && !HAS_PENDING_EXCEPTION, "lookup shouldn't fail"); const GrowableArray<SigEntry>& embedded = ValueKlass::cast(klass)->collect_fields(offset); sig_extended.appendAll(&embedded); } else { ! sig_extended.push(SigEntry(T_VALUETYPEPTR, offset)); } } else { sig_extended.push(SigEntry(bt, offset)); if (bt == T_LONG || bt == T_DOUBLE) { sig_extended.push(SigEntry(T_VOID, offset));
*** 431,441 **** const Array<VMRegPair>* regs = return_regs(); int j = 1; for (int i = 0; i < sig_vk->length(); i++) { BasicType bt = sig_vk->at(i)._bt; ! if (bt == T_OBJECT || bt == T_ARRAY) { int off = sig_vk->at(i)._offset; VMRegPair pair = regs->at(j); address loc = reg_map.location(pair.first()); oop v = *(oop*)loc; assert(v == NULL || oopDesc::is_oop(v), "not an oop?"); --- 431,441 ---- const Array<VMRegPair>* regs = return_regs(); int j = 1; for (int i = 0; i < sig_vk->length(); i++) { BasicType bt = sig_vk->at(i)._bt; ! if (bt == T_OBJECT || bt == T_VALUETYPEPTR || bt == T_ARRAY) { int off = sig_vk->at(i)._offset; VMRegPair pair = regs->at(j); address loc = reg_map.location(pair.first()); oop v = *(oop*)loc; assert(v == NULL || oopDesc::is_oop(v), "not an oop?");
*** 549,558 **** --- 549,559 ---- Unimplemented(); #endif break; } case T_OBJECT: + case T_VALUETYPEPTR: case T_ARRAY: { Handle handle = handles.at(k++); oop v = handle(); if (!UseCompressedOops) { oop* p = (oop*)((address)new_vt + off);
< prev index next >