<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">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>