<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000;text-align: left" dir="ltr">
                                        Hi Christoph --<div><br></div><div>Please treat this as an example of why the Inbox exists. Thank you for having it reverted so quickly.</div><div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></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 29.12.2021 03:21:34 schrieb Thiede, Christoph <christoph.thiede@student.hpi.uni-potsdam.de>:</p><div style="font-family:Arial,Helvetica,sans-serif">

<div id="divtagdefaultwrapper" style="font-size: 12pt;color: #000000;font-family: Calibri,Helvetica,sans-serif" dir="ltr">
<p>Hi Eliot,</p>
<p><br>
</p>
<p>I'm dreadfully sorry, I have completely misjudged the role of this protocol - I have mistaken them for some kind of convenience protocol to avoid message dispatching, and because the patch did not affect existing code and was covered by tests that worked
 for me on multiple platforms, I wrongly assumed that it would be a harmless change, so I did not want to place the burden on anyone else to merge it. I now understand that this was a bad idea and have reverted both <span>Kernel-ct.1439 and <span>Tests-ct.470.
 I am sorry to miss your expectations and will double-check whenever I skip the inbox for any future patches to critical domains. It is hard for me to estimate the need for review correctly; I will be more cautious now.</span></span></p>
<p><span><span><br>
</span></span></p>
<p><span><span>> <span>the failure code for objectIsReadOnly: is non sense</span></span></span></p>
<p><span><span><span><br>
</span></span></span></p>
<p><span><span><span>Does this critique apply to <span>Object >> #isReadOnlyObject as well? I wonder how a getter primitive can fail (except for older VMs that do not support write barriers).</span></span></span></span></p>
<p><span><span><span><span><br>
</span></span></span></span></p>
<p><span><span><span><span>Best,</span></span></span></span></p>
<p><span><span><span><span>Christoph</span></span></span></span></p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><span style="font-family: Calibri, sans-serif;color: #000000"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Eliot Miranda <eliot.miranda@gmail.com><br>
<b>Gesendet:</b> Mittwoch, 29. Dezember 2021 02:32:27<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Cc:</b> packages@lists.squeakfoundation.org<br>
<b>Betreff:</b> Re: [squeak-dev] The Trunk: Kernel-ct.1439.mcz</span>
<div> </div>
</div>
<div>
<div dir="ltr">
<div class="gmail_default" style="font-size: 10pt">you need to revert this and start putting such extensions in your own  package.  This code is a) wrong (the failure code for objectIsReadOnly: is non sense), and b) unnecessary for Kernel. If you want to program
 at the interface between the system and the VM you *must* understand the VM architecture.  This code *will not work* without VM modifications.  This code displays a misunderstanding of, for example, the read-only bit. </div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, Dec 28, 2021 at 4:47 PM <<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex;border-left-width: 1px;border-left-style: solid;border-left-color: rgb(204,204,204);padding-left: 1ex;min-width: 500px">
Christoph Thiede uploaded a new version of Kernel to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Kernel-ct.1439.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/trunk/Kernel-ct.1439.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Kernel-ct.1439<br>
Author: ct<br>
Time: 29 December 2021, 1:47:06.285067 am<br>
UUID: f55ab880-48e4-7946-b734-58afc7d03b57<br>
Ancestors: Kernel-ct.1438, Kernel-ct.1404<br>
<br>
Adds mirror primitives for primitiveGetImmutability (primitive 163/#isReadOnlyObject), primitiveSetImmutability (primitive 164/#setIsReadOnlyObject:), and primitiveClone (primitive 148/#shallowCopy).<br>
<br>
=============== Diff against Kernel-ct.1438 ===============<br>
<br>
Item was added:<br>
+ ----- Method: Context>>object:setIsReadOnly: (in category 'mirror primitives') -----<br>
+ object: anObject setIsReadOnly: aBoolean<br>
+       "Set the read-only flag of the argument anObject to the given value aBoolean and answer the previous value of the flag, without sending a message to anObject. This mimics the action of the VM when an object is set as read-only or writeable. See Object
 >> #setIsReadOnlyObject:."<br>
+ <br>
+       <primitive: 164 error: ec><br>
+       self primitiveFailed!<br>
<br>
Item was added:<br>
+ ----- Method: Context>>objectClone: (in category 'mirror primitives') -----<br>
+ objectClone: anObject<br>
+       "Answer a copy the argument anObject which share's the original's instance variables, without sending it a message. This mimics the action of the VM when it clones an object.<br>
+        Used to simulate the execution machinery by, for example, the debugger.<br>
+        Primitive.  See Object documentation whatIsAPrimitive."<br>
+ <br>
+       <primitive: 148><br>
+       self primitiveFailed!<br>
<br>
Item was added:<br>
+ ----- Method: Context>>objectIsReadOnly: (in category 'mirror primitives') -----<br>
+ objectIsReadOnly: anObject<br>
+       "Answer if the argument is read-only without sending it a message. This mimics the action of the VM when an object is tested for writeability. See Object >> #isReadOnlyObject."<br>
+ <br>
+       <primitive: 163 error: ec><br>
+       ^ (self objectClass: anObject) isImmediateClass!<br>
<br>
<br>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr" class="gmail_signature">
<div dir="ltr">
<div><span style="font-size: 10pt;border-collapse: separate">
<div>_,,,^..^,,,_<br>
</div>
<div>best, Eliot</div>
</span></div>
</div>
</div>
</div>
</div></blockquote></div>