mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-30 04:58:25 +00:00
8345154: IGV: Show Parse and Assertion Predicate type as extra label
Reviewed-by: rcastanedalo
This commit is contained in:
parent
1e086b1d73
commit
7dc00d39b4
@ -2213,10 +2213,10 @@ void ParsePredicateNode::dump_spec(outputStream* st) const {
|
||||
st->print("Loop ");
|
||||
break;
|
||||
case Deoptimization::DeoptReason::Reason_profile_predicate:
|
||||
st->print("Profiled_Loop ");
|
||||
st->print("Profiled Loop ");
|
||||
break;
|
||||
case Deoptimization::DeoptReason::Reason_loop_limit_check:
|
||||
st->print("Loop_Limit_Check ");
|
||||
st->print("Loop Limit Check ");
|
||||
break;
|
||||
default:
|
||||
fatal("unknown kind");
|
||||
|
||||
@ -34,3 +34,27 @@ editProperty(matches("name", "CallLeafDirect|CallLeafDirectVector|CallLeafNoFPDi
|
||||
// Show pre/main/post at CountedLoopNodes.
|
||||
editProperty(hasProperty("loop_kind"), ["loop_kind"], "extra_label",
|
||||
function(loop_kind) { return loop_kind[0]; });
|
||||
|
||||
// Show Parse Predicate type.
|
||||
function parsePredicateInfo(dump_spec) {
|
||||
// It's easier to match with ".*" because type "Loop" can also be found in type "Loop Limit Check" and "Profiled Loop".
|
||||
// Matching with ".*" also requires us to exclude the optional "#useless" string at the end.
|
||||
var predicateMatch = /#(.*)(#useless)?/.exec(dump_spec);
|
||||
if (predicateMatch != null) {
|
||||
return predicateMatch[1].trim();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
editProperty(matches("name", "ParsePredicate"), ["dump_spec"], "extra_label",
|
||||
function(dump_spec) { return parsePredicateInfo(dump_spec[0]);});
|
||||
|
||||
// Show Assertion Predicate type.
|
||||
function assertionPredicateInfo(dump_spec) {
|
||||
var predicateMatch = /#((Init|Last) Value Assertion Predicate)/.exec(dump_spec);
|
||||
if (predicateMatch != null) {
|
||||
return predicateMatch[1];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
editProperty(matches("name", "If|RangeCheck"), ["dump_spec"], "extra_label",
|
||||
function(dump_spec) { return assertionPredicateInfo(dump_spec[0]);});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user