[Vm-dev] VM Maker: VMMaker.oscog-eem.2907.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Dec 23 00:32:54 UTC 2020
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2907.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.2907
Author: eem
Time: 22 December 2020, 4:32:46.670664 pm
UUID: 5bf10ff3-9f29-4f07-b93a-91354783cb32
Ancestors: VMMaker.oscog-tpr.2906
Simulation:
Fix regression in SocketPluginSimulator due to changes to CArray>>coerceTo:sim: in VMMaker.oscog-eem.2905; 'char *' is assumed to be unsigned.
Add a missing Socket primitive simulation (hit when running the SocketTests under simulation).
Add a useful error message to CLiteralArray>>at:put:
=============== Diff against VMMaker.oscog-tpr.2906 ===============
Item was changed:
----- Method: CArray>>coerceTo:sim: (in category 'converting') -----
coerceTo: cTypeString sim: interpreterSimulator
^cTypeString caseOf: {
['int'] -> [self ptrAddress].
['float *'] -> [self asSingleFloatAccessor].
['double *'] -> [self asDoubleFloatAccessor].
['sqInt *'] -> [self shallowCopy unitSize: interpreter bytesPerOop; beSigned].
['unsigned int *'] -> [self shallowCopy unitSize: 4; beUnsigned].
['int *'] -> [self shallowCopy unitSize: 4; beSigned].
['unsigned short *'] -> [self shallowCopy unitSize: 2; beUnsigned].
['short *'] -> [self shallowCopy unitSize: 2; beSigned].
['unsigned char *'] -> [self shallowCopy unitSize: 1; beUnsigned].
+ ['char *'] -> [self shallowCopy unitSize: 1; beUnsigned]. "C is ambivalent on the issue; sigh... SocketPlugin assumes unsigned"
- ['char *'] -> [self shallowCopy unitSize: 1; beSigned]. "C is ambivalent on the issue; sigh..."
['unsigned'] -> [self ptrAddress].
['sqInt'] -> [self ptrAddress].
['usqInt'] -> [self ptrAddress].
['sqIntptr_t'] -> [self shallowCopy unitSize: interpreter bytesPerOop; yourself] }!
Item was changed:
----- Method: CLiteralArray>>at:put: (in category 'accessing') -----
at: offset put: val
+ self error: 'Literals are immutable; proceed to attempt to assign anyway...'.
^object at: offset + 1 put: val!
Item was added:
+ ----- Method: SocketPluginSimulator>>sqSocket:ListenOnPort:BacklogSize: (in category 'simulation') -----
+ sqSocket: socketHandle ListenOnPort: portNumber BacklogSize: backlog
+ ^[Socket basicNew
+ primSocket: ((self hostSocketHandleFromSimSocketHandle: socketHandle) ifNil: [^self])
+ listenOn: portNumber
+ backlogSize: backlog]
+ on: SocketPrimitiveFailed
+ do: [:ex|
+ interpreterProxy primitiveFail.
+ 0]!
More information about the Vm-dev
mailing list