# HG changeset patch # User roland # Date 1317383246 -7200 # Node ID ae839d1e7d4c2839bd4ac2d87f39385083a3b4f0 # Parent dc45ae774613f9e0d19cc145059b7526d540d9da 7096010: c2: running with +PrintOptoAssembly crashes the VM when $constanttablebase is used Summary: ADLC generates code to prepare the register string to be printed in a char array but then calls print without the char array as an argument. Reviewed-by: never diff -r dc45ae774613 -r ae839d1e7d4c src/share/vm/adlc/formssel.cpp --- a/src/share/vm/adlc/formssel.cpp Thu Sep 29 23:09:54 2011 -0700 +++ b/src/share/vm/adlc/formssel.cpp Fri Sep 30 13:47:26 2011 +0200 @@ -1225,7 +1225,7 @@ // Handle special constant table variables. if (strcmp(rep_var, "constanttablebase") == 0) { fprintf(fp, "char reg[128]; ra->dump_register(in(mach_constant_base_node_input()), reg);\n"); - fprintf(fp, "st->print(\"%%s\");\n"); + fprintf(fp, " st->print(\"%%s\", reg);\n"); return; } if (strcmp(rep_var, "constantoffset") == 0) {