< prev index next >
src/share/vm/shark/sharkTopLevelBlock.cpp
Print this page
*** 1142,1152 ****
return builder()->CreateLoad(
builder()->CreateArrayAddress(
klass,
SharkType::Method_type(),
vtableEntry::size_in_bytes(),
! InstanceKlass::vtable_start_offset(),
LLVMValue::intptr_constant(vtable_index)),
"callee");
}
Value* SharkTopLevelBlock::get_interface_callee(SharkValue *receiver,
--- 1142,1152 ----
return builder()->CreateLoad(
builder()->CreateArrayAddress(
klass,
SharkType::Method_type(),
vtableEntry::size_in_bytes(),
! Klass::vtable_start_offset(),
LLVMValue::intptr_constant(vtable_index)),
"callee");
}
Value* SharkTopLevelBlock::get_interface_callee(SharkValue *receiver,
*** 1164,1179 ****
"object_klass");
Value *vtable_start = builder()->CreateAdd(
builder()->CreatePtrToInt(object_klass, SharkType::intptr_type()),
LLVMValue::intptr_constant(
! in_bytes(InstanceKlass::vtable_start_offset())),
"vtable_start");
Value *vtable_length = builder()->CreateValueOfStructEntry(
object_klass,
! InstanceKlass::vtable_length_offset(),
SharkType::jint_type(),
"vtable_length");
vtable_length =
builder()->CreateIntCast(vtable_length, SharkType::intptr_type(), false);
--- 1164,1179 ----
"object_klass");
Value *vtable_start = builder()->CreateAdd(
builder()->CreatePtrToInt(object_klass, SharkType::intptr_type()),
LLVMValue::intptr_constant(
! in_bytes(Klass::vtable_start_offset())),
"vtable_start");
Value *vtable_length = builder()->CreateValueOfStructEntry(
object_klass,
! Klass::vtable_length_offset(),
SharkType::jint_type(),
"vtable_length");
vtable_length =
builder()->CreateIntCast(vtable_length, SharkType::intptr_type(), false);
< prev index next >