RFR: 8332498: [aarch64, x86] improving OpToAssembly output for partialSubtypeCheckConstSuper Instruct [v2]
Amit Kumar
amitkumar at openjdk.org
Sun May 19 15:34:24 UTC 2024
> format method generated in `ad_aarch64_format.cpp` 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 in `ad_aarch64_format.cpp` 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
> }
Amit Kumar has refreshed the contents of this pull request, and previous commits have been removed. Incremental views are not available.
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/19294/files
- new: https://git.openjdk.org/jdk/pull/19294/files/54ec227e..f1ce9b0e
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=19294&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=19294&range=00-01
Stats: 2 lines in 2 files changed: 0 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/19294.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/19294/head:pull/19294
PR: https://git.openjdk.org/jdk/pull/19294
More information about the hotspot-compiler-dev
mailing list