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