diff options
author | Miguel Garcia <miguelalfredo.garcia@epfl.ch> | 2012-08-06 18:31:35 +0200 |
---|---|---|
committer | Miguel Garcia <miguelalfredo.garcia@epfl.ch> | 2012-08-06 18:31:35 +0200 |
commit | 17037367049312eb3d26766a5759295ac9f8aed6 (patch) | |
tree | 0418da6136eb25aefd87fb6e4f685877d99ddd41 /src/compiler/scala/tools/nsc/backend/opt/Inliners.scala | |
parent | 61cc8ff61c81a1276a921ad5288ee3bebea1c96e (diff) | |
download | scala-17037367049312eb3d26766a5759295ac9f8aed6.tar.gz scala-17037367049312eb3d26766a5759295ac9f8aed6.tar.bz2 scala-17037367049312eb3d26766a5759295ac9f8aed6.zip |
SI-6157 don't inline callee with exception-handler(s) if potentially unsafe
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/opt/Inliners.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/opt/Inliners.scala | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala b/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala index dd7676a371..22f0a9ca7c 100644 --- a/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala +++ b/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala @@ -981,8 +981,8 @@ abstract class Inliners extends SubComponent { return DontInlineHere("too low score (heuristics)") } - if(inc.hasHandlers && (stackLength != 0)) { - // TODO pending return DontInlineHere("callee contains exception handlers / finally clause, and is invoked with non-empty operand stack") // SI-6157 + if(inc.hasHandlers && (stackLength > inc.minimumStack)) { + return DontInlineHere("callee contains exception handlers / finally clause, and is invoked with non-empty operand stack") // SI-6157 } if(isKnownToInlineSafely) { return InlineableAtThisCaller } |