<div dir="ltr"><div class="gmail_default" style="font-size:small">can you post the crash.dmp?<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Feb 6, 2022 at 3:14 PM Jaromir Matas <<a href="mailto:mail@jaromir.net">mail@jaromir.net</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"> 





<div lang="EN-US" style="word-wrap:break-word">
<div class="gmail-m_3568463958349569892WordSection1">
<p class="MsoNormal">Hi,</p>
<p class="MsoNormal">I get this error when starting a fresh updated image with this squeak.cog.spur_win64x64 VM on latest Win 10 x64</p>
<p class="MsoNormal"><img width="301" height="267" style="width: 3.1354in; height: 2.7812in;" id="gmail-m_3568463958349569892Picture_x0020_3" src="cid:17ed7271c9137b6398a1"></p>
<p class="MsoNormal">Thanks for help,</p>
<p class="MsoNormal">jaromir</p>
<div style="border-style:solid none none;border-top-width:1pt;border-top-color:rgb(225,225,225);padding:3pt 0in 0in">
<p class="MsoNormal" style="border:none;padding:0in"><b>From: </b><a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a><br>
<b>Sent: </b>Sunday, February 6, 2022 22:52<br>
<b>To: </b><a href="mailto:vm-dev@lists.squeakfoundation.org" target="_blank">vm-dev@lists.squeakfoundation.org</a><br>
<b>Subject: </b>[Vm-dev] VM Maker: VMMaker.oscog-eem.3147.mcz</p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal" style="margin-bottom:12pt"><br>
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:<br>
<a href="http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3147.mcz" target="_blank">http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3147.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: VMMaker.oscog-eem.3147<br>
Author: eem<br>
Time: 6 February 2022, 1:51:16.763917 pm<br>
UUID: 409be388-ed75-49dc-a648-c7051eb48168<br>
Ancestors: VMMaker.oscog-eem.3146<br>
<br>
Fix regressions in the stack interpreter generated sources from VMMaker.oscog-eem.3144, and in primitiveSupend[V2] from VMMaker.oscog-eem.3142,VMMaker.oscog-eem.3134,VMMaker.oscog-eem.3127.<br>
<br>
=============== Diff against VMMaker.oscog-eem.3146 ===============<br>
<br>
Item was removed:<br>
- ----- Method: CoInterpreter>>accessorDepthForExternalPrimitiveMethod: (in category 'plugin primitive support') -----<br>
- accessorDepthForExternalPrimitiveMethod: methodObj<br>
-        <option: #SpurObjectMemory><br>
-        | flags lit |<br>
-        self assert: (self isLinkedExternalPrimitive: methodObj).<br>
-        lit := self literal: 0 ofMethod: methodObj.<br>
-         flags := objectMemory fetchPointer: ExternalCallLiteralFlagsIndex ofObject: lit.<br>
-         ^(objectMemory integerValueOf: flags) >>> SpurPrimitiveAccessorDepthShift!<br>
<br>
Item was removed:<br>
- ----- Method: CoInterpreter>>isLinkedExternalPrimitive: (in category 'plugin primitive support') -----<br>
- isLinkedExternalPrimitive: methodObj<br>
-        | header primIdx literal targetFunctionIndex |<br>
-        header := objectMemory methodHeaderOf: methodObj.<br>
-        primIdx := self primitiveIndexOfMethod: methodObj header: header.<br>
-        ^primIdx = PrimNumberExternalCall<br>
-         and: [(objectMemory literalCountOfMethodHeader: header) > 0<br>
-         and: [(objectMemory isArray: (literal := self literal: 0 ofMethod: methodObj))<br>
-         and: [(objectMemory numSlotsOf: literal) = 4<br>
-         and: [targetFunctionIndex := objectMemory fetchPointer: ExternalCallLiteralTargetFunctionIndex ofObject: literal.<br>
-                (objectMemory isIntegerObject: targetFunctionIndex)<br>
-         and: [(objectMemory integerValueOf: targetFunctionIndex) > 0]]]]] "A 0 byte module name implies a primitive in the main VM; these can't change"!<br>
<br>
Item was added:<br>
+ ----- Method: StackInterpreter>>accessorDepthForExternalPrimitiveMethod: (in category 'plugin primitive support') -----<br>
+ accessorDepthForExternalPrimitiveMethod: methodObj<br>
+        <option: #SpurObjectMemory><br>
+        | flags lit |<br>
+        self assert: (self isLinkedExternalPrimitive: methodObj).<br>
+        lit := self literal: 0 ofMethod: methodObj.<br>
+         flags := objectMemory fetchPointer: ExternalCallLiteralFlagsIndex ofObject: lit.<br>
+         ^(objectMemory integerValueOf: flags) >>> SpurPrimitiveAccessorDepthShift!<br>
<br>
Item was added:<br>
+ ----- Method: StackInterpreter>>isLinkedExternalPrimitive: (in category 'plugin primitive support') -----<br>
+ isLinkedExternalPrimitive: methodObj<br>
+        | header primIdx literal targetFunctionIndex |<br>
+        header := objectMemory methodHeaderOf: methodObj.<br>
+        primIdx := self primitiveIndexOfMethod: methodObj header: header.<br>
+        ^primIdx = PrimNumberExternalCall<br>
+         and: [(objectMemory literalCountOfMethodHeader: header) > 0<br>
+         and: [(objectMemory isArray: (literal := self literal: 0 ofMethod: methodObj))<br>
+         and: [(objectMemory numSlotsOf: literal) = 4<br>
+         and: [targetFunctionIndex := objectMemory fetchPointer: ExternalCallLiteralTargetFunctionIndex ofObject: literal.<br>
+                (objectMemory isIntegerObject: targetFunctionIndex)<br>
+         and: [(objectMemory integerValueOf: targetFunctionIndex) > 0]]]]] "A 0 byte module name implies a primitive in the main VM; these can't change"!<br>
<br>
Item was changed:<br>
  ----- Method: StackInterpreter>>transferTo: (in category 'process primitive support') -----<br>
  transferTo: newProc <br>
         "Record a process to be awoken on the next interpreter cycle."<br>
         | activeContext sched oldProc |<br>
         <inline: false><br>
         statProcessSwitch := statProcessSwitch + 1.<br>
         self push: instructionPointer.<br>
         self externalWriteBackHeadFramePointers.<br>
         self assertValidExecutionPointe: instructionPointer + 1 r: framePointer s: stackPointer.<br>
         sched := self schedulerPointer.<br>
         oldProc := objectMemory fetchPointer: ActiveProcessIndex ofObject: sched.<br>
         activeContext := self ensureFrameIsMarried: framePointer SP: stackPointer + objectMemory wordSize.<br>
         objectMemory storePointer: SuspendedContextIndex ofObject: oldProc withValue: activeContext.<br>
         objectMemory storePointer: ActiveProcessIndex ofObject: sched withValue: newProc.<br>
         objectMemory storePointerUnchecked: MyListIndex ofObject: newProc withValue: objectMemory nilObject.<br>
+        self externalSetStackPageAndPointersForSuspendedContextOfProcess: newProc.<br>
+        ^0 "to allow primitiveSuspend[V2] to exit early by returning the result of transferTo:"!<br>
-        self externalSetStackPageAndPointersForSuspendedContextOfProcess: newProc!<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>