On 28 Aug 2014, at 16:03, Camille Teruel <camille.teruel@gmail.com> wrote:


On 28 ao�t 2014, at 15:58, Marcus Denker <marcus.denker@inria.fr> wrote:


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


On 27 Aug 2014, at 17:53, Camille Teruel <camille.teruel@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.

Hum right... I should do the same thing with a #classSideCompiler then, right?

yes� but when #compiler is set, it should be valid for both instance and class side... 


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)