« Return to Thread: [scala-tools] Compiler optimisations/inlining

[scala-tools] Compiler optimisations/inlining

by Erkki Lindpere-2 :: Rate this Message:

Reply to Author | View in Thread

Are the Scala compiler's -optimise and -Yinline options actually
supposed to do some inlining at the moment? I have tried this with
numerous Scala versions but nothing seems to get inlined. With some
older versions it used to even crash the compiler.

Note: I'm compiling from the Eclipse IDE and set the optimise and inline
as per-project options.

For example, for the following class, nothing seems to get inlined:

case class Vector2f(x: Float, y: Float) {
  @inline def +(a: Float) = Vector2f(x + a, y + a)
  @inline def -(a: Float) = Vector2f(x - a, y - a)
  @inline def *(a: Float) = Vector2f(x * a, y * a)
  @inline def /(a: Float) = Vector2f(x / a, y / a)
  ...
}

I recently noticed the @inline annotation and added those to all
methods, but even that doesn't seem to cause those methods to actually
get inlined.

Erkki

 « Return to Thread: [scala-tools] Compiler optimisations/inlining