[Vm-dev] primitiveDisplayString is not always advancing destX

tim Rowledge tim at rowledge.org
Thu Oct 24 01:26:22 UTC 2013


On 23-10-2013, at 4:31 PM, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> wrote:

> I wonder why there is not a:
> 
>     "store destX back"    
>     interpreterProxy storeInteger: BBDestXIndex ofObject: bitBltOop withValue: destX.
> 
> at the end of primitiveDisplayString (that is, only in case of success).
> 
> That would properly advance the destX, and would avoid the guard in StrikeFont>>displayString:on:from:to:at:kern:
> 
> Or did I miss something?

No, I rather suspect that is simply a bug. Fixing it would probably be of some useful performance benefit too, though it might take a moments head-scratching to be sure about a good safe work-around for fixing the work-around. Some test like aBitBlt destX = aPoint x ifTrue:["old fixup"] ifFalse:[^aBitBlt destX @ aPoint y] would probably be about the thing. 


tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Strange Opcodes: ZZZZZZZZZZZZ: enter sleep mode




More information about the Vm-dev mailing list