# HG changeset patch # User Andreas Woess # Date 1374568974 -7200 # Node ID 94cf5df0727fe9de40208d09d96c2b94182918d4 # Parent a0401b1f7cc4d9dbbed4232f5cbe9c554c19ff6e Backout changeset 4c12d3756015; ensure compiledCodeInvalidated() is never inlined. diff -r a0401b1f7cc4 -r 94cf5df0727f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Tue Jul 23 09:45:39 2013 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/OptimizedCallTarget.java Tue Jul 23 10:42:54 2013 +0200 @@ -90,6 +90,7 @@ } private Object compiledCodeInvalidated(PackedFrame caller, Arguments args) { + CompilerAsserts.neverPartOfCompilation(); compiledMethod = null; int invalidationReprofileCount = TruffleInvalidationReprofileCount.getValue(); invokeCounter = invalidationReprofileCount; @@ -103,6 +104,7 @@ } private Object interpreterCall(PackedFrame caller, Arguments args) { + CompilerAsserts.neverPartOfCompilation(); invokeCounter--; loopAndInvokeCounter--; if (disableCompilation || loopAndInvokeCounter > 0 || invokeCounter > 0) { diff -r a0401b1f7cc4 -r 94cf5df0727f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java Tue Jul 23 09:45:39 2013 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java Tue Jul 23 10:42:54 2013 +0200 @@ -64,7 +64,7 @@ private final HotSpotGraalRuntime graalRuntime; private final TruffleCache truffleCache; - private static final Class[] SKIPPED_EXCEPTION_CLASSES = new Class[]{SlowPathException.class, UnexpectedResultException.class, ArithmeticException.class, InvalidInstalledCodeException.class}; + private static final Class[] SKIPPED_EXCEPTION_CLASSES = new Class[]{SlowPathException.class, UnexpectedResultException.class, ArithmeticException.class}; public static final OptimisticOptimizations Optimizations = OptimisticOptimizations.ALL.remove(OptimisticOptimizations.Optimization.UseExceptionProbability, OptimisticOptimizations.Optimization.RemoveNeverExecutedCode, OptimisticOptimizations.Optimization.UseTypeCheckedInlining, OptimisticOptimizations.Optimization.UseTypeCheckHints); diff -r a0401b1f7cc4 -r 94cf5df0727f graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/OptimizedCallTargetSubstitutions.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/OptimizedCallTargetSubstitutions.java Tue Jul 23 09:45:39 2013 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/substitutions/OptimizedCallTargetSubstitutions.java Tue Jul 23 10:42:54 2013 +0200 @@ -35,6 +35,9 @@ @MacroSubstitution(macro = NeverInlineMacroNode.class, isStatic = false) public static native Object interpreterCall(OptimizedCallTarget target, PackedFrame caller, Arguments args); + @MacroSubstitution(macro = NeverInlineMacroNode.class, isStatic = false) + public static native Object compiledCodeInvalidated(OptimizedCallTarget target, PackedFrame caller, Arguments args); + @MethodSubstitution private static FrameWithoutBoxing createFrame(FrameDescriptor descriptor, PackedFrame caller, Arguments args) { return NewFrameNode.allocate(descriptor, caller, args);