* ssapre.c: Turned usage of snprintf to GString.
authorMassimiliano Mantione <massi@mono-cvs.ximian.com>
Thu, 20 Jan 2005 12:01:34 +0000 (12:01 -0000)
committerMassimiliano Mantione <massi@mono-cvs.ximian.com>
Thu, 20 Jan 2005 12:01:34 +0000 (12:01 -0000)
* ssapre.h: disabled MONO_APPLY_SSAPRE_TO_SINGLE_METHOD
(I left it on by mistake in my previous commit).

svn path=/trunk/mono/; revision=39249

mono/mini/ChangeLog
mono/mini/ssapre.c
mono/mini/ssapre.h

index 788531ac48dedc2a53c4002a22b87c8541d26dee..8af6a7c6bfaa56b7f02feba3cbba2212bc618abb 100644 (file)
@@ -1,3 +1,8 @@
+2005-1-20  Massimiliano Mantione  <massi@ximian.com>
+
+       * ssapre.c: Turned usage of snprintf to GString.
+       * ssapre.h: disabled MONO_APPLY_SSAPRE_TO_SINGLE_METHOD
+       (I left it on by mistake in my previous commit).
 
 Thu Jan 20 12:00:45 CET 2005 Paolo Molaro <lupus@ximian.com>
 
@@ -6,8 +11,8 @@ Thu Jan 20 12:00:45 CET 2005 Paolo Molaro <lupus@ximian.com>
 
 2005-1-20  Massimiliano Mantione  <massi@ximian.com>
 
-       abcremoval.c: Fixed bug 71062.
-       abcremoval.h: Likewise.
+       abcremoval.c: Fixed bug 71062.
+       abcremoval.h: Likewise.
 
 2005-1-20  Massimiliano Mantione  <massi@ximian.com>
 
index d53672ed3bc97c53459277ae56f973e6d73c716d..eafdccfa36043fc767ceda2ae9a9e5d38eddc2ef 100644 (file)
@@ -81,53 +81,49 @@ print_expression_description (MonoSsapreExpressionDescription *expression_descri
 }
 
 #if (MONO_APPLY_SSAPRE_TO_SINGLE_EXPRESSION)
