On May 18, 2010, at 4:58 18PM, Stéphane Ducasse wrote:
Please send me that and I will integrate it.
Stef
If I had any idea what a helpful comments would be, I would :) Clearly, I just don't understand it at all atm though, and I really don't have time to read the Compiler and/or VM sources to figure it out. Cheers, Henry
On May 18, 2010, at 4:46 PM, Henrik Johansen wrote:
On May 18, 2010, at 4:15 33PM, Henrik Johansen wrote:
On May 18, 2010, at 3:39 33PM, Mariano Martinez Peck wrote:
(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.
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?
At least for methodReturnTop, which has 2 literals, it certainly does not seem like numLits -1 contains properties....
Oh, ok, numLit -1 contains the selector.
So that would be the "except selector" Lukas mentioned. Same method in different classes do not equal eachother though, if I've not made a mistake in:
|mrtCp| mrtCp := (InstructionClient>>#methodReturnTop) copy. mrtCp literalAt: 2 put: #ContextPart->ContextPart. (InstructionClient>>#methodReturnTop) = mrtCp
At the very least, the branches of index = 1 and: [ #(117 120) includes: self primitive ]) ifTrue: [
REALLY deserve some comments...
Cheers, Henry
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project