changeset 15266:dfea12511642

Use AFTER_EXCEPTION_BCI in unwind block when method is not synchronized
author Gilles Duboscq <duboscq@ssw.jku.at>
date Tue, 22 Apr 2014 13:51:16 +0200
parents 34af9fbce1d4
children 98d45600222c
files graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java	Tue Apr 22 17:50:13 2014 +0200
+++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java	Tue Apr 22 13:51:16 2014 +0200
@@ -290,7 +290,7 @@
                     unwindBlock = new ExceptionDispatchBlock();
                     unwindBlock.startBci = -1;
                     unwindBlock.endBci = -1;
-                    unwindBlock.deoptBci = BytecodeFrame.UNWIND_BCI;
+                    unwindBlock.deoptBci = Modifier.isSynchronized(method.getModifiers()) ? BytecodeFrame.UNWIND_BCI : BytecodeFrame.AFTER_EXCEPTION_BCI;
                     unwindBlock.setId(Integer.MAX_VALUE);
                 }
                 return unwindBlock;