[Vm-dev] VM Maker: VMMaker.oscog-eem.3147.mcz

Eliot Miranda eliot.miranda at gmail.com
Tue Feb 8 02:26:25 UTC 2022


can you post the crash.dmp?

On Sun, Feb 6, 2022 at 3:14 PM Jaromir Matas <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
>
> Thanks for help,
>
> jaromir
>
> *From: *commits at source.squeak.org
> *Sent: *Sunday, February 6, 2022 22:52
> *To: *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/20220207/6da42459/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 11164611E955486A8B0C1841DE74E281.png
Type: image/png
Size: 8552 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20220207/6da42459/attachment-0001.png>


More information about the Vm-dev mailing list