On 6 janv. 2014, at 13:55, Marcus Denker <marcus.denker@inria.fr> wrote:


On 06 Jan 2014, at 13:43, Cl�ment Bera <bera.clement@gmail.com> wrote:

So I tried and it worked.

In Opal to remove the usage of #==, I removed it from the special selector array in the method:
IRBytecodeGenerator class>>specialSelectorsArray
^ #(#+ 1 #- 1 #< 1 #> 1 #<= 1 #>= 1 #= 1 #~= 1 #* 1 #/ 1 #\\ 1 #@ 1 #bitShift: 1 #// 1 #bitAnd: 1 #bitOr: 1 #at: 1 #at:put: 2 #size 0 #next 0 #nextPut: 1 #atEnd 0 #== 1 nil 0 #blockCopy: 1 #value 0 #value: 1 #do: 1 #new 0 #new: 1 #x 0 #y 0)

Then I ran:
IRBytecodeGenerator initialize.
OpalCompiler recompileAll.

Then in my example:

A>>==
    ^ true

a := A new.
b := A new.
a == b  answered true, so it worked.


The only side effect it can have is that people might have written code with the knowledge that sending
#== can not lead to an interrupt check, e.g. a GC happening or process switching.

Yes for example in #~~


Marcus