Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 6bd78bcd9787fcf0022c99ab0a45b9cb3518bca5
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/6bd78bcd9787fcf002…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2022-02-10 (Thu, 10 Feb 2022)
Changed paths:
M src/spur32.cog/cointerp.c
M src/spur32.cog/cointerp.h
M src/spur32.cog/gcc3x-cointerp.c
M src/spur32.sista/cointerp.c
M src/spur32.sista/cointerp.h
M src/spur32.sista/gcc3x-cointerp.c
M src/spur64.cog/cointerp.c
M src/spur64.cog/cointerp.h
M src/spur64.cog/gcc3x-cointerp.c
M src/spur64.sista/cointerp.c
M src/spur64.sista/cointerp.h
M src/spur64.sista/gcc3x-cointerp.c
M src/v3.cog/cointerp.c
M src/v3.cog/cointerp.h
M src/v3.cog/gcc3x-cointerp.c
Log Message:
-----------
CogVm source as per VMMaker.oscog-eem.3154
CoInterpreterPrimitives>>primitiveSuspend lost its validation check on
the context and list; restore it.
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3154.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.3154
Author: eem
Time: 10 February 2022, 6:59:49.141104 pm
UUID: 7a65f763-45ca-452b-a879-efbbc38030c9
Ancestors: VMMaker.oscog-eem.3153
And anotehr oops. CoInterpreterPrimitives>>primitiveSuspend lost its validation check on teh context and list. restore it.
=============== Diff against VMMaker.oscog-eem.3153 ===============
Item was changed:
----- Method: CoInterpreterPrimitives>>primitiveSuspend (in category 'process primitives') -----
primitiveSuspend
"Primitive #88. Suspend the receiver, aProcess, such that it can be executed again
by sending #resume. If the given process is not the active process, take it off
its corresponding list. The primitive returns the list the receiver was previously on.
c.f. primitiveSuspendBackingUpV1,#568 & primitiveSuspendBackingUpV2,#578"
| process myList myContext ok |
process := self stackTop.
process = self activeProcess ifTrue:
[| inInterpreter |
"We're going to switch process, either to an interpreted frame or a machine
code frame. To know whether to return or enter machine code we have to
know from whence we came. We could have come from the interpreter,
either directly or via a machine code primitive. We could have come from
machine code. The instructionPointer tells us where from:"
self stackTopPut: objectMemory nilObject.
inInterpreter := instructionPointer >= objectMemory startOfMemory.
self transferTo: self wakeHighestPriority from: CSSuspend.
^self forProcessPrimitiveReturnToExecutivePostContextSwitch: inInterpreter].
myList := objectMemory fetchPointer: MyListIndex ofObject: process.
myContext := objectMemory fetchPointer: SuspendedContextIndex ofObject: process.
+ ((objectMemory isPointers: myList)
+ and: [(objectMemory numSlotsOf: myList) > LastLinkIndex
+ and: [(objectMemory isContext: myContext)
+ and: [self isResumableContext: myContext]]]) ifFalse:
+ [^self primitiveFailFor: PrimErrBadReceiver].
ok := self removeProcess: process fromList: myList.
ok ifFalse:
[^self primitiveFailFor: PrimErrOperationFailed].
objectMemory storePointerUnchecked: MyListIndex ofObject: process withValue: objectMemory nilObject.
self stackTopPut: myList!
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3152.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.3152
Author: eem
Time: 10 February 2022, 5:45:57.832227 pm
UUID: 4283c2f2-1749-4c8d-91f2-1f5c0ddbd28e
Ancestors: VMMaker.oscog-eem.3151
Oops. Update MaxPrimitiveIndex to accomodate new primitives.
=============== Diff against VMMaker.oscog-eem.3151 ===============
Item was changed:
----- Method: StackInterpreter class>>initializePrimitiveTable (in category 'initialization') -----
(excessive size, no diff calculated)
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 55a60cbffc62ffb0707352fc4dcb2ad2f4b2e222
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/55a60cbffc62ffb070…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2022-02-10 (Thu, 10 Feb 2022)
Changed paths:
M src/spur32.cog.lowcode/cointerp.c
M src/spur32.cog.lowcode/cointerp.h
M src/spur32.cog.lowcode/gcc3x-cointerp.c
M src/spur32.cog.lowcode/vmCallback.h
M src/spur32.cog/cointerp.c
M src/spur32.cog/cointerp.h
M src/spur32.cog/cointerpmt.c
M src/spur32.cog/cointerpmt.h
M src/spur32.cog/gcc3x-cointerp.c
M src/spur32.cog/gcc3x-cointerpmt.c
M src/spur32.cog/vmCallback.h
M src/spur32.sista/cointerp.c
M src/spur32.sista/cointerp.h
M src/spur32.sista/gcc3x-cointerp.c
M src/spur32.sista/vmCallback.h
M src/spur32.stack.lowcode/gcc3x-interp.c
M src/spur32.stack.lowcode/interp.c
M src/spur32.stack.lowcode/vmCallback.h
M src/spur32.stack/gcc3x-interp.c
M src/spur32.stack/interp.c
M src/spur32.stack/vmCallback.h
M src/spur64.cog.lowcode/cointerp.c
M src/spur64.cog.lowcode/cointerp.h
M src/spur64.cog.lowcode/gcc3x-cointerp.c
M src/spur64.cog.lowcode/vmCallback.h
M src/spur64.cog/cointerp.c
M src/spur64.cog/cointerp.h
M src/spur64.cog/cointerpmt.c
M src/spur64.cog/cointerpmt.h
M src/spur64.cog/gcc3x-cointerp.c
M src/spur64.cog/gcc3x-cointerpmt.c
M src/spur64.cog/vmCallback.h
M src/spur64.sista/cointerp.c
M src/spur64.sista/cointerp.h
M src/spur64.sista/gcc3x-cointerp.c
M src/spur64.sista/vmCallback.h
M src/spur64.stack.lowcode/gcc3x-interp.c
M src/spur64.stack.lowcode/interp.c
M src/spur64.stack.lowcode/vmCallback.h
M src/spur64.stack/gcc3x-interp.c
M src/spur64.stack/interp.c
M src/spur64.stack/vmCallback.h
M src/v3.cog/cointerp.c
M src/v3.cog/cointerp.h
M src/v3.cog/gcc3x-cointerp.c
M src/v3.cog/vmCallback.h
M src/v3.stack/gcc3x-interp.c
M src/v3.stack/interp.c
M src/v3.stack/vmCallback.h
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.3150
Spur CoInterpreter:
further cleanup of primitive property flags computation.
primitiveFunctionPointer is no longer part of primitive-invoke-time state,
so expunge it from VMCallbackContext.
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 5b1e8dc032b2fca13e3d61e2c9c6969e17e1f9cc
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/5b1e8dc032b2fca13e…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2022-02-10 (Thu, 10 Feb 2022)
Changed paths:
M platforms/Cross/plugins/SqueakFFIPrims/sqFFI.h
M platforms/Cross/plugins/SqueakFFIPrims/sqFFITestFuncExports.h
Log Message:
-----------
SqueakFFIPrims as an internal plugin. Add some missing exports.