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

Re: [scala-tools] Compiler optimisations/inlining

by Erkki Lindpere-2 :: Rate this Message:

Reply to Author | View in Thread

It doesn't seem to work correctly though (with 2.7.4):

Exception in thread "main" java.lang.IllegalAccessError: tried to access
field Vector2f.x from class X

Erkki

Erkki Lindpere wrote:

> Sorry, I am stupid. Of course the methods need to be final for them to
> be inlined...
>
> Erkki
>
> Erkki Lindpere wrote:
>> 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