< prev index next >

src/utils/IdealGraphVisualizer/ServerCompiler/src/main/resources/com/sun/hotspot/igv/servercompiler/filters/showTypes.filter

Print this page
*** 7,11 ***
  //   "[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);
--- 7,11 ---
  //   "[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);

*** 21,10 ***
--- 21,11 ---
    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 = ", ";

*** 38,10 ***
--- 39,14 ---
      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 >