Mercurial > hg > truffle
diff src/share/vm/runtime/deoptimization.cpp @ 4668:3dbcd1013cc8
added flag PrintDeoptimizationDetails
changes so that TraceDeoptimization only prints basic information
added nicer formatting for printing interpreter stack frames
author | Christian Haeubl <christian.haeubl@oracle.com> |
---|---|
date | Tue, 21 Feb 2012 16:05:46 -0800 |
parents | 9ae5048b9153 |
children | e1c053324210 |
line wrap: on
line diff
--- a/src/share/vm/runtime/deoptimization.cpp Tue Feb 21 14:27:25 2012 -0800 +++ b/src/share/vm/runtime/deoptimization.cpp Tue Feb 21 16:05:46 2012 -0800 @@ -176,7 +176,7 @@ // the vframeArray is created. // - if (TraceDeoptimization) { + if (PrintDeoptimizationDetails) { tty->print_cr("fetching unroll info"); } @@ -236,7 +236,7 @@ assert(result == NULL || result->is_oop(), "must be oop"); return_value = Handle(thread, result); assert(Universe::heap()->is_in_or_null(result), "must be heap pointer"); - if (TraceDeoptimization) { + if (PrintDeoptimizationDetails) { tty->print_cr("SAVED OOP RESULT " INTPTR_FORMAT " in thread " INTPTR_FORMAT, result, thread); } } @@ -249,7 +249,7 @@ if (reallocated) { reassign_fields(&deoptee, &map, objects); #ifndef PRODUCT - if (TraceDeoptimization) { + if (PrintDeoptimizationDetails) { ttyLocker ttyl; tty->print_cr("REALLOC OBJECTS in thread " INTPTR_FORMAT, thread); print_objects(objects); @@ -272,7 +272,7 @@ if (monitors->is_nonempty()) { relock_objects(monitors, thread); #ifndef PRODUCT - if (TraceDeoptimization) { + if (PrintDeoptimizationDetails) { ttyLocker ttyl; for (int j = 0; j < monitors->length(); j++) { MonitorInfo* mi = monitors->at(j); @@ -497,7 +497,7 @@ info->set_initial_info((intptr_t) array->sender().initial_deoptimization_info()); if (array->frames() > 1) { - if (VerifyStack && TraceDeoptimization) { + if (PrintDeoptimizationDetails) { tty->print_cr("Deoptimizing method containing inlining"); } } @@ -577,7 +577,7 @@ vframeArray* array = thread->vframe_array_head(); #ifndef PRODUCT - if (TraceDeoptimization) { + if (PrintDeoptimizationDetails) { tty->print_cr("DEOPT UNPACKING thread " INTPTR_FORMAT " vframeArray " INTPTR_FORMAT " mode %d", thread, array, exec_mode); } #endif @@ -920,7 +920,7 @@ KlassHandle k(((ConstantOopReadValue*) sv->klass())->value()()); Handle obj = sv->value(); assert(obj.not_null(), "reallocation was missed"); - if (TraceDeoptimization) { + if (PrintDeoptimizationDetails) { tty->print_cr("reassign fields for object of type %s!", k->name()->as_C_string()); } @@ -990,7 +990,7 @@ vframeArray* Deoptimization::create_vframeArray(JavaThread* thread, frame fr, RegisterMap *reg_map, GrowableArray<compiledVFrame*>* chunk) { #ifndef PRODUCT - if (TraceDeoptimization) { + if (PrintDeoptimizationDetails) { ttyLocker ttyl; tty->print("DEOPT PACKING thread " INTPTR_FORMAT " ", thread); fr.print_on(tty); @@ -1036,7 +1036,7 @@ Events::log("# vframes = %d", (intptr_t)chunk->length()); #ifndef PRODUCT - if (TraceDeoptimization) { + if (PrintDeoptimizationDetails) { ttyLocker ttyl; tty->print_cr(" Created vframeArray " INTPTR_FORMAT, array); } @@ -1284,7 +1284,7 @@ Bytecodes::Code trap_bc = trap_method->java_code_at(trap_bci); if (trap_scope->rethrow_exception()) { - if (TraceDeoptimization) { + if (PrintDeoptimizationDetails) { tty->print_cr("Exception to be rethrown in the interpreter for method %s::%s at bci %d", instanceKlass::cast(trap_method->method_holder())->name()->as_C_string(), trap_method->name()->as_C_string(), trap_bci); } GrowableArray<ScopeValue*>* expressions = trap_scope->expressions();