<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
                                        It would be interesting to see a compiler (configuration) where you could disable some optimized byte codes to then generate the sends instead. Scoped per class just like #compilerClass already does. Maybe via #compilerPreferences to make it more user-friendly?<div><br></div><div>MySpecialObject class >> #compilerPreferences<br><div>   ^ #(</div><div>      fastInstVarAccess false</div><div>      fastClassAccess false "#class"</div><div>      fastConditionals false "#ifTrue: #ifFalse: #ifNil: #ifNotNil:"</div><div>      fastIntervalEnumeration false "#to:do:"</div><div>      ... )</div><div><br></div><div>Anyway, I presume that no such configurable option exists in Compiler/Encoder yet?</div><div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div>
                                        </div><blockquote class="history_container" type="cite" style="border-left-style: solid;border-width: 1px;margin-top: 20px;margin-left: 0px;padding-left: 10px;min-width: 500px">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 02.05.2022 07:42:41 schrieb Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com>:</p><div style="font-family:Arial,Helvetica,sans-serif">
<div dir="auto"><div>Hi Lauren,</div><div dir="auto">Indeed, the VM is cheating, and for obvious efficiency reasons don't send the message instVarAt:. You would need to define a specific Compiler to encode the inst var access with other bytecode sequences.</div><div dir="auto">Nicolas<br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">Le lun. 2 mai 2022, 03:08, Lauren Pullen <<a href="mailto:drurowin@gmail.com">drurowin@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin: 0 0 0 .8ex;border-left: 1px #ccc solid;padding-left: 1ex;min-width: 500px">Hi list,<br>
<br>
I'm trying to make an object that has special instance variable<br>
allocation methods by overriding #instVarAt: and #instVarAt:put:, but it<br>
isn't working.<br>
<br>
In an inspector, the fields are presented as expected, but the<br>
#pushRcvr: and #popIntoRcvr: bytecodes seem to use the basic behavior.<br>
<br>
#instVarAt: and #instVarAt:put: aren't labeled 'No lookup.' like #== is,<br>
but the VM bytecode evaluator doesn't use them for instance variable<br>
access so the overridden the new behavior only works in the simulator...<br>
which includes everything from inspectors to fileIn/Out and bytecode<br>
simulators.<br>
<br>
Is this something you can do? or are you required to use custom getter<br>
and setter methods?<br></blockquote></div></div></div>
</div></blockquote></div>