< 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 >