< prev index next >
src/cpu/s390/vm/templateTable_s390.cpp
Print this page
rev 12861 : ppc64 addons for 8171392: make contant pool read-only
*** 1,8 ****
/*
! * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
! * Copyright (c) 2016 SAP SE. 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
* published by the Free Software Foundation.
--- 1,8 ----
/*
! * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
! * Copyright (c) 2016, 2017 SAP SE. 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
* published by the Free Software Foundation.
*** 3706,3716 ****
__ z_brne(slow_case);
__ z_sllg(offset, offset, LogBytesPerWord); // Convert to to offset.
// Get InstanceKlass.
Register iklass = cpool;
! __ z_lg(iklass, Address(cpool, offset, sizeof(ConstantPool)));
// Make sure klass is initialized & doesn't have finalizer.
// Make sure klass is fully initialized.
const int state_offset = in_bytes(InstanceKlass::init_state_offset());
if (Immediate::is_uimm12(state_offset)) {
--- 3706,3716 ----
__ z_brne(slow_case);
__ z_sllg(offset, offset, LogBytesPerWord); // Convert to to offset.
// Get InstanceKlass.
Register iklass = cpool;
! __ load_resolved_klass_at_offset(cpool, offset, iklass);
// Make sure klass is initialized & doesn't have finalizer.
// Make sure klass is fully initialized.
const int state_offset = in_bytes(InstanceKlass::init_state_offset());
if (Immediate::is_uimm12(state_offset)) {
*** 3893,3903 ****
// Get superklass in klass and subklass in subklass.
__ bind(quicked);
__ z_lgr(Z_ARG4, Z_tos); // Save receiver.
__ z_sllg(index, index, LogBytesPerWord); // index2bytes for addressing
! __ mem2reg_opt(klass, Address(cpool, index, sizeof(ConstantPool)));
__ bind(resolved);
__ load_klass(subklass, receiver);
--- 3893,3903 ----
// Get superklass in klass and subklass in subklass.
__ bind(quicked);
__ z_lgr(Z_ARG4, Z_tos); // Save receiver.
__ z_sllg(index, index, LogBytesPerWord); // index2bytes for addressing
! __ load_resolved_klass_at_offset(cpool, index, klass);
__ bind(resolved);
__ load_klass(subklass, receiver);
*** 3967,3978 ****
// Get superklass in klass and subklass in subklass.
__ bind(quicked);
__ load_klass(subklass, Z_tos);
__ z_sllg(index, index, LogBytesPerWord); // index2bytes for addressing
! __ mem2reg_opt(klass,
! Address(cpool, index, sizeof(ConstantPool)));
__ bind(resolved);
// Generate subtype check.
// Superklass in klass. Subklass in subklass.
--- 3967,3977 ----
// Get superklass in klass and subklass in subklass.
__ bind(quicked);
__ load_klass(subklass, Z_tos);
__ z_sllg(index, index, LogBytesPerWord); // index2bytes for addressing
! __ load_resolved_klass_at_offset(cpool, index, klass);
__ bind(resolved);
// Generate subtype check.
// Superklass in klass. Subklass in subklass.
< prev index next >