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