* src/vm/builtin.c (builtin_print_argument): Removed obsolete function.
authorMichael Starzinger <michi@complang.tuwien.ac.at>
Sun, 7 Oct 2007 19:23:03 +0000 (21:23 +0200)
committerMichael Starzinger <michi@complang.tuwien.ac.at>
Sun, 7 Oct 2007 19:23:03 +0000 (21:23 +0200)
(builtin_verbosecall_enter): Made a dummy function, use new tracer.
(builtin_verbosecall_exit): Likewise.

src/vm/builtin.c

index 14fc12700499cb2ee0e90965e620c9ff61bab1b9..8757a9454c57748a25c997b6361ca9be8e18b540 100644 (file)
@@ -1201,134 +1201,6 @@ java_handle_objectarray_t *builtin_multianewarray(int n, classinfo *arrayclass,
 }
 
 
-/*****************************************************************************
-                                         METHOD LOGGING
-
-       Various functions for printing a message at method entry or exit (for
-       debugging)
-       
-*****************************************************************************/
-
-/* builtin_print_argument ******************************************************
-
-   Prints arguments and return values for the call trace.
-
-*******************************************************************************/
-
-#if !defined(NDEBUG)
-static char *builtin_print_argument(char *logtext, s4 *logtextlen,
-                                                                       typedesc *paramtype, s8 value)
-{
-       imm_union          imu;
-       java_object_t     *o;
-       classinfo         *c;
-       utf               *u;
-       u4                 len;
-
-       switch (paramtype->type) {
-       case TYPE_INT:
-               imu.i = (s4) value;
-               sprintf(logtext + strlen(logtext), "%d (0x%08x)", imu.i, imu.i);
-               break;
-
-       case TYPE_LNG:
-               imu.l = value;
-#if SIZEOF_VOID_P == 4
-               sprintf(logtext + strlen(logtext), "%lld (0x%016llx)", imu.l, imu.l);
-#else
-               sprintf(logtext + strlen(logtext), "%ld (0x%016lx)", imu.l, imu.l);
-#endif
-               break;
-
-       case TYPE_FLT:
-#if defined(__S390__)
-               imu.l = value;
-               /* The below won't work on S390 */
-#else
-               imu.i = (s4) value;
-#endif
-               sprintf(logtext + strlen(logtext), "%g (0x%08x)", imu.f, imu.i);
-               break;
-
-       case TYPE_DBL:
-               imu.l = value;
-#if SIZEOF_VOID_P == 4
-               sprintf(logtext + strlen(logtext), "%g (0x%016llx)", imu.d, imu.l);
-#else
-               sprintf(logtext + strlen(logtext), "%g (0x%016lx)", imu.d, imu.l);
-#endif
-               break;
-
-       case TYPE_ADR:
-#if SIZEOF_VOID_P == 4
-               sprintf(logtext + strlen(logtext), "0x%08x", (ptrint) value);
-#else
-               sprintf(logtext + strlen(logtext), "0x%016lx", (ptrint) value);
-#endif
-
-               /* cast to java.lang.Object */
-
-               o = (java_object_t *) (ptrint) value;
-
-               /* check return argument for java.lang.Class or java.lang.String */
-
-               if (o != NULL) {
-                       if (o->vftbl->class == class_java_lang_String) {
-                               /* get java.lang.String object and the length of the
-                                  string */
-
-                               u = javastring_toutf(o, false);
-
-                               len = strlen(" (String = \"") + utf_bytes(u) + strlen("\")");
-
-                               /* realloc memory for string length */
-
-                               logtext = DMREALLOC(logtext, char, *logtextlen, *logtextlen + len);
-                               *logtextlen += len;
-
-                               /* convert to utf8 string and strcat it to the logtext */
-
-                               strcat(logtext, " (String = \"");
-                               utf_cat(logtext, u);
-                               strcat(logtext, "\")");
-                       }
-                       else {
-                               if (o->vftbl->class == class_java_lang_Class) {
-                                       /* if the object returned is a java.lang.Class
-                                          cast it to classinfo structure and get the name
-                                          of the class */
-
-                                       c = (classinfo *) o;
-
-                                       u = c->name;
-                               }
-                               else {
-                                       /* if the object returned is not a java.lang.String or
-                                          a java.lang.Class just print the name of the class */
-
-                                       u = o->vftbl->class->name;
-                               }
-
-                               len = strlen(" (Class = \"") + utf_bytes(u) + strlen("\")");
-
-                               /* realloc memory for string length */
-
-                               logtext = DMREALLOC(logtext, char, *logtextlen, *logtextlen + len);
-                               *logtextlen += len;
-
-                               /* strcat to the logtext */
-
-                               strcat(logtext, " (Class = \"");
-                               utf_cat_classname(logtext, u);
-                               strcat(logtext, "\")");
-                       }
-               }
-       }
-
-       return logtext;
-}
-#endif /* !defined(NDEBUG) */
-
 /* builtin_verbosecall_enter ***************************************************
 
    Print method call with arguments for -verbose:call.
@@ -1336,7 +1208,6 @@ static char *builtin_print_argument(char *logtext, s4 *logtextlen,
 *******************************************************************************/
 
 #if !defined(NDEBUG)
