8147461: Use byte offsets for vtable start and vtable length offsets

Reviewed-by: cjplummer, coleenp, dnsimon
This commit is contained in:
Mikael Gerdin 2016-01-27 14:50:56 +01:00
parent 1fdb299974
commit 1163c0a2cb
21 changed files with 73 additions and 77 deletions

View file

@ -3153,11 +3153,11 @@ void TemplateTable::invokeinterface(int byte_no) {
//
// compute start of first itableOffsetEntry (which is at end of vtable)
const int base = InstanceKlass::vtable_start_offset() * wordSize;
const int base = in_bytes(InstanceKlass::vtable_start_offset());
Label search;
Register Rtemp = O1_flags;
__ ld(O2_Klass, InstanceKlass::vtable_length_offset() * wordSize, Rtemp);
__ ld(O2_Klass, in_bytes(InstanceKlass::vtable_length_offset()), Rtemp);
__ sll(Rtemp, LogBytesPerWord, Rtemp); // Rscratch *= 4;
if (Assembler::is_simm13(base)) {
__ add(Rtemp, base, Rtemp);