(InstructionClient>>#methodReturnTop) = (InstructionClient>>#doDup)
methodReturnTop startPC -> 13 methodReturnTop endPC -> 12.
I have a slight feeling that is one of the reasons :) Seems to be related to method trailers size assumptions not holding.
That's fine, the method has no bytecode. It is a quick-return self.
Also, sameLiteralsAs: is a mess. There are no comments really revealing the intention of the 8 ifTrue/False branches, no refactoring to use revealing method names... Can anyone explain to me why numLits  -1 = index is checked?
Check the VM source/compiler on the different special literal slots and how different kind of primitives are encoded.
At least for methodReturnTop, which has 2 literals, it certainly does not seem like numLits -1 Â contains properties....
The two literals are the selector and the class-binding, as the method comment says these literals are not considered for equality. Lukas -- Lukas Renggli www.lukas-renggli.ch