On 28 Aug 2014, at 15:54, Yuriy Tymchuk <yuriy.tymc...@me.com> wrote:

> 
> On 27 Aug 2014, at 17:53, Camille Teruel <camille.ter...@gmail.com> wrote:
> 
>> Hi all,
>> 
>> With Opal, if you want to customize how methods are compiled into a class 
>> you can override #compilerClass on class-side:
>> MyClass class>>#compilerClass
>>      ^ MySpecialCompiler
>> 
> 
> I’ve missed this feature. This is super cool!
> 

There is now in addition #compiler, an instance, not the class.

This is useful as you can set compiler options this way. e.g. InstructionStream 
does not need to use a subclass but can  do

compiler
        "The JIT compiler needs to trap all reads to instance variables of 
contexts. As this check is costly, it is only done
        in the long form of the bytecodes, which are not used often. In this 
hierarchy we force the compiler to always generate
        long bytecodes"
        ^super compiler options: #(+ optionLongIvarAccessBytecodes)

Reply via email to