comparison src/share/vm/opto/parse1.cpp @ 6843:c3e799c37717

7177003: C1: LogCompilation support Summary: add LogCompilation support in C1 - both client and tiered mode. Reviewed-by: twisti, kvn
author vlivanov
date Fri, 05 Oct 2012 18:57:10 -0700
parents f13867c41f73
children beebba0acc11
comparison
equal deleted inserted replaced
6830:81e878c53615 6843:c3e799c37717
1379 if (log != NULL) { 1379 if (log != NULL) {
1380 // Output an optional context marker, to help place actions 1380 // Output an optional context marker, to help place actions
1381 // that occur during parsing of this BC. If there is no log 1381 // that occur during parsing of this BC. If there is no log
1382 // output until the next context string, this context string 1382 // output until the next context string, this context string
1383 // will be silently ignored. 1383 // will be silently ignored.
1384 log->context()->reset(); 1384 log->set_context("bc code='%d' bci='%d'", (int)bc(), bci());
1385 log->context()->print_cr("<bc code='%d' bci='%d'/>", (int)bc(), bci());
1386 } 1385 }
1387 1386
1388 if (block()->has_trap_at(bci())) { 1387 if (block()->has_trap_at(bci())) {
1389 // We must respect the flow pass's traps, because it will refuse 1388 // We must respect the flow pass's traps, because it will refuse
1390 // to produce successors for trapping blocks. 1389 // to produce successors for trapping blocks.
1409 1408
1410 do_exceptions(); 1409 do_exceptions();
1411 1410
1412 NOT_PRODUCT( parse_histogram()->record_change(); ); 1411 NOT_PRODUCT( parse_histogram()->record_change(); );
1413 1412
1414 if (log != NULL) log->context()->reset(); // done w/ this one 1413 if (log != NULL)
1414 log->clear_context(); // skip marker if nothing was printed
1415 1415
1416 // Fall into next bytecode. Each bytecode normally has 1 sequential 1416 // Fall into next bytecode. Each bytecode normally has 1 sequential
1417 // successor which is typically made ready by visiting this bytecode. 1417 // successor which is typically made ready by visiting this bytecode.
1418 // If the successor has several predecessors, then it is a merge 1418 // If the successor has several predecessors, then it is a merge
1419 // point, starts a new basic block, and is handled like other basic blocks. 1419 // point, starts a new basic block, and is handled like other basic blocks.