changeset 2726:ae839d1e7d4c

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
author roland
date Fri, 30 Sep 2011 13:47:26 +0200
parents dc45ae774613
children 5d871c1ff17c
files src/share/vm/adlc/formssel.cpp
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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) {