equal
deleted
inserted
replaced
2237 } else { |
2237 } else { |
2238 assert(!UseInlineCaches, "expect vtable calls only if not using ICs"); |
2238 assert(!UseInlineCaches, "expect vtable calls only if not using ICs"); |
2239 // Go through the vtable. Get receiver klass. Receiver already |
2239 // Go through the vtable. Get receiver klass. Receiver already |
2240 // checked for non-null. If we'll go thru a C2I adapter, the |
2240 // checked for non-null. If we'll go thru a C2I adapter, the |
2241 // interpreter expects method in Z_method. |
2241 // interpreter expects method in Z_method. |
2242 // Use Z_method to temporarily hold the klass oop. Z_R1_scratch is destroyed |
2242 // Use Z_method to temporarily hold the klass oop. |
2243 // by load_heap_oop_not_null. |
2243 // Z_R1_scratch is destroyed. |
2244 __ load_klass(Z_method, Z_R2); |
2244 __ load_klass(Z_method, Z_R2); |
2245 |
2245 |
2246 int entry_offset = in_bytes(Klass::vtable_start_offset()) + vtable_index * vtableEntry::size_in_bytes(); |
2246 int entry_offset = in_bytes(Klass::vtable_start_offset()) + vtable_index * vtableEntry::size_in_bytes(); |
2247 int v_off = entry_offset + vtableEntry::method_offset_in_bytes(); |
2247 int v_off = entry_offset + vtableEntry::method_offset_in_bytes(); |
2248 |
2248 |