X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=builtin.c;h=38c4344831f848453ad13ef3493478f3cecc8fe1;hb=d02ba97928c2e083be2d6ecaa400349a40f54f19;hp=6f3cb300b341e97b84cd6856aec7828f086596d2;hpb=2bee790c8c708dfd27015a1e90506d8813ce58e7;p=cacao.git diff --git a/builtin.c b/builtin.c index 6f3cb300b..38c434483 100644 --- a/builtin.c +++ b/builtin.c @@ -34,7 +34,7 @@ calls instead of machine instructions, using the C calling convention. - $Id: builtin.c 1490 2004-11-12 13:24:14Z twisti $ + $Id: builtin.c 1542 2004-11-18 12:19:49Z twisti $ */ @@ -265,7 +265,7 @@ s4 builtin_arrayinstanceof(java_objectheader *obj, vftbl_t *target) java_objectheader *builtin_throw_exception(java_objectheader *xptr) { - if (verbose) { + if (opt_verbose) { char logtext[MAXLOGTEXT]; sprintf(logtext, "Builtin exception thrown: "); if (xptr) { @@ -777,7 +777,7 @@ java_objectheader *builtin_trace_exception(java_objectheader *xptr, else log_text("WARNING: unmatched methodindent--"); } - if (verbose || runverbose || verboseexception) { + if (opt_verbose || runverbose || verboseexception) { if (xptr) { printf("Exception "); utf_display_classname(xptr->vftbl->class->name); @@ -791,25 +791,39 @@ java_objectheader *builtin_trace_exception(java_objectheader *xptr, utf_display_classname(m->class->name); printf("."); utf_display(m->name); - if (m->flags & ACC_SYNCHRONIZED) + if (m->flags & ACC_SYNCHRONIZED) { printf("(SYNC"); - else + + } else{ printf("(NOSYNC"); + } + if (m->flags & ACC_NATIVE) { printf(",NATIVE"); - printf(")(%p) at position %p\n", m->entrypoint, pos); +#if POINTERSIZE == 8 + printf(")(0x%016lx) at position %p\n", (s8) m->entrypoint, pos); +#else + printf(")(0x%08lx) at position %p\n", (s4) m->entrypoint, pos); +#endif + } else { - printf(")(%p) at position %p (", m->entrypoint, pos); - if (m->class->sourcefile==NULL) +#if POINTERSIZE == 8 + printf(")(0x%016lx) at position %p (", (s8) m->entrypoint, pos); +#else + printf(")(0x%08lx) at position %p (", (s4) m->entrypoint, pos); +#endif + if (m->class->sourcefile == NULL) { printf(""); - else + + } else { utf_display(m->class->sourcefile); + } printf(":%d)\n", line); } } else printf("call_java_method\n"); - fflush (stdout); + fflush(stdout); } return xptr; @@ -1148,6 +1162,7 @@ void builtin_monitorenter(java_objectheader *o) monitorEnter((threadobject *) THREADOBJECT, o); #endif #endif + } /* @@ -1784,7 +1799,8 @@ inline float longBitsToDouble(s8 l) java_arrayheader *builtin_clone_array(void *env, java_arrayheader *o) { - return (java_arrayheader *) Java_java_lang_VMObject_clone(0, 0, (java_lang_Cloneable *) o); + return (java_arrayheader *) + Java_java_lang_VMObject_clone(0, 0, (java_lang_Cloneable *) o); }