[Vm-dev] VM Maker: VMMaker.oscog-eem.3147.mcz
Jaromir Matas
mail at jaromir.net
Tue Feb 8 08:51:51 UTC 2022
Unfortunately no crash.dmp has been created, the VM (3147) shows the error immediately after starting up, no image opened, just the info. But 3148 works fine so I guess you fixed it :)
From: Eliot Miranda<mailto:eliot.miranda at gmail.com>
Sent: Tuesday, February 8, 2022 3:26
To: Open Smalltalk Virtual Machine Development Discussion<mailto:vm-dev at lists.squeakfoundation.org>
Subject: Re: [Vm-dev] VM Maker: VMMaker.oscog-eem.3147.mcz
can you post the crash.dmp?
On Sun, Feb 6, 2022 at 3:14 PM Jaromir Matas <mail at jaromir.net<mailto:mail at jaromir.net>> wrote:
Hi,
I get this error when starting a fresh updated image with this squeak.cog.spur_win64x64 VM on latest Win 10 x64
[cid:17ed7271c9137b6398a1]
Thanks for help,
jaromir
From: commits at source.squeak.org<mailto:commits at source.squeak.org>
Sent: Sunday, February 6, 2022 22:52
To: vm-dev at lists.squeakfoundation.org<mailto:vm-dev at lists.squeakfoundation.org>
Subject: [Vm-dev] VM Maker: VMMaker.oscog-eem.3147.mcz
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3147.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.3147
Author: eem
Time: 6 February 2022, 1:51:16.763917 pm
UUID: 409be388-ed75-49dc-a648-c7051eb48168
Ancestors: VMMaker.oscog-eem.3146
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.
=============== Diff against VMMaker.oscog-eem.3146 ===============
Item was removed:
- ----- Method: CoInterpreter>>accessorDepthForExternalPrimitiveMethod: (in category 'plugin primitive support') -----
- accessorDepthForExternalPrimitiveMethod: methodObj
- <option: #SpurObjectMemory>
- | flags lit |
- self assert: (self isLinkedExternalPrimitive: methodObj).
- lit := self literal: 0 ofMethod: methodObj.
- flags := objectMemory fetchPointer: ExternalCallLiteralFlagsIndex ofObject: lit.
- ^(objectMemory integerValueOf: flags) >>> SpurPrimitiveAccessorDepthShift!
Item was removed:
- ----- Method: CoInterpreter>>isLinkedExternalPrimitive: (in category 'plugin primitive support') -----
- isLinkedExternalPrimitive: methodObj
- | header primIdx literal targetFunctionIndex |
- header := objectMemory methodHeaderOf: methodObj.
- primIdx := self primitiveIndexOfMethod: methodObj header: header.
- ^primIdx = PrimNumberExternalCall
- and: [(objectMemory literalCountOfMethodHeader: header) > 0
- and: [(objectMemory isArray: (literal := self literal: 0 ofMethod: methodObj))
- and: [(objectMemory numSlotsOf: literal) = 4
- and: [targetFunctionIndex := objectMemory fetchPointer: ExternalCallLiteralTargetFunctionIndex ofObject: literal.
- (objectMemory isIntegerObject: targetFunctionIndex)
- and: [(objectMemory integerValueOf: targetFunctionIndex) > 0]]]]] "A 0 byte module name implies a primitive in the main VM; these can't change"!
Item was added:
+ ----- Method: StackInterpreter>>accessorDepthForExternalPrimitiveMethod: (in category 'plugin primitive support') -----
+ accessorDepthForExternalPrimitiveMethod: methodObj
+ <option: #SpurObjectMemory>
+ | flags lit |
+ self assert: (self isLinkedExternalPrimitive: methodObj).
+ lit := self literal: 0 ofMethod: methodObj.
+ flags := objectMemory fetchPointer: ExternalCallLiteralFlagsIndex ofObject: lit.
+ ^(objectMemory integerValueOf: flags) >>> SpurPrimitiveAccessorDepthShift!
Item was added:
+ ----- Method: StackInterpreter>>isLinkedExternalPrimitive: (in category 'plugin primitive support') -----
+ isLinkedExternalPrimitive: methodObj
+ | header primIdx literal targetFunctionIndex |
+ header := objectMemory methodHeaderOf: methodObj.
+ primIdx := self primitiveIndexOfMethod: methodObj header: header.
+ ^primIdx = PrimNumberExternalCall
+ and: [(objectMemory literalCountOfMethodHeader: header) > 0
+ and: [(objectMemory isArray: (literal := self literal: 0 ofMethod: methodObj))
+ and: [(objectMemory numSlotsOf: literal) = 4
+ and: [targetFunctionIndex := objectMemory fetchPointer: ExternalCallLiteralTargetFunctionIndex ofObject: literal.
+ (objectMemory isIntegerObject: targetFunctionIndex)
+ and: [(objectMemory integerValueOf: targetFunctionIndex) > 0]]]]] "A 0 byte module name implies a primitive in the main VM; these can't change"!
Item was changed:
----- Method: StackInterpreter>>transferTo: (in category 'process primitive support') -----
transferTo: newProc
"Record a process to be awoken on the next interpreter cycle."
| activeContext sched oldProc |
<inline: false>
statProcessSwitch := statProcessSwitch + 1.
self push: instructionPointer.
self externalWriteBackHeadFramePointers.
self assertValidExecutionPointe: instructionPointer + 1 r: framePointer s: stackPointer.
sched := self schedulerPointer.
oldProc := objectMemory fetchPointer: ActiveProcessIndex ofObject: sched.
activeContext := self ensureFrameIsMarried: framePointer SP: stackPointer + objectMemory wordSize.
objectMemory storePointer: SuspendedContextIndex ofObject: oldProc withValue: activeContext.
objectMemory storePointer: ActiveProcessIndex ofObject: sched withValue: newProc.
objectMemory storePointerUnchecked: MyListIndex ofObject: newProc withValue: objectMemory nilObject.
+ self externalSetStackPageAndPointersForSuspendedContextOfProcess: newProc.
+ ^0 "to allow primitiveSuspend[V2] to exit early by returning the result of transferTo:"!
- self externalSetStackPageAndPointersForSuspendedContextOfProcess: newProc!
--
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20220208/36a49032/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 11164611E955486A8B0C1841DE74E281.png
Type: image/png
Size: 8552 bytes
Desc: 11164611E955486A8B0C1841DE74E281.png
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20220208/36a49032/attachment-0001.png>
More information about the Vm-dev
mailing list