summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/backend/jvm/opt/Inliner.scala
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2015-03-30 12:11:37 +0200
committerLukas Rytz <lukas.rytz@gmail.com>2015-03-31 20:04:22 +0200
commit6cf17ccd0101514a603a8c191438bdc2764838f9 (patch)
tree4e01f4f1e46ef94c4553d28703a61dad13941655 /src/compiler/scala/tools/nsc/backend/jvm/opt/Inliner.scala
parent093be1add315bd5b76057e943bdba1a4cc198a0d (diff)
downloadscala-6cf17ccd0101514a603a8c191438bdc2764838f9.tar.gz
scala-6cf17ccd0101514a603a8c191438bdc2764838f9.tar.bz2
scala-6cf17ccd0101514a603a8c191438bdc2764838f9.zip
Command-line flag to control inlining heuristics
Introduces a stress-test mode "everything" in which the inliner tries to inline every calliste that can be statically resolved.
Diffstat (limited to 'src/compiler/scala/tools/nsc/backend/jvm/opt/Inliner.scala')
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/opt/Inliner.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/opt/Inliner.scala b/src/compiler/scala/tools/nsc/backend/jvm/opt/Inliner.scala
index e14e57d3ab..fbbb6bb5e0 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/opt/Inliner.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/opt/Inliner.scala
@@ -106,7 +106,8 @@ class Inliner[BT <: BTypes](val btypes: BT) {
*/
def doInlineCallsite(callsite: Callsite): Boolean = callsite match {
case Callsite(_, _, _, Right(Callee(callee, calleeDeclClass, safeToInline, _, annotatedInline, _, warning)), _, _, pos) =>
- annotatedInline && safeToInline
+ if (inliningHeuristics == "everything") safeToInline
+ else annotatedInline && safeToInline
case _ => false
}