< prev index next > src/utils/IdealGraphVisualizer/ServerCompiler/src/main/resources/com/sun/hotspot/igv/servercompiler/filters/showTypes.filter
Print this page
// "[5:]my/package/Class (package1/Class1,package2/Class2,..)"
// into
// "[5:]Class"
function simplify_reference_type(type) {
// Clean up interface lists in reference types.
! var m = /(.*)\(.*\)(.*)/.exec(type);
if (m != null && typeof m[1] != 'undefined' && typeof m[2] != 'undefined') {
type = m[1] + m[2];
}
// Remove package name in reference types.
var m2 = /(\d+:)?.*\/(.*)/.exec(type);
// "[5:]my/package/Class (package1/Class1,package2/Class2,..)"
// into
// "[5:]Class"
function simplify_reference_type(type) {
// Clean up interface lists in reference types.
! var m = /(.*) \([^\)]*\)(.*)/.exec(type);
if (m != null && typeof m[1] != 'undefined' && typeof m[2] != 'undefined') {
type = m[1] + m[2];
}
// Remove package name in reference types.
var m2 = /(\d+:)?.*\/(.*)/.exec(type);
return type;
}
// Remove fixed input types for calls and simplify references.
function simplifyType(type) {
+ var original_type = type;
var callTypeStart = "{0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address";
if (type.startsWith(callTypeStart)) {
// Exclude types of the first five outputs of call-like nodes.
type = type.replace(callTypeStart, "").replace("}", "");
prefix = ", ";
type = "{" + components.join(", ") + "}";
} else {
type = simplify_reference_type(type);
}
type = type.replace(">=", "≥").replace("<=", "≤");
+ if (original_type.indexOf("(flat in array)") !== -1) {
+ // Always append "flat in array" property last if found in original type.
+ type += " (flat in array)";
+ }
return type;
}
// Merge a possibly existing extra label, bottom type, and phase type into a
// new, single extra label. For memory nodes, add an extra label with the memory
< prev index next >