< prev index next >

src/utils/LogCompilation/src/com/sun/hotspot/tools/compiler/LogParser.java

Print this page




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.


< prev index next >