< prev index next >

src/cpu/ppc/vm/macroAssembler_ppc.cpp

Print this page

        

@@ -1538,17 +1538,17 @@
   assert_different_registers(recv_klass, intf_klass, method_result, scan_temp);
   assert(itable_index.is_constant() || itable_index.as_register() == method_result,
          "caller must use same register for non-constant itable index as for method");
 
   // Compute start of first itableOffsetEntry (which is at the end of the vtable).
-  int vtable_base = InstanceKlass::vtable_start_offset() * wordSize;
+  int vtable_base = in_bytes(InstanceKlass::vtable_start_offset());
   int itentry_off = itableMethodEntry::method_offset_in_bytes();
   int logMEsize   = exact_log2(itableMethodEntry::size() * wordSize);
   int scan_step   = itableOffsetEntry::size() * wordSize;
-  int log_vte_size= exact_log2(vtableEntry::size() * wordSize);
+  int log_vte_size= exact_log2(vtableEntry::size_in_bytes());
 
-  lwz(scan_temp, InstanceKlass::vtable_length_offset() * wordSize, recv_klass);
+  lwz(scan_temp, in_bytes(InstanceKlass::vtable_length_offset()), recv_klass);
   // %%% We should store the aligned, prescaled offset in the klassoop.
   // Then the next several instructions would fold away.
 
   sldi(scan_temp, scan_temp, log_vte_size);
   addi(scan_temp, scan_temp, vtable_base);

@@ -1612,11 +1612,11 @@
                                            RegisterOrConstant vtable_index,
                                            Register method_result) {
 
   assert_different_registers(recv_klass, method_result, vtable_index.register_or_noreg());
 
-  const int base = InstanceKlass::vtable_start_offset() * wordSize;
+  const int base = in_bytes(InstanceKlass::vtable_start_offset());
   assert(vtableEntry::size() * wordSize == wordSize, "adjust the scaling in the code below");
 
   if (vtable_index.is_register()) {
     sldi(vtable_index.as_register(), vtable_index.as_register(), LogBytesPerWord);
     add(recv_klass, vtable_index.as_register(), recv_klass);
< prev index next >