summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala
diff options
context:
space:
mode:
authorMiguel Garcia <miguelalfredo.garcia@epfl.ch>2012-08-06 18:31:35 +0200
committerMiguel Garcia <miguelalfredo.garcia@epfl.ch>2012-08-06 18:31:35 +0200
commit17037367049312eb3d26766a5759295ac9f8aed6 (patch)
tree0418da6136eb25aefd87fb6e4f685877d99ddd41 /src/compiler/scala/tools/nsc/backend/opt/Inliners.scala
parent61cc8ff61c81a1276a921ad5288ee3bebea1c96e (diff)
downloadscala-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.scala4
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 }