Mercurial > hg > truffle
diff graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java @ 8586:82f6a25321b8
modeling of lock state removed from LIR and runtime specific debug info for locks moved into runtime specific classes
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 29 Mar 2013 12:31:42 +0100 |
parents | 718c0304ffeb |
children | 480c564d90ef |
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java Fri Mar 29 12:22:27 2013 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java Fri Mar 29 12:31:42 2013 +0100 @@ -1095,6 +1095,7 @@ FrameState outerFrameState = null; double invokeProbability = invoke.node().probability(); + int callerLockDepth = stateAfter.locksSize(); for (Node node : duplicates.values()) { if (GraalOptions.ProbabilityAnalysis) { if (node instanceof FixedNode) { @@ -1138,6 +1139,10 @@ } } } + if (callerLockDepth != 0 && node instanceof MonitorReference) { + MonitorReference monitor = (MonitorReference) node; + monitor.setLockDepth(monitor.getLockDepth() + callerLockDepth); + } } Node returnValue = null;