[Vm-dev] inlining constant with branch elimination is aggressive
Nicolas Cellier
nicolas.cellier.aka.nice at gmail.com
Sat Oct 24 00:09:34 UTC 2015
Example in shortPrintContext:
(self isMachineCodeFrame: (theFP := self frameOfMarriedContext: aContext))
ifTrue: [self print: ' M (']
ifFalse: [self print: ' I ('].
self printHex: theFP asUnsignedInteger; print: ') '
in a stack vm, isMachineCodeFrame: is unconditionnally false, so theFP
never gets a chance to be initialized...
It's potentially dagerous... Either we change the generator to generate the
side effects, or we manually change the code.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20151024/f237fb45/attachment.htm
More information about the Vm-dev
mailing list