RFR: 8332498: [aarch64, x86] improving OpToAssembly output for partialSubtypeCheckConstSuper Instruct
Amit Kumar
amitkumar at openjdk.org
Sun May 19 15:41:19 UTC 2024
format method generated previously:
void partialSubtypeCheckConstSuperNode::format(PhaseRegAlloc *ra, outputStream *st) const {
// Start at oper_input_base() and count operands
unsigned idx0 = 1;
unsigned idx1 = 1; // sub
unsigned idx2 = idx1 + opnd_array(1)->num_edges(); // super_reg
unsigned idx3 = idx2 + opnd_array(2)->num_edges(); // super_con
unsigned idx4 = idx3 + opnd_array(3)->num_edges(); // vtemp
unsigned idx5 = idx4 + opnd_array(4)->num_edges(); // tempR1
unsigned idx6 = idx5 + opnd_array(5)->num_edges(); // tempR2
unsigned idx7 = idx6 + opnd_array(6)->num_edges(); // tempR3
st->print_raw("partialSubtypeCheck ");
opnd_array(0)->int_format(ra, this, st); // result
st->print_raw(", ");
opnd_array(1)->ext_format(ra, this,idx1, st); // sub
st->print_raw(", super");
}
format method generated with this change:
void partialSubtypeCheckConstSuperNode::format(PhaseRegAlloc *ra, outputStream *st) const {
// Start at oper_input_base() and count operands
unsigned idx0 = 1;
unsigned idx1 = 1; // sub
unsigned idx2 = idx1 + opnd_array(1)->num_edges(); // super_reg
unsigned idx3 = idx2 + opnd_array(2)->num_edges(); // super_con
unsigned idx4 = idx3 + opnd_array(3)->num_edges(); // vtemp
unsigned idx5 = idx4 + opnd_array(4)->num_edges(); // tempR1
unsigned idx6 = idx5 + opnd_array(5)->num_edges(); // tempR2
unsigned idx7 = idx6 + opnd_array(6)->num_edges(); // tempR3
st->print_raw("partialSubtypeCheck ");
opnd_array(0)->int_format(ra, this, st); // result
st->print_raw(", ");
opnd_array(1)->ext_format(ra, this,idx1, st); // sub
st->print_raw(", ");
opnd_array(2)->ext_format(ra, this,idx2, st); // super_reg
st->print_raw(", ");
opnd_array(3)->ext_format(ra, this,idx3, st); // super_con
}
-------------
Commit messages:
- updates aarch64.ad & x86_64.ad
Changes: https://git.openjdk.org/jdk/pull/19295/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19295&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8332498
Stats: 2 lines in 2 files changed: 0 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/19295.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/19295/head:pull/19295
PR: https://git.openjdk.org/jdk/pull/19295
More information about the hotspot-compiler-dev
mailing list