< prev index next >

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

Print this page

        

@@ -1023,17 +1023,24 @@
                     // These are messages from ciTypeFlow that don't
                     // actually correspond to generated code.
                     return;
                 }
                 try {
+                    UncommonTrap unc = new UncommonTrap(Integer.parseInt(search(atts, "bci")),
+                            search(atts, "reason"),
+                            search(atts, "action"),
+                            bytecodes[current_bytecode]);
                     if (scopes.size() == 0) {
+                        // There may be a dangling site not yet in scopes after a late_inline
+                        if (site != null) {
+                            site.add(unc);
+                        } else {
                         reportInternalError("scope underflow");
                     }
-                    scopes.peek().add(new UncommonTrap(Integer.parseInt(search(atts, "bci")),
-                                                       search(atts, "reason"),
-                                                       search(atts, "action"),
-                                                       bytecodes[current_bytecode]));
+                    } else {
+                        scopes.peek().add(unc);
+                    }
                 } catch (Error e) {
                     e.printStackTrace();
                 }
             }
         } else if (qname.startsWith("eliminate_lock")) {
< prev index next >