1008 LogEvent e = new MakeNotEntrantEvent(Double.parseDouble(search(atts, "stamp")), id, 1009 atts.getValue("zombie") != null, nm); 1010 events.add(e); 1011 } else if (qname.equals("uncommon_trap")) { 1012 String id = atts.getValue("compile_id"); 1013 if (id != null) { 1014 id = makeId(atts); 1015 currentTrap = new UncommonTrapEvent(Double.parseDouble(search(atts, "stamp")), 1016 id, 1017 atts.getValue("reason"), 1018 atts.getValue("action"), 1019 Integer.parseInt(search(atts, "count", "0"))); 1020 events.add(currentTrap); 1021 } else { 1022 if (atts.getValue("method") != null) { 1023 // These are messages from ciTypeFlow that don't 1024 // actually correspond to generated code. 1025 return; 1026 } 1027 try { 1028 if (scopes.size() == 0) { 1029 reportInternalError("scope underflow"); 1030 } 1031 scopes.peek().add(new UncommonTrap(Integer.parseInt(search(atts, "bci")), 1032 search(atts, "reason"), 1033 search(atts, "action"), 1034 bytecodes[current_bytecode])); 1035 } catch (Error e) { 1036 e.printStackTrace(); 1037 } 1038 } 1039 } else if (qname.startsWith("eliminate_lock")) { 1040 String id = atts.getValue("compile_id"); 1041 if (id != null) { 1042 id = makeId(atts); 1043 String kind = atts.getValue("kind"); 1044 String classId = atts.getValue("class_id"); 1045 currentLockElimination = new LockElimination(qname, Double.parseDouble(search(atts, "stamp")), id, kind, classId); 1046 events.add(currentLockElimination); 1047 } 1048 } else if (qname.equals("late_inline")) { 1049 long inlineId = 0; 1050 try { 1051 inlineId = Long.parseLong(search(atts, "inline_id")); 1052 } catch (InternalError ex) { 1053 // Log files from older hotspots may lack inline_id, 1054 // and zero is an acceptable substitute that allows processing to continue. | 1008 LogEvent e = new MakeNotEntrantEvent(Double.parseDouble(search(atts, "stamp")), id, 1009 atts.getValue("zombie") != null, nm); 1010 events.add(e); 1011 } else if (qname.equals("uncommon_trap")) { 1012 String id = atts.getValue("compile_id"); 1013 if (id != null) { 1014 id = makeId(atts); 1015 currentTrap = new UncommonTrapEvent(Double.parseDouble(search(atts, "stamp")), 1016 id, 1017 atts.getValue("reason"), 1018 atts.getValue("action"), 1019 Integer.parseInt(search(atts, "count", "0"))); 1020 events.add(currentTrap); 1021 } else { 1022 if (atts.getValue("method") != null) { 1023 // These are messages from ciTypeFlow that don't 1024 // actually correspond to generated code. 1025 return; 1026 } 1027 try { 1028 UncommonTrap unc = new UncommonTrap(Integer.parseInt(search(atts, "bci")), 1029 search(atts, "reason"), 1030 search(atts, "action"), 1031 bytecodes[current_bytecode]); 1032 if (scopes.size() == 0) { 1033 // There may be a dangling site not yet in scopes after a late_inline 1034 if (site != null) { 1035 site.add(unc); 1036 } else { 1037 reportInternalError("scope underflow"); 1038 } 1039 } else { 1040 scopes.peek().add(unc); 1041 } 1042 } catch (Error e) { 1043 e.printStackTrace(); 1044 } 1045 } 1046 } else if (qname.startsWith("eliminate_lock")) { 1047 String id = atts.getValue("compile_id"); 1048 if (id != null) { 1049 id = makeId(atts); 1050 String kind = atts.getValue("kind"); 1051 String classId = atts.getValue("class_id"); 1052 currentLockElimination = new LockElimination(qname, Double.parseDouble(search(atts, "stamp")), id, kind, classId); 1053 events.add(currentLockElimination); 1054 } 1055 } else if (qname.equals("late_inline")) { 1056 long inlineId = 0; 1057 try { 1058 inlineId = Long.parseLong(search(atts, "inline_id")); 1059 } catch (InternalError ex) { 1060 // Log files from older hotspots may lack inline_id, 1061 // and zero is an acceptable substitute that allows processing to continue. |