-
 #ifdef TRACE_ARGS_NUM
 void builtin_verbosecall_enter(s8 a0, s8 a1,
 # if TRACE_ARGS_NUM >= 4
@@ -1350,176 +1221,7 @@ void builtin_verbosecall_enter(s8 a0, s8 a1,
 # endif
                                                           methodinfo *m)
 {
-       methoddesc *md;
-       char       *logtext;
-       s4          logtextlen;
-       s4          dumpsize;
-       s4          i;
-       s4          pos;
-       int         methodindent;
-       int         callcount;
-
-#if defined(ENABLE_DEBUG_FILTER)
-       if (! show_filters_test_verbosecall_enter(m)) return;
-#endif
-
-#if defined(ENABLE_VMLOG)
-       vmlog_cacao_enter_method(m);
-       return;
-#endif
-
-       md = m->parseddesc;
-
-       methodindent = TRACEJAVACALLINDENT;
-
-       /* calculate message length */
-
-       logtextlen =
-               strlen("4294967295 ") +
-               strlen("-2147483647-") +        /* INT_MAX should be sufficient       */
-               methodindent +
-               strlen("called: ") +
-               utf_bytes(m->class->name) +
-               strlen(".") +
-               utf_bytes(m->name) +
-               utf_bytes(m->descriptor);
-
-       /* Actually it's not possible to have all flags printed, but:
-          safety first! */
-
-       logtextlen +=
-               strlen(" PUBLIC") +
-               strlen(" PRIVATE") +
-               strlen(" PROTECTED") +
-               strlen(" STATIC") +
-               strlen(" FINAL") +
-               strlen(" SYNCHRONIZED") +
-               strlen(" VOLATILE") +
-               strlen(" TRANSIENT") +
-               strlen(" NATIVE") +
-               strlen(" INTERFACE") +
-               strlen(" ABSTRACT");
-
-       /* add maximal argument length */
-
-       logtextlen +=
-               strlen("(") +
-               strlen("-9223372036854775808 (0x123456789abcdef0), ") * TRACE_ARGS_NUM +
-               strlen("...(255)") +
-               strlen(")");
-
-       /* allocate memory */
-
-       dumpsize = dump_size();
-
-       logtext = DMNEW(char, logtextlen);
-
-       callcount = ++TRACEJAVACALLCOUNT;
-
-       sprintf(logtext, "%10d ", callcount);
-       sprintf(logtext + strlen(logtext), "-%d-", methodindent);
-
-       pos = strlen(logtext);
-
-       for (i = 0; i < methodindent; i++)
-               logtext[pos++] = '\t';
-
-       strcpy(logtext + pos, "called: ");
-
-       utf_cat_classname(logtext, m->class->name);
-       strcat(logtext, ".");
-       utf_cat(logtext, m->name);
-       utf_cat(logtext, m->descriptor);
-
-       if (m->flags & ACC_PUBLIC)       strcat(logtext, " PUBLIC");
-       if (m->flags & ACC_PRIVATE)      strcat(logtext, " PRIVATE");
-       if (m->flags & ACC_PROTECTED)    strcat(logtext, " PROTECTED");
-       if (m->flags & ACC_STATIC)       strcat(logtext, " STATIC");
-       if (m->flags & ACC_FINAL)        strcat(logtext, " FINAL");
-       if (m->flags & ACC_SYNCHRONIZED) strcat(logtext, " SYNCHRONIZED");
-       if (m->flags & ACC_VOLATILE)     strcat(logtext, " VOLATILE");
-       if (m->flags & ACC_TRANSIENT)    strcat(logtext, " TRANSIENT");
-       if (m->flags & ACC_NATIVE)       strcat(logtext, " NATIVE");
-       if (m->flags & ACC_INTERFACE)    strcat(logtext, " INTERFACE");
-       if (m->flags & ACC_ABSTRACT)     strcat(logtext, " ABSTRACT");
-
-       strcat(logtext, "(");
-
-       if (md->paramcount >= 1) {
-               logtext = builtin_print_argument(logtext, &logtextlen,
-                                                                                &md->paramtypes[0], a0);
-       }
-
-       if (md->paramcount >= 2) {
-               strcat(logtext, ", ");
-
-               logtext = builtin_print_argument(logtext, &logtextlen,
-                                                                                &md->paramtypes[1], a1);
-       }
-
-#if TRACE_ARGS_NUM >= 4
-       if (md->paramcount >= 3) {
-               strcat(logtext, ", ");
-
-               logtext = builtin_print_argument(logtext, &logtextlen,
-                                                                                &md->paramtypes[2], a2);
-       }
-
-       if (md->paramcount >= 4) {
-               strcat(logtext, ", ");
-
-               logtext = builtin_print_argument(logtext, &logtextlen,
-                                                                                &md->paramtypes[3], a3);
-       }
-#endif
-
-#if TRACE_ARGS_NUM >= 6
-       if (md->paramcount >= 5) {
-               strcat(logtext, ", ");
-
-               logtext = builtin_print_argument(logtext, &logtextlen,
-                                                                                &md->paramtypes[4], a4);
-       }
-
-       if (md->paramcount >= 6) {
-               strcat(logtext, ", ");
-
-               logtext = builtin_print_argument(logtext, &logtextlen,
-                                                                                &md->paramtypes[5], a5);
-       }
-#endif
-
-#if TRACE_ARGS_NUM == 8
-       if (md->paramcount >= 7) {
-               strcat(logtext, ", ");
-
-               logtext = builtin_print_argument(logtext, &logtextlen,
-                                                                                &md->paramtypes[6], a6);
-       }
-
-       if (md->paramcount >= 8) {
-               strcat(logtext, ", ");
-
-               logtext = builtin_print_argument(logtext, &logtextlen,
-                                                                                &md->paramtypes[7], a7);
-       }
-#endif
-
-       if (md->paramcount > 8) {
-               sprintf(logtext + strlen(logtext), ", ...(%d)",
-                               md->paramcount - TRACE_ARGS_NUM);
-       }
-
-       strcat(logtext, ")");
-
-       log_text(logtext);
-
-       /* release memory */
-
-       dump_release(dumpsize);
-
-       TRACEJAVACALLINDENT++;
-
+       log_text("builtin_verbosecall_enter: Do not call me anymore!");
 }
 #endif
 #endif /* !defined(NDEBUG) */
@@ -1534,103 +1236,7 @@ void builtin_verbosecall_enter(s8 a0, s8 a1,
 #if !defined(NDEBUG)
 void builtin_verbosecall_exit(s8 l, double d, float f, methodinfo *m)
 {
-       methoddesc *md;
-       char       *logtext;
-       s4          logtextlen;
-       s4          dumpsize;
-       s4          i;
-       s4          pos;
-       imm_union   val;
-       int         methodindent;
-
-#if defined(ENABLE_DEBUG_FILTER)
-       if (! show_filters_test_verbosecall_exit(m)) return;
-#endif
-
-#if defined(ENABLE_VMLOG)
-       vmlog_cacao_leave_method(m);
-       return;
-#endif
-
-       md = m->parseddesc;
-
-       /* outdent the log message */
-
-       if (TRACEJAVACALLINDENT)
-               TRACEJAVACALLINDENT--;
-       else
-               log_text("WARNING: unmatched methodindent--");
-
-       methodindent = TRACEJAVACALLINDENT;
-
-       /* calculate message length */
-
-       logtextlen =
-               strlen("4294967295 ") +
-               strlen("-2147483647-") +        /* INT_MAX should be sufficient       */
-               methodindent +
-               strlen("finished: ") +
-               utf_bytes(m->class->name) +
-               strlen(".") +
-               utf_bytes(m->name) +
-               utf_bytes(m->descriptor) +
-               strlen(" SYNCHRONIZED") + strlen("(") + strlen(")");
-
-       /* add maximal argument length */
-
-       logtextlen += strlen("->0.4872328470301428 (0x0123456789abcdef)");
-
-       /* allocate memory */
-
-       dumpsize = dump_size();
-
-       logtext = DMNEW(char, logtextlen);
-
-       /* generate the message */
-
-       sprintf(logtext, "           ");
-       sprintf(logtext + strlen(logtext), "-%d-", methodindent);
-
-       pos = strlen(logtext);
-
-       for (i = 0; i < methodindent; i++)
-               logtext[pos++] = '\t';
-
-       strcpy(logtext + pos, "finished: ");
-       utf_cat_classname(logtext, m->class->name);
-       strcat(logtext, ".");
-       utf_cat(logtext, m->name);
-       utf_cat(logtext, m->descriptor);
-
-       if (!IS_VOID_TYPE(md->returntype.type)) {
-               strcat(logtext, "->");
-
-               switch (md->returntype.type) {
-               case TYPE_INT:
-               case TYPE_LNG:
-               case TYPE_ADR:
-                       val.l = l;
-                       break;
-
-               case TYPE_FLT:
-                       val.f = f;
-                       break;
-
-               case TYPE_DBL:
-                       val.d = d;
-                       break;
-               }
-
-               logtext =
-                       builtin_print_argument(logtext, &logtextlen, &md->returntype, val.l);
-       }
-
-       log_text(logtext);
-
-       /* release memory */
-
-       dump_release(dumpsize);
-
+       log_text("builtin_verbosecall_exit: Do not call me anymore!");
 }
 #endif /* !defined(NDEBUG) */