< prev index next >

src/cpu/ppc/vm/templateTable_ppc_64.cpp

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright 2013, 2015 SAP AG. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as --- 1,7 ---- /* ! * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. * Copyright 2013, 2015 SAP AG. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as
*** 3280,3292 **** assert_different_registers(Rrecv_klass, Rtemp, Rret); const Register Rtarget_method = Rindex; // Get target method & entry point. ! const int base = InstanceKlass::vtable_start_offset() * wordSize; // Calc vtable addr scale the vtable index by 8. ! __ sldi(Rindex, Rindex, exact_log2(vtableEntry::size() * wordSize)); // Load target. __ addi(Rrecv_klass, Rrecv_klass, base + vtableEntry::method_offset_in_bytes()); __ ldx(Rtarget_method, Rindex, Rrecv_klass); // Argument and return type profiling. __ profile_arguments_type(Rtarget_method, Rrecv_klass /* scratch1 */, Rtemp /* scratch2 */, true); --- 3280,3292 ---- assert_different_registers(Rrecv_klass, Rtemp, Rret); const Register Rtarget_method = Rindex; // Get target method & entry point. ! const int base = in_bytes(InstanceKlass::vtable_start_offset()); // Calc vtable addr scale the vtable index by 8. ! __ sldi(Rindex, Rindex, exact_log2(vtableEntry::size_in_bytes())); // Load target. __ addi(Rrecv_klass, Rrecv_klass, base + vtableEntry::method_offset_in_bytes()); __ ldx(Rtarget_method, Rindex, Rrecv_klass); // Argument and return type profiling. __ profile_arguments_type(Rtarget_method, Rrecv_klass /* scratch1 */, Rtemp /* scratch2 */, true);
< prev index next >