Skip to content
Permalink
Browse files
8257798: [PPC64] undefined reference to Klass::vtable_start_offset()
Reviewed-by: goetz
  • Loading branch information
TheRealMDoerr committed Dec 7, 2020
1 parent ecd7e47 commit 46b35acfcbc717891fec4822292628716fb35bac
Showing 1 changed file with 5 additions and 3 deletions.
@@ -980,6 +980,8 @@ source_hpp %{

source %{

#include "oops/klass.inline.hpp"

void PhaseOutput::pd_perform_mach_node_analysis() {
}

@@ -3635,9 +3637,9 @@ encode %{
Register Rtoc = (ra_) ? $constanttablebase : R2_TOC;

int vtable_index = this->_vtable_index;
if (_vtable_index < 0) {
if (vtable_index < 0) {
// Must be invalid_vtable_index, not nonvirtual_vtable_index.
assert(_vtable_index == Method::invalid_vtable_index, "correct sentinel value");
assert(vtable_index == Method::invalid_vtable_index, "correct sentinel value");
Register ic_reg = as_Register(Matcher::inline_cache_reg_encode());

// Virtual call relocation will point to ic load.
@@ -3663,7 +3665,7 @@ encode %{

__ load_klass(R11_scratch1, R3);

int entry_offset = in_bytes(Klass::vtable_start_offset()) + _vtable_index * vtableEntry::size_in_bytes();
int entry_offset = in_bytes(Klass::vtable_start_offset()) + vtable_index * vtableEntry::size_in_bytes();
int v_off = entry_offset + vtableEntry::method_offset_in_bytes();
__ li(R19_method, v_off);
__ ldx(R19_method/*method*/, R19_method/*method offset*/, R11_scratch1/*class*/);

1 comment on commit 46b35ac

@openjdk-notifier
Copy link

@openjdk-notifier openjdk-notifier bot commented on 46b35ac Dec 7, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.