-static int
-snprint_argument (char *string, size_t max_length, MonoSsapreExpressionArgument *argument) {
-       int length;
+static void
+snprint_argument (GString *string, MonoSsapreExpressionArgument *argument) {
        switch (argument->type) {
                case MONO_SSAPRE_EXPRESSION_ARGUMENT_ANY:
-                       length = snprintf (string, max_length, "ANY");
+                       g_string_append_printf (string, "ANY");
                        break;
                case MONO_SSAPRE_EXPRESSION_ARGUMENT_NOT_PRESENT:
-                       length = snprintf (string, max_length, "NONE");
+                       g_string_append_printf (string, "NONE");
                        break;
                case MONO_SSAPRE_EXPRESSION_ARGUMENT_ORIGINAL_VARIABLE:
-                       length = snprintf (string, max_length, "ORIGINAL_VARIABLE %d", argument->argument.original_variable);
+                       g_string_append_printf (string, "ORIGINAL_VARIABLE %d", argument->argument.original_variable);
                        break;
                case MONO_SSAPRE_EXPRESSION_ARGUMENT_SSA_VARIABLE:
-                       length = snprintf (string, max_length, "SSA_VARIABLE %d", argument->argument.ssa_variable);
+                       g_string_append_printf (string, "SSA_VARIABLE %d", argument->argument.ssa_variable);
                        break;
                case MONO_SSAPRE_EXPRESSION_ARGUMENT_INTEGER_CONSTANT:
-                       length = snprintf (string, max_length, "INTEGER_CONSTANT %d", argument->argument.integer_constant);
+                       g_string_append_printf (string, "INTEGER_CONSTANT %d", argument->argument.integer_constant);
                        break;
                case MONO_SSAPRE_EXPRESSION_ARGUMENT_LONG_COSTANT:
-                       length = snprintf (string, max_length, "LONG_COSTANT %lld", *(argument->argument.long_constant));
+                       g_string_append_printf (string, "LONG_COSTANT %lld", *(argument->argument.long_constant));
                        break;
                case MONO_SSAPRE_EXPRESSION_ARGUMENT_FLOAT_COSTANT:
-                       length = snprintf (string, max_length, "FLOAT_COSTANT %f", *(argument->argument.float_constant));
+                       g_string_append_printf (string, "FLOAT_COSTANT %f", *(argument->argument.float_constant));
                        break;
                case MONO_SSAPRE_EXPRESSION_ARGUMENT_DOUBLE_COSTANT:
-                       length = snprintf (string, max_length, "DOUBLE_COSTANT %f", *(argument->argument.double_constant));
+                       g_string_append_printf (string, "DOUBLE_COSTANT %f", *(argument->argument.double_constant));
                        break;
                default:
-                       length = snprintf (string, max_length, "UNKNOWN: %d", argument->type);
+                       g_string_append_printf (string, "UNKNOWN: %d", argument->type);
        }
-       return length;
 }
 
-static int
-snprint_expression_description (char *string, size_t max_length, MonoSsapreExpressionDescription *expression_description) {
-       int length = 0;
+static void
+snprint_expression_description (GString *string, MonoSsapreExpressionDescription *expression_description) {
        if (expression_description->opcode != 0) {
-               length += snprintf (string + length, max_length - length, "%s ([", mono_inst_name (expression_description->opcode) );
-               length += snprint_argument (string + length, max_length - length, &(expression_description->left_argument));
-               length += snprintf (string + length, max_length - length, "],[");
-               length += snprint_argument (string + length, max_length - length, &(expression_description->right_argument));
-               length += snprintf (string + length, max_length - length, "])");
+               g_string_append_printf (string, "%s ([", mono_inst_name (expression_description->opcode) );
+               snprint_argument (string, &(expression_description->left_argument));
+               g_string_append_printf (string, "],[");
+               snprint_argument (string, &(expression_description->right_argument));
+               g_string_append_printf (string, "])");
        } else {
-               length += snprintf (string + length, max_length - length, "ANY");
+               g_string_append_printf (string, "ANY");
        }
-       return length;
 }
 #endif
 
@@ -653,13 +649,16 @@ check_ssapre_expression_name (MonoSsapreWorkArea *area, MonoSsapreExpressionDesc
                mono_ssapre_expression_name = getenv ("MONO_SSAPRE_EXPRESSION_NAME");
        }
        if (mono_ssapre_expression_name != NULL) {
-               char expression_name[1024];
-               snprint_expression_description (expression_name, 1024, expression_description);
-               if (strstr (expression_name, mono_ssapre_expression_name) != NULL) {
-                       return TRUE;
+               GString *expression_name = g_string_new_len ("", 256);
+               gboolean return_value;
+               snprint_expression_description (expression_name, expression_description);
+               if (strstr (expression_name->str, mono_ssapre_expression_name) != NULL) {
+                       return_value = TRUE;
                } else {
-                       return FALSE;
+                       return_value = FALSE;
                }
+               g_string_free (expression_name, TRUE);
+               return return_value;
        } else {
                return TRUE;
        }
index 27d1d8ea5f4862a4570444831936a6f85127e8c6..a31dcbaabd08b40c1ef73db6ca175d3d53d8e9b7 100644 (file)
@@ -17,7 +17,7 @@
 /*
  * Hack to apply SSAPRE only to a given method (invaluable in debugging)
  */
-#define MONO_APPLY_SSAPRE_TO_SINGLE_METHOD 1
+#define MONO_APPLY_SSAPRE_TO_SINGLE_METHOD 0
 
 /*
  * Hack to apply SSAPRE only to a given expression (invaluable in debugging)