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