tag:forum.world.st,2006:forum-104410
Nabble - Squeak VM
2024-03-29T04:46:18Z
Squeak Virtual Machine Development
tag:forum.world.st,2006:post-5130460
[OpenSmalltalk/opensmalltalk-vm] Aarch64 integer compare bug (#<) (#571)
2021-06-16T16:47:41Z
2021-06-16T16:47:41Z
David T Lewis
<br /><p></p>
<p>16r80000000 < 16r8000000000000000. "==> false "</p>
<p>[Intel reports true]</p>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/571" target="_top" rel="nofollow" link="external">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AIJPEW67WYCB2LQBCP5THYTTTEZZ3ANCNFSM462PIHAQ" target="_top" rel="nofollow" link="external">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AIJPEW5WXRRBGKS77OIVQS3TTEZZ3A5CNFSM462PIHA2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4NYHJSAA.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/571",
"url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/571",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>
tag:forum.world.st,2006:post-5130525
Re: Aarch64 compare bug
2021-06-20T07:22:48Z
2021-06-20T07:22:48Z
KenDickey
<br/>Had a chance to play a bit last night.
<br/><br/>Stepping through
<br/> Integer readFrom: (ReadStream on: '8000000000000000') base:16.
<br/>tells the tale.
<br/><br/>Definitely an edge problem going from SmallInteger into bignums.
<br/><br/>I'll try to get into why in the next couple of days.
<br/><br/>FYI,
<br/>-KenD
<br/>vvv===vvv
<br/>16r8000000000000000 printString." '0' "
<br/>(16r800000000000000 * 16) printStringHex." '8000000000000000' "
<br/>(16r8000000000000000 * 16) printStringHex. '0'
<br/>Integer readFrom: (ReadStream on: '8000000000000000')
<br/>base:16. " 0 "
<br/>SmallInteger maxVal printStringHex.
<br/> 'FFFFFFFFFFFFFFF'
<br/> 16r800000000000000 class." SmallInteger "
<br/>(16r800000000000000 * 16) class." LargePositiveInteger "
<br/> 16r8000000000000000 printString." '0' "
<br/>(16r800000000000000 * 16) printStringHex. "
<br/>'8000000000008000000000000000' "
<br/>^^^===^^^
<br/>
<div class="signature weak-color">
-KenD
<br/>
</div>
tag:forum.world.st,2006:post-5130459
Aarch64 number bug
2021-06-16T16:43:28Z
2021-06-16T16:43:28Z
KenDickey
<br/><br/>16r80000000 < 16r8000000000000000. "==> false"
<br/><br/>FYI,
<br/>-KenD
<br/>
<div class="signature weak-color">
-KenD
<br/>
</div>
tag:forum.world.st,2006:post-5130516
Build failed: opensmalltalk-vm 1.0.2455
2021-06-18T20:43:00Z
2021-06-18T20:43:00Z
AppVeyor
<br /><div style="font-family:'Segoe UI',Arial,Sans-Serif;font-size:10pt;">
<h1 style="font-size: 150%;font-weight:normal; color:#ff3228;"><a href="https://ci.appveyor.com/project/OpenSmalltalk/vm/builds/39666681" style="color:#ff3228;" target="_top" rel="nofollow" link="external">Build opensmalltalk-vm 1.0.2455 failed</a></h1>
<p style="color: #888;">
Commit <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/342e5e6a5f" target="_top" rel="nofollow" link="external">342e5e6a5f</a> by <a href="/user/SendEmail.jtp?type=node&node=5130516&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a> on 6/19/2021 3:34 AM:
<br />
<span style="font-size: 110%;color:#222;">CogVM source as per VMMaker.oscog-eem.2969</span>
</p>
<p><a href="https://ci.appveyor.com/notifications" style="font-size:85%;color:#999;" target="_top" rel="nofollow" link="external">Configure your notification preferences</a></p>
</div>
tag:forum.world.st,2006:post-5130515
[OpenSmalltalk/opensmalltalk-vm] 342e5e: CogVM source as per VMMaker.oscog-eem.2969
2021-06-18T20:35:34Z
2021-06-18T20:35:34Z
Eliot Miranda-3
<br/> Branch: refs/heads/Cog
<br/> Home: <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm</a><br/> Commit: 342e5e6a5f358c3cfa512a7071a4daa8d3cfffab
<br/> <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/342e5e6a5f358c3cfa512a7071a4daa8d3cfffab" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/342e5e6a5f358c3cfa512a7071a4daa8d3cfffab</a><br/> Author: Eliot Miranda <<a href="/user/SendEmail.jtp?type=node&node=5130515&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>>
<br/> Date: 2021-06-18 (Fri, 18 Jun 2021)
<br/><br/> Changed paths:
<br/> M spur64src/vm/cogit.h
<br/> M spur64src/vm/cogitARMv8.c
<br/> M spur64src/vm/cogitX64SysV.c
<br/> M spur64src/vm/cogitX64WIN64.c
<br/> M spurlowcode64src/vm/cogit.h
<br/> M spurlowcode64src/vm/cogitARMv8.c
<br/> M spurlowcode64src/vm/cogitX64SysV.c
<br/> M spurlowcode64src/vm/cogitX64WIN64.c
<br/> M spurlowcodesrc/vm/cogit.h
<br/> M spurlowcodesrc/vm/cogitARMv5.c
<br/> M spurlowcodesrc/vm/cogitIA32.c
<br/> M spurlowcodesrc/vm/cogitMIPSEL.c
<br/> M spursista64src/vm/cogit.h
<br/> M spursista64src/vm/cogitARMv8.c
<br/> M spursista64src/vm/cogitX64SysV.c
<br/> M spursista64src/vm/cogitX64WIN64.c
<br/> M spursistasrc/vm/cogit.h
<br/> M spursistasrc/vm/cogitARMv5.c
<br/> M spursistasrc/vm/cogitIA32.c
<br/> M spursistasrc/vm/cogitMIPSEL.c
<br/> M spursrc/vm/cogit.h
<br/> M spursrc/vm/cogitARMv5.c
<br/> M spursrc/vm/cogitIA32.c
<br/> M spursrc/vm/cogitMIPSEL.c
<br/> M src/vm/cogit.h
<br/> M src/vm/cogitARMv5.c
<br/> M src/vm/cogitIA32.c
<br/> M src/vm/cogitMIPSEL.c
<br/><br/> Log Message:
<br/> -----------
<br/> CogVM source as per VMMaker.oscog-eem.2969
<br/><br/>Fix a bug in the assert in cogMethodContaining: when supplied
<br/>the mcpc of a block method at its stack check offset.
<br/><br/><br/>
tag:forum.world.st,2006:post-5130514
VM Maker: VMMaker.oscog-eem.2969.mcz
2021-06-18T20:27:49Z
2021-06-18T20:27:49Z
commits-2
<br/>Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
<br/><a href="http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2969.mcz" target="_top" rel="nofollow" link="external">http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2969.mcz</a><br/><br/>==================== Summary ====================
<br/><br/>Name: VMMaker.oscog-eem.2969
<br/>Author: eem
<br/>Time: 18 June 2021, 8:27:39.266763 pm
<br/>UUID: e47dec6d-965d-4dc1-ad51-ad192f9f6181
<br/>Ancestors: VMMaker.oscog-eem.2968
<br/><br/>Fix a bug in the assert in Fix a bug in the assert in cogMethodContaining: when supplied the mcpc of a block method at its stack check offset.
<br/><br/>=============== Diff against VMMaker.oscog-eem.2968 ===============
<br/><br/>Item was changed:
<br/> ----- Method: CogMethodZone>>cogMethodContaining: (in category 'jit - api') -----
<br/> cogMethodContaining: mcpc
<br/> "Answer the method containing mcpc for the purposes of code zone compaction,
<br/> where mcpc is actually the value of instructionPointer at the time of a compaction."
<br/> <var: 'mcpc' type: #usqInt>
<br/> <api>
<br/> | cogMethod prevMethod |
<br/> mcpc > limitAddress ifTrue:
<br/> [^nil].
<br/> mcpc < baseAddress ifTrue:
<br/> [cogit assertMcpcIsPrimReturn: mcpc.
<br/> ^nil].
<br/> self assert: mcpc < self freeStart.
<br/> cogMethod := coInterpreter cCoerceSimple: baseAddress to: #'CogMethod *'.
<br/> [cogMethod asUnsignedInteger < mcpc] whileTrue:
<br/> [prevMethod := cogMethod.
<br/> cogMethod := self methodAfter: cogMethod].
<br/>
<br/> "Since mcpc is actually instructionPointer we expect that it is either at the stack check
<br/> (normal code zone reclamation invoked through checkForEventsMayContextSwitch:)
<br/> or is in a primitive, immediately following the call of the C primitive routine."
<br/> self assert: (prevMethod notNil
<br/> and: [mcpc = (prevMethod asUnsignedInteger + prevMethod stackCheckOffset)
<br/>+ or: [(self mcpc: mcpc isAtStackCheckOfBlockMethodIn: prevMethod)
<br/> or: [(cogit backEnd isCallPrecedingReturnPC: mcpc)
<br/> and: [(coInterpreter
<br/> primitiveIndexOfMethod: prevMethod methodObject
<br/> header: prevMethod methodHeader) > 0
<br/>+ or: [(cogit backEnd callTargetFromReturnAddress: mcpc) = cogit ceCheckForInterruptTrampoline]]]]]).
<br/>- or: [(cogit backEnd callTargetFromReturnAddress: mcpc) = cogit ceCheckForInterruptTrampoline]]]]).
<br/> ^prevMethod!
<br/><br/>Item was added:
<br/>+ ----- Method: CogMethodZone>>mcpc:isAtStackCheckOfBlockMethodIn: (in category 'testing') -----
<br/>+ mcpc: mcpc isAtStackCheckOfBlockMethodIn: cogMethod
<br/>+ "For assert checking..."
<br/>+ <var: 'cogMethod' type: #'CogMethod *'>
<br/>+ cogMethod blockEntryOffset = 0 ifTrue:
<br/>+ [^false].
<br/>+ ^(cogit blockDispatchTargetsFor: cogMethod perform: #stackCheckOffsetOfBlockAt:isMcpc: arg: mcpc) ~= 0!
<br/><br/>Item was added:
<br/>+ ----- Method: Cogit>>stackCheckOffsetOfBlockAt:isMcpc: (in category 'testing') -----
<br/>+ stackCheckOffsetOfBlockAt: blockEntryMcpc isMcpc: mcpc
<br/>+ <returnTypeC: #usqInt>
<br/>+ | cogBlockMethod |
<br/>+ <var: #cogBlockMethod type: #'CogBlockMethod *'>
<br/>+ cogBlockMethod := self cCoerceSimple: blockEntryMcpc - (self sizeof: CogBlockMethod)
<br/>+ to: #'CogBlockMethod *'.
<br/>+ cogBlockMethod asInteger + cogBlockMethod stackCheckOffset = mcpc ifTrue:
<br/>+ [^cogBlockMethod asUnsignedInteger].
<br/>+ ^0 "keep scanning..."!
<br/><br/>
tag:forum.world.st,2006:post-5130513
Build failed: opensmalltalk-vm 1.0.2454
2021-06-18T16:47:29Z
2021-06-18T16:47:29Z
AppVeyor
<br /><div style="font-family:'Segoe UI',Arial,Sans-Serif;font-size:10pt;">
<h1 style="font-size: 150%;font-weight:normal; color:#ff3228;"><a href="https://ci.appveyor.com/project/OpenSmalltalk/vm/builds/39665630" style="color:#ff3228;" target="_top" rel="nofollow" link="external">Build opensmalltalk-vm 1.0.2454 failed</a></h1>
<p style="color: #888;">
Commit <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/979938571d" target="_top" rel="nofollow" link="external">979938571d</a> by <a href="/user/SendEmail.jtp?type=node&node=5130513&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a> on 6/18/2021 11:40 PM:
<br />
<span style="font-size: 110%;color:#222;">CogVM source as per VMMaker.oscog-eem.2968</span>
</p>
<p><a href="https://ci.appveyor.com/notifications" style="font-size:85%;color:#999;" target="_top" rel="nofollow" link="external">Configure your notification preferences</a></p>
</div>
tag:forum.world.st,2006:post-5130512
[OpenSmalltalk/opensmalltalk-vm] 979938: CogVM source as per VMMaker.oscog-eem.2968
2021-06-18T16:42:02Z
2021-06-18T16:42:02Z
Eliot Miranda-3
<br/> Branch: refs/heads/Cog
<br/> Home: <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm</a><br/> Commit: 979938571dbbab68b867a3b2dc7a77f98fbd3b0c
<br/> <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/979938571dbbab68b867a3b2dc7a77f98fbd3b0c" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/979938571dbbab68b867a3b2dc7a77f98fbd3b0c</a><br/> Author: Eliot Miranda <<a href="/user/SendEmail.jtp?type=node&node=5130512&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>>
<br/> Date: 2021-06-18 (Fri, 18 Jun 2021)
<br/><br/> Changed paths:
<br/> M spur64src/vm/cointerp.c
<br/> M spur64src/vm/cointerp.h
<br/> M spur64src/vm/cointerpmt.c
<br/> M spur64src/vm/cointerpmt.h
<br/> M spur64src/vm/gcc3x-cointerp.c
<br/> M spur64src/vm/gcc3x-cointerpmt.c
<br/> M spurlowcode64src/vm/cointerp.c
<br/> M spurlowcode64src/vm/cointerp.h
<br/> M spurlowcode64src/vm/gcc3x-cointerp.c
<br/> M spurlowcodesrc/vm/cointerp.c
<br/> M spurlowcodesrc/vm/cointerp.h
<br/> M spurlowcodesrc/vm/gcc3x-cointerp.c
<br/> M spurlowcodestack64src/vm/gcc3x-interp.c
<br/> M spurlowcodestack64src/vm/interp.c
<br/> M spurlowcodestacksrc/vm/gcc3x-interp.c
<br/> M spurlowcodestacksrc/vm/interp.c
<br/> M spursista64src/vm/cointerp.c
<br/> M spursista64src/vm/cointerp.h
<br/> M spursista64src/vm/gcc3x-cointerp.c
<br/> M spursistasrc/vm/cointerp.c
<br/> M spursistasrc/vm/cointerp.h
<br/> M spursistasrc/vm/gcc3x-cointerp.c
<br/> M spursrc/vm/cointerp.c
<br/> M spursrc/vm/cointerp.h
<br/> M spursrc/vm/cointerpmt.c
<br/> M spursrc/vm/cointerpmt.h
<br/> M spursrc/vm/gcc3x-cointerp.c
<br/> M spursrc/vm/gcc3x-cointerpmt.c
<br/> M spurstack64src/vm/gcc3x-interp.c
<br/> M spurstack64src/vm/interp.c
<br/> M spurstack64src/vm/validImage.c
<br/> M spurstacksrc/vm/gcc3x-interp.c
<br/> M spurstacksrc/vm/interp.c
<br/> M spurstacksrc/vm/validImage.c
<br/> M src/vm/cointerp.c
<br/> M src/vm/cointerp.h
<br/> M src/vm/gcc3x-cointerp.c
<br/> M stacksrc/vm/gcc3x-interp.c
<br/> M stacksrc/vm/interp.c
<br/><br/> Log Message:
<br/> -----------
<br/> CogVM source as per VMMaker.oscog-eem.2968
<br/><br/>In rare circumstances the Display bits oop can be nil post GC.
<br/>Avoid an assert failure and unnecessary work if it is.
<br/><br/><br/>
tag:forum.world.st,2006:post-5130511
VM Maker: VMMaker.oscog-eem.2968.mcz
2021-06-18T16:25:00Z
2021-06-18T16:25:00Z
commits-2
<br/>Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
<br/><a href="http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2968.mcz" target="_top" rel="nofollow" link="external">http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2968.mcz</a><br/><br/>==================== Summary ====================
<br/><br/>Name: VMMaker.oscog-eem.2968
<br/>Author: eem
<br/>Time: 18 June 2021, 4:24:48.734961 pm
<br/>UUID: f7018c3a-ddc0-4f70-aa66-8f8f6b17f40f
<br/>Ancestors: VMMaker.oscog-eem.2967
<br/><br/>In rare circumstances the Display bits oop can be nil post GC. Avoid an assert failure and unnecessary work if it is.
<br/><br/>=============== Diff against VMMaker.oscog-eem.2967 ===============
<br/><br/>Item was changed:
<br/> ----- Method: StackInterpreter>>postGCUpdateDisplayBits (in category 'object memory support') -----
<br/> postGCUpdateDisplayBits
<br/> "Update the displayBits after a GC may have moved it.
<br/> Answer if the displayBits appear valid. The wrinkle here is that the displayBits could be a surface handle."
<br/> <inline: false>
<br/> | displayObj bitsOop bitsNow |
<br/> displayObj := objectMemory splObj: TheDisplay.
<br/> ((objectMemory isPointers: displayObj)
<br/> and: [(objectMemory lengthOf: displayObj) >= 4]) ifFalse:
<br/> [^false].
<br/>
<br/> bitsOop := objectMemory fetchPointer: 0 ofObject: displayObj.
<br/>+ (bitsOop = objectMemory nilObject "it ain't yet set"
<br/>+ or: [objectMemory isIntegerObject: bitsOop]) ifTrue: "It's a surface; our work here is done..."
<br/>- (objectMemory isIntegerObject: bitsOop) ifTrue: "It's a surface; our work here is done..."
<br/> [^true].
<br/>
<br/> self assert: ((objectMemory addressCouldBeObj: bitsOop)
<br/> and: [objectMemory isWordsOrBytes: bitsOop]).
<br/>
<br/> (objectMemory hasSpurMemoryManagerAPI
<br/> and: [objectMemory isPinned: bitsOop]) ifFalse:
<br/> [bitsNow := self cCode: [objectMemory firstIndexableField: bitsOop]
<br/> inSmalltalk: [(objectMemory firstIndexableField: bitsOop) asInteger].
<br/> displayBits ~= bitsNow ifTrue:
<br/> [displayBits := bitsNow.
<br/> self ioNoteDisplayChanged: displayBits width: displayWidth height: displayHeight depth: displayDepth].
<br/> (objectMemory hasSpurMemoryManagerAPI
<br/> and: [stackPage ~= 0]) ifTrue: "If stackPage is zero we're snapshotting and now is not the time to pin."
<br/> [objectMemory pinObject: bitsOop]].
<br/> ^true!
<br/><br/>
tag:forum.world.st,2006:post-5130510
Build failed: opensmalltalk-vm 1.0.2453
2021-06-18T13:08:22Z
2021-06-18T13:08:22Z
AppVeyor
<br /><div style="font-family:'Segoe UI',Arial,Sans-Serif;font-size:10pt;">
<h1 style="font-size: 150%;font-weight:normal; color:#ff3228;"><a href="https://ci.appveyor.com/project/OpenSmalltalk/vm/builds/39663946" style="color:#ff3228;" target="_top" rel="nofollow" link="external">Build opensmalltalk-vm 1.0.2453 failed</a></h1>
<p style="color: #888;">
Commit <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3d077a150a" target="_top" rel="nofollow" link="external">3d077a150a</a> by <a href="/user/SendEmail.jtp?type=node&node=5130510&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a> on 6/18/2021 8:02 PM:
<br />
<span style="font-size: 110%;color:#222;">Make less of a mountain of obtaining the os version on macOS.</span>
</p>
<p><a href="https://ci.appveyor.com/notifications" style="font-size:85%;color:#999;" target="_top" rel="nofollow" link="external">Configure your notification preferences</a></p>
</div>
tag:forum.world.st,2006:post-5130509
[OpenSmalltalk/opensmalltalk-vm] 3d077a: Make less of a mountain of obtaining the os versio...
2021-06-18T13:03:25Z
2021-06-18T13:03:25Z
Eliot Miranda-3
<br/> Branch: refs/heads/Cog
<br/> Home: <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm</a><br/> Commit: 3d077a150a3ee2cb21089e08d9e5a50501ded056
<br/> <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3d077a150a3ee2cb21089e08d9e5a50501ded056" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/3d077a150a3ee2cb21089e08d9e5a50501ded056</a><br/> Author: Eliot Miranda <<a href="/user/SendEmail.jtp?type=node&node=5130509&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>>
<br/> Date: 2021-06-18 (Fri, 18 Jun 2021)
<br/><br/> Changed paths:
<br/> M platforms/iOS/vm/OSX/sqSqueakOSXApplication+attributes.m
<br/><br/> Log Message:
<br/> -----------
<br/> Make less of a mountain of obtaining the os version on macOS.
<br/><br/><br/>
tag:forum.world.st,2006:post-5130500
[OpenSmalltalk/opensmalltalk-vm] 70348c: Win32: Avoid flooding the console with messages fr...
2021-06-18T07:07:42Z
2021-06-18T07:07:42Z
Eliot Miranda-3
<br/> Branch: refs/heads/Cog
<br/> Home: <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm</a><br/> Commit: 70348c9b677bf9abe51c250a76220212f86275fa
<br/> <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/70348c9b677bf9abe51c250a76220212f86275fa" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/70348c9b677bf9abe51c250a76220212f86275fa</a><br/> Author: Eliot Miranda <<a href="/user/SendEmail.jtp?type=node&node=5130500&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>>
<br/> Date: 2021-06-18 (Fri, 18 Jun 2021)
<br/><br/> Changed paths:
<br/> M platforms/win32/plugins/SocketPlugin/sqWin32NewNet.c
<br/> M platforms/win32/vm/sqWin32Utils.c
<br/><br/> Log Message:
<br/> -----------
<br/> Win32: Avoid flooding the console with messages from sqConnectionStatus in
<br/>debug builds. Eliminate cr-lfs at the end of GetLastError in vprintLastError.
<br/>[ci skip] (cuz affects debug build only)
<br/><br/><br/>
tag:forum.world.st,2006:post-5130413
Printing to stout inside a Squeak plugin class
2021-06-15T04:15:40Z
2021-06-15T04:15:40Z
Robert Withers-2
<br />
<div>I wish to print some debugging info to stdout when calling a
primitive. How can I do this in Squeak primitive code?</div>
<div><br>
</div>
<div>I am attaching a file I created under platforms/. I will
attempt to call these functions from inside a primitive. Stay
tuned...<br>
</div>
<div><br>
</div>
<div id="protonmail_mobile_signature_block">
<div>
<div>Kindly,<br>
Robert<br>
. .. ... ‘...^,^ </div>
<br>
<br>
Sent from Europa iPhone</div>
</div>
<!--start-attachments--><div class="small"><br/><img src="https://forum.world.st/images/icon_attachment.gif" > <strong>sqUnixDebug.c</strong> (244 bytes) <a href="https://forum.world.st/attachment/5130413/0/sqUnixDebug.c" target="_top" rel="nofollow" link="external">Download Attachment</a></div><!--end-attachments-->
tag:forum.world.st,2006:post-5130448
how to print to stdout in plugin code
2021-06-16T09:26:49Z
2021-06-16T09:26:49Z
Robert Withers-2
<br />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<p>I still do not know how I could print debug info to stdout, in a
Squeak Plugin primitive. Hopefully I'll learn. This would be such
a blessing! Please guide me!<br/>
</p>
<p>In the meantime, I have written all GF methods as primitives,
including #decode:twoS:, #runEuclideanAlgorithm adn #dividePoly:,
though these 3 are not being called from the DecoderWithPlugin or
GFPolyWithPlugin. The only new primitive is
GFPoly>>#initializeFiled:coefficients:. Here are the
numbers, with RSFEC Tests only.<br/>
</p>
<p>---</p>
<blockquote>
<p>WITH RSPlugin {RSFEC Tests}<br/>
<br/>
- 47765 tallies, 61320 msec.<br/>
<br/>
Overall performance increase with and without RSPlugin: 54%<br/>
((116473 - 53364) / 116473) asFloat * 100 54.183372970559695 <br/>
<br/>
Total WITH RSPlugin rates<br/>
(13687 + 14730 + 24947) 53364 <br/>
</p>
<p>Without RSPlugin 116473</p>
<p>RSFEC 53%<br/>
((13687 + 14730)/ 53364) asFloat * 100 53.25125552807136 <br/>
Numerical 47%<br/>
(24947 / 53364) asFloat * 100 46.748744471928646 <br/>
<br/>
**Leaves**<br/>
Unpluginized<br/>
(12303 + 1384) 13687 <br/>
20.1% {12303ms} RSFECDecoderWithPlugin>>decode:twoS:<br/>
2.3% {1384ms}
RSFECDecoderWithPlugin>>runEuclideanAlgorithmPoly:poly:rDegrees:<br/>
<br/>
Pluginized<br/>
(7532 +2877 + 2262 + 1200 + 859) 14730 <br/>
12.3% {7532ms} RSFECGenericGFPoly
class>>newField:coefficients:<br/>
4.7% {2877ms}
RSFECDecoderWithPlugin>>primFindErrorLocationsDegree:coefficients:fieldSize:<br/>
3.7% {2262ms}
RSFECGenericGFPolyWithPlugin>>addOrSubtractPoly:<br/>
2.0% {1200ms}
RSFECDecoderWithPlugin>>findErrorMagnitudes:errorLocations:<br/>
1.4% {859ms} RSFECGenericGFWithPlugin>>log:<br/>
<br/>
Numerical<br/>
(4269 + 3571 + 2909 + 2820 + 2093 + 1602 + 1578 + 1530 + 1383 +
877 + 847 + 815 + 653) 24947 <br/>
7.0% {4269ms} LargePositiveInteger(Integer)>>bitShift:<br/>
5.8% {3571ms} SecureHashAlgorithm>>finalHash<br/>
4.7% {2909ms} ByteArray class(Behavior)>>new:<br/>
4.6% {2820ms} LargePositiveInteger>>+<br/>
3.4% {2093ms} IdentityDictionary(Dictionary)>>at:ifAbsent:<br/>
2.6% {1602ms} ByteSymbol(Object)>>-><br/>
2.6% {1578ms}
WeakIdentityKeyDictionary(WeakKeyDictionary)>>at:ifAbsent:<br/>
2.5% {1530ms} SecureHashAlgorithm>>hashInteger:seed:<br/>
2.3% {1383ms} SecureRandom>>nextRandom160<br/>
1.4% {877ms} SmallInteger(Magnitude)>>between:and:<br/>
1.4% {847ms} ByteArray>>unsignedLongAt:put:bigEndian:<br/>
1.3% {815ms} [] Delay>>wait<br/>
1.1% {653ms} SmallInteger(Integer)>>timesRepeat:<br/>
<br/>
</p>
</blockquote>
<div class="moz-signature">-- <br/>
---<br/>
Kindly,<br/>
Robert<br/>
<br/>
<br/>
</div>
tag:forum.world.st,2006:post-5130425
[OpenSmalltalk/opensmalltalk-vm] fbc44f: Fix some warnings for sqWin32Sound.c and add stubs...
2021-06-15T10:34:22Z
2021-06-15T10:34:22Z
Eliot Miranda-3
<br/> Branch: refs/heads/Cog
<br/> Home: <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm</a><br/> Commit: fbc44f286244ab311c96e66f8232265b03c370a7
<br/> <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fbc44f286244ab311c96e66f8232265b03c370a7" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/fbc44f286244ab311c96e66f8232265b03c370a7</a><br/> Author: Eliot Miranda <<a href="/user/SendEmail.jtp?type=node&node=5130425&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>>
<br/> Date: 2021-06-15 (Tue, 15 Jun 2021)
<br/><br/> Changed paths:
<br/> M platforms/win32/plugins/SoundPlugin/sqWin32Sound.c
<br/><br/> Log Message:
<br/> -----------
<br/> Fix some warnings for sqWin32Sound.c and add stubs for Terf AEC. [ci skip]
<br/><br/><br/>
tag:forum.world.st,2006:post-5130394
VM Maker Inbox: VMMaker.oscog-dtl.2968.mcz
2021-06-14T08:56:09Z
2021-06-14T08:56:09Z
commits-2
<br/>David T. Lewis uploaded a new version of VMMaker to project VM Maker Inbox:
<br/><a href="http://source.squeak.org/VMMakerInbox/VMMaker.oscog-dtl.2968.mcz" target="_top" rel="nofollow" link="external">http://source.squeak.org/VMMakerInbox/VMMaker.oscog-dtl.2968.mcz</a><br/><br/>==================== Summary ====================
<br/><br/>Name: VMMaker.oscog-dtl.2968
<br/>Author: dtl
<br/>Time: 13 June 2021, 6:26:53.146819 pm
<br/>UUID: 603814ef-caa5-45c5-a0bd-896866381b01
<br/>Ancestors: VMMaker.oscog-eem.2967, VMMaker.oscog-nice.2957
<br/><br/>Merge VMMaker.oscog-nice.2957 from inbox required for fix_include_order:
<br/><a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562</a><br/><br/>Fix from Alistair Grant for globalSessionID range overflow:
<br/><a href="https://github.com/pharo-project/opensmalltalk-vm/issues/233" target="_top" rel="nofollow" link="external">https://github.com/pharo-project/opensmalltalk-vm/issues/233</a><br/><a href="http://lists.squeakfoundation.org/pipermail/vm-dev/2021-May/036291.html" target="_top" rel="nofollow" link="external">http://lists.squeakfoundation.org/pipermail/vm-dev/2021-May/036291.html</a><br/><br/>=============== Diff against VMMaker.oscog-eem.2967 ===============
<br/><br/>Item was changed:
<br/> ----- Method: CCodeGenerator>>emitCHeaderOn: (in category 'C code generator') -----
<br/> emitCHeaderOn: aStream
<br/> "Emit the initial part of a source file on aStream, comprising the version stamp,
<br/> the global struct usage flags, the header files and preamble code."
<br/>
<br/> | headerClass |
<br/> headerClass := [vmClass coreInterpreterClass]
<br/> on: MessageNotUnderstood
<br/> do: [:ex| vmClass].
<br/> aStream nextPutAll: (self fileHeaderVersionStampForSourceClass: headerClass); cr; cr.
<br/> self emitGlobalStructFlagOn: aStream.
<br/>
<br/> (vmClass isNil or: [vmClass wantsSqDotH]) ifTrue:
<br/> [self addHeaderFileFirst: '"sq.h"'].
<br/>+ "Additional header files; use the prescribed order."
<br/>+ self emitHeaderFiles: headerFiles on: aStream.
<br/>- "Additional header files; include C library ones first."
<br/>- self emitHeaderFiles: (headerFiles select: [:hdr| hdr includes: $<]) on: aStream.
<br/>- "Additional header files; include squeak VM ones last"
<br/>- self emitHeaderFiles: (headerFiles reject: [:hdr| hdr includes: $<]) on: aStream.
<br/>
<br/> self maybePutPreambleFor: vmClass on: aStream.
<br/>
<br/> aStream cr!
<br/><br/>Item was changed:
<br/> ----- Method: Cogit class>>declareCVarsIn: (in category 'translation') -----
<br/> declareCVarsIn: aCCodeGenerator
<br/> | backEnd |
<br/> backEnd := CogCompilerClass basicNew.
<br/> #( 'coInterpreter' 'objectMemory' 'methodZone' 'objectRepresentation'
<br/> 'cogBlockMethodSurrogateClass' 'cogMethodSurrogateClass' 'nsSendCacheSurrogateClass'
<br/> 'threadManager' 'processor' 'lastNInstructions' 'simulatedAddresses'
<br/> 'simulatedTrampolines' 'simulatedVariableGetters' 'simulatedVariableSetters'
<br/> 'processorFrameValid' 'printRegisters' 'printInstructions' 'clickConfirm' 'singleStep') do:
<br/> [:simulationVariableNotNeededForRealVM|
<br/> aCCodeGenerator removeVariable: simulationVariableNotNeededForRealVM].
<br/> NewspeakVM ifFalse:
<br/> [#( 'selfSendTrampolines' 'dynamicSuperSendTrampolines'
<br/> 'implicitReceiverSendTrampolines' 'outerSendTrampolines'
<br/> 'ceEnclosingObjectTrampoline' 'numIRCs' 'indexOfIRC' 'theIRCs') do:
<br/> [:variableNotNeededInNormalVM|
<br/> aCCodeGenerator removeVariable: variableNotNeededInNormalVM]].
<br/> aCCodeGenerator removeConstant: #COGMTVM. "this should be defined at compile time"
<br/> "N.B. We *do not* include sq.h; it pulls in conflicting definitions now that sqVirtualMachine.h
<br/> declares cointerp's functions, and declares some of them inaccurately for histrical reasons.
<br/> We pull in CoInterpreter's api via cointerp.h which is accurate."
<br/> aCCodeGenerator
<br/>+ addHeaderFile:'"sqConfig.h"'; "config.h must be first on linux"
<br/> addHeaderFile:'<stddef.h>'; "for e.g. offsetof"
<br/> addHeaderFile:'<stdio.h>';
<br/> addHeaderFile:'<stdlib.h>';
<br/> addHeaderFile:'<string.h>';
<br/>- addHeaderFile:'"sqConfig.h"';
<br/> addHeaderFile:'"sqPlatformSpecific.h"'; "e.g. solaris overrides things for sqCogStackAlignment.h"
<br/> addHeaderFile:'"sqMemoryAccess.h"';
<br/> addHeaderFile:'"sqCogStackAlignment.h"';
<br/> addHeaderFile:'"dispdbg.h"'; "must precede cointerp.h & cogit.h otherwise NoDbgRegParms gets screwed up"
<br/> addHeaderFile:'"cogmethod.h"'.
<br/> NewspeakVM ifTrue:
<br/> [aCCodeGenerator addHeaderFile:'"nssendcache.h"'].
<br/> aCCodeGenerator
<br/> addHeaderFile:'#if COGMTVM';
<br/> addHeaderFile:'"cointerpmt.h"';
<br/> addHeaderFile:'#else';
<br/> addHeaderFile:'"cointerp.h"';
<br/> addHeaderFile:'#endif';
<br/> addHeaderFile:'"cogit.h"'.
<br/> aCCodeGenerator
<br/> var: #ceGetFP
<br/> declareC: 'usqIntptr_t (*ceGetFP)(void)';
<br/> var: #ceGetSP
<br/> declareC: 'usqIntptr_t (*ceGetSP)(void)';
<br/> var: #ceCaptureCStackPointers
<br/> declareC: 'void (*ceCaptureCStackPointers)(void)';
<br/> var: #ceInvokeInterpret
<br/> declareC: 'void (*ceInvokeInterpret)(void)';
<br/> var: #ceEnterCogCodePopReceiverReg
<br/> declareC: 'void (*ceEnterCogCodePopReceiverReg)(void)';
<br/> var: #realCEEnterCogCodePopReceiverReg
<br/> declareC: 'void (*realCEEnterCogCodePopReceiverReg)(void)';
<br/> var: #ceCallCogCodePopReceiverReg
<br/> declareC: 'void (*ceCallCogCodePopReceiverReg)(void)';
<br/> var: #realCECallCogCodePopReceiverReg
<br/> declareC: 'void (*realCECallCogCodePopReceiverReg)(void)';
<br/> var: #ceCallCogCodePopReceiverAndClassRegs
<br/> declareC: 'void (*ceCallCogCodePopReceiverAndClassRegs)(void)';
<br/> var: #realCECallCogCodePopReceiverAndClassRegs
<br/> declareC: 'void (*realCECallCogCodePopReceiverAndClassRegs)(void)';
<br/> var: #postCompileHook
<br/> declareC: 'void (*postCompileHook)(CogMethod *)';
<br/> var: #openPICList declareC: 'CogMethod *openPICList = 0';
<br/> var: #maxMethodBefore type: #'CogBlockMethod *';
<br/> var: 'enumeratingCogMethod' type: #'CogMethod *'.
<br/>
<br/> aCCodeGenerator
<br/> var: #ceTryLockVMOwner
<br/> declareC: '#if COGMTVM\usqIntptr_t (*ceTryLockVMOwner)(usqIntptr_t)\#endif'.
<br/>
<br/> backEnd numICacheFlushOpcodes > 0 ifTrue:
<br/> [aCCodeGenerator
<br/> var: #ceFlushICache
<br/> declareC: 'static void (*ceFlushICache)(usqIntptr_t from, usqIntptr_t to)'].
<br/> aCCodeGenerator
<br/> var: #ceFlushDCache
<br/> declareC: '#if DUAL_MAPPED_CODE_ZONE\static void (*ceFlushDCache)(usqIntptr_t from, usqIntptr_t to)\#endif';
<br/> var: #codeToDataDelta
<br/> declareC: '#if DUAL_MAPPED_CODE_ZONE\static sqInt codeToDataDelta\#else\# define codeToDataDelta 0\#endif'.
<br/>
<br/> aCCodeGenerator
<br/> declareVar: 'aMethodLabel' type: #'AbstractInstruction'; "Has to come lexicographically before backEnd & methodLabel"
<br/> var: #backEnd declareC: 'AbstractInstruction * const backEnd = &aMethodLabel';
<br/> var: #methodLabel declareC: 'AbstractInstruction * const methodLabel = &aMethodLabel'.
<br/> self declareC: #(abstractOpcodes stackCheckLabel
<br/> blockEntryLabel blockEntryNoContextSwitch
<br/> stackOverflowCall sendMiss
<br/> entry noCheckEntry selfSendEntry dynSuperEntry
<br/> fullBlockNoContextSwitchEntry fullBlockEntry
<br/> picMNUAbort picInterpretAbort endCPICCase0 endCPICCase1 cPICEndOfCodeLabel)
<br/> as: #'AbstractInstruction *'
<br/> in: aCCodeGenerator.
<br/> aCCodeGenerator
<br/> declareVar: #cPICPrototype type: #'CogMethod *';
<br/> declareVar: #blockStarts type: #'BlockStart *';
<br/> declareVar: #fixups type: #'BytecodeFixup *';
<br/> declareVar: #methodZoneBase type: #usqInt.
<br/> aCCodeGenerator
<br/> var: #ordinarySendTrampolines
<br/> declareC: 'sqInt ordinarySendTrampolines[NumSendTrampolines]';
<br/> var: #superSendTrampolines
<br/> declareC: 'sqInt superSendTrampolines[NumSendTrampolines]'.
<br/> BytecodeSetHasDirectedSuperSend ifTrue:
<br/> [aCCodeGenerator
<br/> var: #directedSuperSendTrampolines
<br/> declareC: 'sqInt directedSuperSendTrampolines[NumSendTrampolines]';
<br/> var: #directedSuperBindingSendTrampolines
<br/> declareC: 'sqInt directedSuperBindingSendTrampolines[NumSendTrampolines]'].
<br/> NewspeakVM ifTrue:
<br/> [aCCodeGenerator
<br/> var: #selfSendTrampolines
<br/> declareC: 'sqInt selfSendTrampolines[NumSendTrampolines]';
<br/> var: #dynamicSuperSendTrampolines
<br/> declareC: 'sqInt dynamicSuperSendTrampolines[NumSendTrampolines]';
<br/> var: #implicitReceiverSendTrampolines
<br/> declareC: 'sqInt implicitReceiverSendTrampolines[NumSendTrampolines]';
<br/> var: #outerSendTrampolines
<br/> declareC: 'sqInt outerSendTrampolines[NumSendTrampolines]'].
<br/> aCCodeGenerator
<br/> addConstantForBinding: self bindingForNumTrampolines;
<br/> var: #trampolineAddresses
<br/> declareC: 'static char *trampolineAddresses[NumTrampolines*2]';
<br/> var: #objectReferencesInRuntime
<br/> declareC: 'static usqInt objectReferencesInRuntime[NumObjRefsInRuntime+1]';
<br/> var: #labelCounter
<br/> type: #int;
<br/> var: #traceFlags
<br/> declareC: 'int traceFlags = 8 /* prim trace log on by default */';
<br/> var: #cStackAlignment
<br/> declareC: 'const int cStackAlignment = STACK_ALIGN_BYTES'.
<br/> aCCodeGenerator
<br/> declareVar: #minValidCallAddress type: #'usqIntptr_t'.
<br/> aCCodeGenerator vmClass generatorTable ifNotNil:
<br/> [:bytecodeGenTable|
<br/> aCCodeGenerator
<br/> var: #generatorTable
<br/> declareC: 'static BytecodeDescriptor generatorTable[', bytecodeGenTable size printString, ']',
<br/> (self tableInitializerFor: bytecodeGenTable
<br/> in: aCCodeGenerator)].
<br/> "In C the abstract opcode names clash with the Smalltalk generator syntactic sugar.
<br/> Most of the syntactic sugar is inlined, but alas some remains. Rename the syntactic
<br/> sugar to avoid the clash."
<br/> (self organization listAtCategoryNamed: #'abstract instructions') do:
<br/> [:s|
<br/> aCCodeGenerator addSelectorTranslation: s to: 'g', (aCCodeGenerator cFunctionNameFor: s)].
<br/> aCCodeGenerator addSelectorTranslation: #halt: to: 'haltmsg'.
<br/> self declareFlagVarsAsByteIn: aCCodeGenerator!
<br/><br/>Item was changed:
<br/> ----- Method: StackInterpreter>>initializeInterpreter: (in category 'initialization') -----
<br/> initializeInterpreter: bytesToShift
<br/> "Initialize Interpreter state before starting execution of a new image."
<br/> interpreterProxy := self sqGetInterpreterProxy.
<br/> self dummyReferToProxy.
<br/> objectMemory initializeObjectMemory: bytesToShift.
<br/> self checkAssumedCompactClasses.
<br/> self initializeExtraClassInstVarIndices.
<br/> method := newMethod := objectMemory nilObject.
<br/> self cCode: '' inSmalltalk:
<br/> [breakSelectorLength ifNil:
<br/> [breakSelectorLength := objectMemory minSmallInteger].
<br/> breakLookupClassTag ifNil: [breakLookupClassTag := -1].
<br/> reenterInterpreter := ReenterInterpreter new].
<br/> methodDictLinearSearchLimit := 8.
<br/> self initialCleanup.
<br/> LowcodeVM ifTrue: [ self setupNativeStack ].
<br/> profileSemaphore := profileProcess := profileMethod := objectMemory nilObject.
<br/> interruptKeycode := 2094. "cmd-. as used for Mac but no other OS"
<br/> [globalSessionID = 0] whileTrue:
<br/> [globalSessionID := self
<br/>+ cCode: [((self time: #NULL) + self ioMSecs) bitAnd: 16r7FFFFFFF]
<br/>+ inSmalltalk: [(Random new next * (SmallInteger maxVal min: 16r7FFFFFFF)) asInteger]].
<br/>- cCode: [(self time: #NULL) + self ioMSecs]
<br/>- inSmalltalk: [(Random new next * (SmallInteger maxVal min: 16rFFFFFFFF)) asInteger]].
<br/> metaAccessorDepth := -2.
<br/> super initializeInterpreter: bytesToShift!
<br/><br/>
tag:forum.world.st,2006:post-5130386
kdbg: Breaking in sqUnixMain instead of RSPlugin
2021-06-14T05:09:47Z
2021-06-14T05:09:47Z
Robert Withers-2
<br />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
Hello all,
<div><br/>
</div>
<div>I am having difficulty in debugging my RSPlugin code for
Poly>>#initiazeCield:coefficients:, one of 4 new primitives
I have written {#initializeField:coefficients:,
#runEuclideanAlgorithm, #dividePolyA:polyB: & #decode:twoS:}.
One of my new functions is segfaulting.</div>
<div><br/>
</div>
<div>I make install the build.debug squeak and run kdbg. In kdbg I
set the executable, the argument to my image and set a breakpoint
inside #primitiveFECInitializePolyFieldSizeCoefficientsOop [1].
When I run the code:
RSFECGenericGFPoly>>#newField:coefficients: the kdbg breaks
in sqUnixX11 x2sqKeyInput instead of in my primitive. I click run
again and it breaks again in sqUnixMain at a function call to
sigsegv. I click run once more and squeak exits. I can't catch a
break!<br/>
</div>
<div><br/>
</div>
<div>Is anyone familiar with this behavior and know a fix?<caret></caret></div>
<div><br/>
</div>
<div>[1] #primitiveFECInitializePolyFieldSizeCoefficientsOop -
<a class="moz-txt-link-freetext" href="https://pastebin.com/QkkBxFjR" target="_top" rel="nofollow" link="external">https://pastebin.com/QkkBxFjR</a>
<div><br/>
</div>
<div id="protonmail_signature_block" class="protonmail_signature_block">
<div>
<div>Kindly,<br/>
Robert<br/>
. .. ... ‘...^,^ </div>
</div>
</div>
</div>
tag:forum.world.st,2006:post-5130370
[OpenSmalltalk/opensmalltalk-vm] 271ae5: speeling rorre [ci skip]
2021-06-13T13:06:31Z
2021-06-13T13:06:31Z
Eliot Miranda-3
<br/> Branch: refs/heads/Cog
<br/> Home: <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm</a><br/> Commit: 271ae516b4b6b8934c3d5aada061958969cee851
<br/> <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/271ae516b4b6b8934c3d5aada061958969cee851" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/271ae516b4b6b8934c3d5aada061958969cee851</a><br/> Author: Eliot Miranda <<a href="/user/SendEmail.jtp?type=node&node=5130370&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>>
<br/> Date: 2021-06-13 (Sun, 13 Jun 2021)
<br/><br/> Changed paths:
<br/> M platforms/unix/plugins/SoundPlugin/sqUnixSound.c
<br/><br/> Log Message:
<br/> -----------
<br/> speeling rorre [ci skip]
<br/><br/><br/>
tag:forum.world.st,2006:post-5130369
Build failed: opensmalltalk-vm 1.0.2452
2021-06-13T12:56:44Z
2021-06-13T12:56:44Z
AppVeyor
<br /><div style="font-family:'Segoe UI',Arial,Sans-Serif;font-size:10pt;">
<h1 style="font-size: 150%;font-weight:normal; color:#ff3228;"><a href="https://ci.appveyor.com/project/OpenSmalltalk/vm/builds/39582364" style="color:#ff3228;" target="_top" rel="nofollow" link="external">Build opensmalltalk-vm 1.0.2452 failed</a></h1>
<p style="color: #888;">
Commit <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9efd205458" target="_top" rel="nofollow" link="external">9efd205458</a> by <a href="/user/SendEmail.jtp?type=node&node=5130369&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a> on 6/13/2021 7:48 PM:
<br />
<span style="font-size: 110%;color:#222;">CogVM asource as per Name: VMMaker.oscog-eem.2967</span>
</p>
<p><a href="https://ci.appveyor.com/notifications" style="font-size:85%;color:#999;" target="_top" rel="nofollow" link="external">Configure your notification preferences</a></p>
</div>
tag:forum.world.st,2006:post-5130368
[OpenSmalltalk/opensmalltalk-vm] 9efd20: CogVM asource as per Name: VMMaker.oscog-eem.2967
2021-06-13T12:51:24Z
2021-06-13T12:51:24Z
Eliot Miranda-3
<br/> Branch: refs/heads/Cog
<br/> Home: <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm</a><br/> Commit: 9efd20545882cf8300e48e75e04a05f06d971de4
<br/> <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9efd20545882cf8300e48e75e04a05f06d971de4" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9efd20545882cf8300e48e75e04a05f06d971de4</a><br/> Author: Eliot Miranda <<a href="/user/SendEmail.jtp?type=node&node=5130368&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>>
<br/> Date: 2021-06-13 (Sun, 13 Jun 2021)
<br/><br/> Changed paths:
<br/> M spur64src/vm/cogit.h
<br/> M spur64src/vm/cointerp.c
<br/> M spur64src/vm/cointerp.h
<br/> M spur64src/vm/cointerpmt.c
<br/> M spur64src/vm/cointerpmt.h
<br/> M spur64src/vm/gcc3x-cointerp.c
<br/> M spur64src/vm/gcc3x-cointerpmt.c
<br/> M spur64src/vm/interp.h
<br/> M spurlowcode64src/vm/cogit.h
<br/> M spurlowcode64src/vm/cointerp.c
<br/> M spurlowcode64src/vm/cointerp.h
<br/> M spurlowcode64src/vm/gcc3x-cointerp.c
<br/> M spurlowcode64src/vm/interp.h
<br/> M spurlowcodesrc/vm/cogit.h
<br/> M spurlowcodesrc/vm/cointerp.c
<br/> M spurlowcodesrc/vm/cointerp.h
<br/> M spurlowcodesrc/vm/gcc3x-cointerp.c
<br/> M spurlowcodesrc/vm/interp.h
<br/> M spurlowcodestack64src/vm/gcc3x-interp.c
<br/> M spurlowcodestack64src/vm/interp.c
<br/> M spurlowcodestack64src/vm/interp.h
<br/> M spurlowcodestacksrc/vm/gcc3x-interp.c
<br/> M spurlowcodestacksrc/vm/interp.c
<br/> M spurlowcodestacksrc/vm/interp.h
<br/> M spursista64src/vm/cogit.h
<br/> M spursista64src/vm/cointerp.c
<br/> M spursista64src/vm/cointerp.h
<br/> M spursista64src/vm/gcc3x-cointerp.c
<br/> M spursista64src/vm/interp.h
<br/> M spursistasrc/vm/cogit.h
<br/> M spursistasrc/vm/cointerp.c
<br/> M spursistasrc/vm/cointerp.h
<br/> M spursistasrc/vm/gcc3x-cointerp.c
<br/> M spursistasrc/vm/interp.h
<br/> M spursrc/vm/cogit.h
<br/> M spursrc/vm/cointerp.c
<br/> M spursrc/vm/cointerp.h
<br/> M spursrc/vm/cointerpmt.c
<br/> M spursrc/vm/cointerpmt.h
<br/> M spursrc/vm/gcc3x-cointerp.c
<br/> M spursrc/vm/gcc3x-cointerpmt.c
<br/> M spursrc/vm/interp.h
<br/> M spurstack64src/vm/gcc3x-interp.c
<br/> M spurstack64src/vm/interp.c
<br/> M spurstack64src/vm/interp.h
<br/> M spurstack64src/vm/validImage.c
<br/> M spurstacksrc/vm/gcc3x-interp.c
<br/> M spurstacksrc/vm/interp.c
<br/> M spurstacksrc/vm/interp.h
<br/> M spurstacksrc/vm/validImage.c
<br/> M src/vm/cogit.h
<br/> M src/vm/cointerp.c
<br/> M src/vm/cointerp.h
<br/> M src/vm/gcc3x-cointerp.c
<br/> M src/vm/interp.h
<br/> M stacksrc/vm/gcc3x-interp.c
<br/> M stacksrc/vm/interp.c
<br/> M stacksrc/vm/interp.h
<br/><br/> Log Message:
<br/> -----------
<br/> CogVM asource as per Name: VMMaker.oscog-eem.2967
<br/><br/>Add PrimErrUninitialized as error #26
<br/>Add PrimErrInternalError as error #25
<br/><br/>Make stSizeOf: easier to optimize.
<br/><br/>Fix a slip in primitiveSetOrHasIdentityHash (a primitive fail didn't return)
<br/>InterpreterPrimitives>>primitiveResume should also follow the
<br/>SuspendedContextIndex field of a process on Spur, as does the
<br/>CoInterpreterPrimitives version. Update the comment re not checking myList.
<br/><br/>speeling rorres.
<br/><br/><br/>
tag:forum.world.st,2006:post-5130367
VM Maker: VMMaker.oscog-eem.2967.mcz
2021-06-13T12:37:44Z
2021-06-13T12:37:44Z
commits-2
<br/>Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
<br/><a href="http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2967.mcz" target="_top" rel="nofollow" link="external">http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2967.mcz</a><br/><br/>==================== Summary ====================
<br/><br/>Name: VMMaker.oscog-eem.2967
<br/>Author: eem
<br/>Time: 13 June 2021, 12:37:35.740957 pm
<br/>UUID: 57b9e5f9-0212-436d-acaf-4e501e470621
<br/>Ancestors: VMMaker.oscog-eem.2966
<br/><br/>Add PrimErrUninitialized as error #26
<br/><br/>=============== Diff against VMMaker.oscog-eem.2966 ===============
<br/><br/>Item was changed:
<br/> SharedPool subclass: #VMBasicConstants
<br/> instanceVariableNames: ''
<br/>+ classVariableNames: 'BaseHeaderSize BytecodeSetHasExtensions BytesPerOop BytesPerWord COGMTVM COGVM CloneOnGC CloneOnScavenge DisownVMForFFICall DisownVMForThreading DoAssertionChecks DoExpensiveAssertionChecks GCCheckPrimCall GCModeBecome GCModeFreeSpace GCModeFull GCModeImageSegment GCModeIncremental GCModeNewSpace HashMultiplyConstant HashMultiplyMask IMMUTABILITY LowcodeVM MULTIPLEBYTECODESETS NewspeakVM PharoVM PrimErrBadArgument PrimErrBadIndex PrimErrBadMethod PrimErrBadNumArgs PrimErrBadReceiver PrimErrCallbackError PrimErrFFIException PrimErrGenericFailure PrimErrInappropriate PrimErrInternalError PrimErrLimitExceeded PrimErrNamedInternal PrimErrNeedCompaction PrimErrNoCMemory PrimErrNoMemory PrimErrNoModification PrimErrNotFound PrimErrOSError PrimErrObjectIsPinned PrimErrObjectMayMove PrimErrObjectMoved PrimErrObjectNotPinned PrimErrOperationFailed PrimErrUninitialized PrimErrUnsupported PrimErrWritePastObject PrimNoErr PrimNumberHandlerMarker PrimNumberNoContextSwitchM
<br/> arker PrimNumberUnwindMarker SPURVM STACKVM SistaVM TempVectReadBarrier VMBIGENDIAN'
<br/>- classVariableNames: 'BaseHeaderSize BytecodeSetHasExtensions BytesPerOop BytesPerWord COGMTVM COGVM CloneOnGC CloneOnScavenge DisownVMForFFICall DisownVMForThreading DoAssertionChecks DoExpensiveAssertionChecks GCCheckPrimCall GCModeBecome GCModeFreeSpace GCModeFull GCModeImageSegment GCModeIncremental GCModeNewSpace HashMultiplyConstant HashMultiplyMask IMMUTABILITY LowcodeVM MULTIPLEBYTECODESETS NewspeakVM PharoVM PrimErrBadArgument PrimErrBadIndex PrimErrBadMethod PrimErrBadNumArgs PrimErrBadReceiver PrimErrCallbackError PrimErrFFIException PrimErrGenericFailure PrimErrInappropriate PrimErrInternalError PrimErrLimitExceeded PrimErrNamedInternal PrimErrNeedCompaction PrimErrNoCMemory PrimErrNoMemory PrimErrNoModification PrimErrNotFound PrimErrOSError PrimErrObjectIsPinned PrimErrObjectMayMove PrimErrObjectMoved PrimErrObjectNotPinned PrimErrOperationFailed PrimErrUnsupported PrimErrWritePastObject PrimNoErr PrimNumberHandlerMarker PrimNumberNoContextSwitchMarker PrimNumberUnwin
<br/> dMarker SPURVM STACKVM SistaVM TempVectReadBarrier VMBIGENDIAN'
<br/> poolDictionaries: ''
<br/> category: 'VMMaker-Interpreter'!
<br/>
<br/> !VMBasicConstants commentStamp: '<historical>' prior: 0!
<br/> I am a shared pool for basic constants upon which the VM as a whole depends.
<br/>
<br/> self ensureClassPool.
<br/> self classPool declare: #BytesPerWord from: VMSqueakV3ObjectRepresentationConstants classPool.
<br/> self classPool declare: #BaseHeaderSize from: VMSqueakV3ObjectRepresentationConstants classPool
<br/> (ObjectMemory classPool keys select: [:k| k beginsWith: 'Byte']) do:
<br/> [:k| self classPool declare: k from: ObjectMemory classPool]!
<br/><br/>Item was changed:
<br/> ----- Method: VMClass class>>initializePrimitiveErrorCodes (in category 'initialization') -----
<br/> initializePrimitiveErrorCodes
<br/> "Define the VM's primitive error codes. N.B. these are
<br/> replicated in platforms/Cross/vm/sqVirtualMachine.h."
<br/> "VMClass initializePrimitiveErrorCodes"
<br/> | pet |
<br/> PrimErrTableIndex := 51. "Zero-relative"
<br/> "See SmalltalkImage>>recreateSpecialObjectsArray for the table definition.
<br/> If the table exists and is large enough the corresponding entry is returned as
<br/> the primitive error, otherwise the error is answered numerically."
<br/> pet := Smalltalk specialObjectsArray at: PrimErrTableIndex + 1 ifAbsent: [#()].
<br/> pet isArray ifFalse: [pet := #()].
<br/> PrimNoErr := 0. "for helper methods that need to answer success or an error code."
<br/> PrimErrGenericFailure := pet indexOf: nil ifAbsent: 1.
<br/> PrimErrBadReceiver := pet indexOf: #'bad receiver' ifAbsent: 2.
<br/> PrimErrBadArgument := pet indexOf: #'bad argument' ifAbsent: 3.
<br/> PrimErrBadIndex := pet indexOf: #'bad index' ifAbsent: 4.
<br/> PrimErrBadNumArgs := pet indexOf: #'bad number of arguments' ifAbsent: 5.
<br/> PrimErrInappropriate := pet indexOf: #'inappropriate operation' ifAbsent: 6.
<br/> PrimErrUnsupported := pet indexOf: #'unsupported operation' ifAbsent: 7.
<br/> PrimErrNoModification := pet indexOf: #'no modification' ifAbsent: 8.
<br/> PrimErrNoMemory := pet indexOf: #'insufficient object memory' ifAbsent: 9.
<br/> PrimErrNoCMemory := pet indexOf: #'insufficient C memory' ifAbsent: 10.
<br/> PrimErrNotFound := pet indexOf: #'not found' ifAbsent: 11.
<br/> PrimErrBadMethod := pet indexOf: #'bad method' ifAbsent: 12.
<br/> PrimErrNamedInternal := pet indexOf: #'internal error in named primitive machinery' ifAbsent: 13.
<br/> PrimErrObjectMayMove := pet indexOf: #'object may move' ifAbsent: 14.
<br/> PrimErrLimitExceeded := pet indexOf: #'resource limit exceeded' ifAbsent: 15.
<br/> PrimErrObjectIsPinned := pet indexOf: #'object is pinned' ifAbsent: 16.
<br/> PrimErrWritePastObject := pet indexOf: #'primitive write beyond end of object' ifAbsent: 17.
<br/> PrimErrObjectMoved := pet indexOf: #'object moved' ifAbsent: 18.
<br/> PrimErrObjectNotPinned := pet indexOf: #'object not pinned' ifAbsent: 19.
<br/> PrimErrCallbackError := pet indexOf: #'error in callback' ifAbsent: 20.
<br/> PrimErrOSError := pet indexOf: #'operating system error' ifAbsent: 21.
<br/> PrimErrFFIException := pet indexOf: #'ffi call exception' ifAbsent: 22.
<br/> PrimErrNeedCompaction := pet indexOf: #'heap compaction needed' ifAbsent: 23. "N.B. This is currently an internal error in Spur image segment saving."
<br/> PrimErrOperationFailed := pet indexOf: #'operation failed' ifAbsent: 24.
<br/>+ PrimErrInternalError := pet indexOf: #'internal error' ifAbsent: 25.
<br/>+ PrimErrUninitialized := pet indexOf: #'uninitialized' ifAbsent: 26!
<br/>- PrimErrInternalError := pet indexOf: #'internal error' ifAbsent: 25!
<br/><br/>
tag:forum.world.st,2006:post-5129160
[OpenSmalltalk/opensmalltalk-vm] Fix include order (#562)
2021-04-26T11:54:16Z
2021-04-26T11:54:16Z
David T Lewis
<br /><p>This enables the linux builds again, while preserving windows and macos builds.<br>
That is a fix for <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="864187584" data-permission-text="Title is private" data-url="https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/560" data-hovercard-type="issue" data-hovercard-url="/OpenSmalltalk/opensmalltalk-vm/issues/560/hovercard" href="https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/560" target="_top" rel="nofollow" link="external">#560</a></p>
<p>If this is compatible with TERF VM, then it should be merged ASAP, the builds are red for too long.<br>
(we'll have to inquire next point of failure...)</p>
<hr>
<h4>You can view, comment on, or merge this pull request online at:</h4>
<p> <a href='https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562' target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562</a></p>
<h4>Commit Summary</h4>
<ul>
<li>always include <stdio.h> **BEFORE** defining fseeko/ftello</li>
<li>Discard the EXPORT from sqAssert.h for declaring VM functions</li>
<li>Make sure that config.h is included first</li>
<li>Generate source with VMMaker.oscog-nice.2957 so as to restore sqConfig.h inclusion at top</li>
<li>try and omit HAVE_CONFIG_H for compiling getVersion</li>
</ul>
<h4>File Changes</h4>
<ul>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-7260bbb7b719a93ecbde14dcce24721831ececd06ce9f89abfec39d93d029b2c" target="_top" rel="nofollow" link="external">platforms/Cross/plugins/B3DAcceleratorPlugin/sqOpenGLRenderer.c</a>
(3)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-265adcb193692f15f116eec7ab27ff9010ba5f49a4711f8b610a5f7d51a29654" target="_top" rel="nofollow" link="external">platforms/Cross/plugins/IA32ABI/xabicc.c</a>
(5)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-7c603831077b2ec93996fa499296f2cb3b6f746be466068a353a3710776c6c88" target="_top" rel="nofollow" link="external">platforms/Cross/plugins/SoundCodecPrims/sqSoundCodecPluginBasicPrims.c</a>
(4)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-ef9c72c53049d96faec52352113a100443824da98c69826dbdd4ff45cd219e93" target="_top" rel="nofollow" link="external">platforms/Cross/plugins/Squeak3D/b3dInit.c</a>
(3)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-896b9e1a992804b0d1d2252b7b1ec59157b3db777c24a4c3d5880905b658a87c" target="_top" rel="nofollow" link="external">platforms/Cross/plugins/Squeak3D/b3dMain.c</a>
(3)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-3eda1b15bd62d50a01a958ae84e826197cb958c8427c3327aa882dd6800efb75" target="_top" rel="nofollow" link="external">platforms/Cross/plugins/SurfacePlugin/SurfacePlugin.c</a>
(4)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-59e4c835443bbbfe2e612c63e2233bd590a036ac8c9f67aa13a48e875a7de69b" target="_top" rel="nofollow" link="external">platforms/Cross/vm/sqAssert.h</a>
(11)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-8cef988a84787e39056b62724297e3fc9d01ef55ac534e997266dac55c2d7d0a" target="_top" rel="nofollow" link="external">platforms/Cross/vm/sqHeapMap.c</a>
(4)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-6cfcf95fd93f73f7b05a4bec40e8c3d16e102dbbef8e28c5cb104ac7905a1e47" target="_top" rel="nofollow" link="external">platforms/Cross/vm/sqSCCSVersion.h</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-483e6c952730eea9f1cdb535cab28c12654ec3d62c92cd8ffafff67371cdc8c4" target="_top" rel="nofollow" link="external">platforms/Cross/vm/sqVirtualMachine.c</a>
(3)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-96932b6ce2bc03f7915da8eda4f6a1131104251888c2c1a33db9b2c79c6a19a1" target="_top" rel="nofollow" link="external">platforms/unix/config/getversion.c</a>
(1)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-ce58171f39c13b11ac8a7b6ada7c417be7932e2cb804eda8fc7daff972a0a42f" target="_top" rel="nofollow" link="external">platforms/unix/plugins/FileAttributesPlugin/faSupport.c</a>
(3)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-4a831f2e78c0efb8206405d029fbaa5e30135e02bca71e49274de70369bf2ada" target="_top" rel="nofollow" link="external">platforms/unix/vm/aio.c</a>
(12)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-65b4ca540b4c1cb9f0b16875346c690a7d4490ea50f971d4edb6bfc8423fc7ea" target="_top" rel="nofollow" link="external">platforms/unix/vm/sqUnixVMProfile.c</a>
(5)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-3916270ab356f9d81b0beced9a20e4b590c4a5ebc3a7c763b03bed3d8fd76679" target="_top" rel="nofollow" link="external">platforms/win32/vm/sqPlatformSpecific.h</a>
(1)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-0544ef9f5ac434dec1dc9bdf659a561d141677a131052d1c825f89d632c244e1" target="_top" rel="nofollow" link="external">spur64src/vm/cogit.h</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-865c2913e627c3e7ffdbc700a568d17a8f49399f7db1eb6b3b8e0945ddddebc4" target="_top" rel="nofollow" link="external">spur64src/vm/cogitARMv8.c</a>
(8)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-418068e4c41f91c055467a8d43da59d56edfba52f5d0bc4047524b0ef1998e78" target="_top" rel="nofollow" link="external">spur64src/vm/cogitX64SysV.c</a>
(8)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-275bb4e436a060f83cb82231ed80671135189f718d08f5a313258ae473d2163c" target="_top" rel="nofollow" link="external">spur64src/vm/cogitX64WIN64.c</a>
(8)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-bc4a9cc36fff3f77d970c2b6e70f4ba81703721fe04d158e02d6b0da6a2a84cb" target="_top" rel="nofollow" link="external">spur64src/vm/cointerp.c</a>
(49)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-09003d4a9312a26a2a8bf3b016eb9ade76b79627cbf6f20049bbad9cd6d5f934" target="_top" rel="nofollow" link="external">spur64src/vm/cointerp.h</a>
(4)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-29c5ae0619457f18e18048f73f157344507db9e1d17d6d1e5a692c2e37c4ab1b" target="_top" rel="nofollow" link="external">spur64src/vm/cointerpmt.c</a>
(31)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-de3ca7175a9430bcf76e0c56b328ff5bf480d5eaf87a8a522f960b205d3b76b3" target="_top" rel="nofollow" link="external">spur64src/vm/cointerpmt.h</a>
(3)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-16e1ee149f7dcaf855a8682767fe4106e16b52bf67bcb4b58edf64a250aad462" target="_top" rel="nofollow" link="external">spur64src/vm/gcc3x-cointerp.c</a>
(49)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-c0fd668a9b787c2b3efeb38dbd2e39367e22d77736b55e5e06489f4072aac256" target="_top" rel="nofollow" link="external">spur64src/vm/gcc3x-cointerpmt.c</a>
(31)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-c18f468b8c65bd39118f5ae0f92e5782d468d330477ad040283a4020b89748b5" target="_top" rel="nofollow" link="external">spurlowcode64src/vm/cogit.h</a>
(3)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-5b8004f5b5ace7bdd07a54a477444e15b3cfaccbaec36afd673044c1dd1328f1" target="_top" rel="nofollow" link="external">spurlowcode64src/vm/cogitARMv8.c</a>
(16)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-16e78ee74cf248bc8e251f7c75b4736bdc47dd82439c995b3be4afa9d45554db" target="_top" rel="nofollow" link="external">spurlowcode64src/vm/cogitX64SysV.c</a>
(12)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-3cc41157c909d20b19d21cdd9cf4bb7756d7a0ed676e3f2ed1b309498b05d2a1" target="_top" rel="nofollow" link="external">spurlowcode64src/vm/cogitX64WIN64.c</a>
(12)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-023d88e06371776058acc9d2170345d3005ff1c75fcf0926f1953504128d85f1" target="_top" rel="nofollow" link="external">spurlowcode64src/vm/cointerp.c</a>
(53)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-159be3a497f758df6c095047b9cb06932d93572055da4d0759f5baf2a7569935" target="_top" rel="nofollow" link="external">spurlowcode64src/vm/cointerp.h</a>
(5)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-610caa6f6bbfbbf91a5c79706dd98328403e07e92447a5dc5ccb658909684503" target="_top" rel="nofollow" link="external">spurlowcode64src/vm/gcc3x-cointerp.c</a>
(53)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-11439aa12404f5d619df9418b34dfd75010ac12d3e6249db9d47697d91fa08b5" target="_top" rel="nofollow" link="external">spurlowcodesrc/vm/cogit.h</a>
(3)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-3c64e36082180354ee0106008538bb64ecdf1b13a8011ee5b07a34e7e711a601" target="_top" rel="nofollow" link="external">spurlowcodesrc/vm/cogitARMv5.c</a>
(12)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-29fa87dddc6ac43dfcd806f7dc843fb4eb1707397fc7267784db15849bccc2ec" target="_top" rel="nofollow" link="external">spurlowcodesrc/vm/cogitIA32.c</a>
(12)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-edddc062e93f69556fdfc4103d1bb094ac428941dd99acf2446bb93ba2d3091e" target="_top" rel="nofollow" link="external">spurlowcodesrc/vm/cogitMIPSEL.c</a>
(16)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-17f6315eb1d41d0d1ec777434b8a60ba048f6f2a32d437762f2b9d0b4e9172c6" target="_top" rel="nofollow" link="external">spurlowcodesrc/vm/cointerp.c</a>
(57)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-c1d5e3a612247fe187dc35177ab05755b74f425196b8ae7978f1a4cf593d3137" target="_top" rel="nofollow" link="external">spurlowcodesrc/vm/cointerp.h</a>
(5)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-bdb4201a457e66514da35fb6e554480496edd9b2b5df0e588417f577c2dc86a9" target="_top" rel="nofollow" link="external">spurlowcodesrc/vm/gcc3x-cointerp.c</a>
(57)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-234fc73c11460b75b5c61a9142bab48b545703293a424c8f4d37b17aea8e8e42" target="_top" rel="nofollow" link="external">spurlowcodestack64src/vm/gcc3x-interp.c</a>
(25)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-c3467d4ff58e9bb1d4c936597dd06c8f4d2581d0b61296be536a9ad2d0a6088a" target="_top" rel="nofollow" link="external">spurlowcodestack64src/vm/interp.c</a>
(25)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-a9bb33d78a8d2acab2461a82900d93e4afa373679ccc71cba430d748ac800d56" target="_top" rel="nofollow" link="external">spurlowcodestacksrc/vm/gcc3x-interp.c</a>
(25)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-709b482b3d6e15f3d4bd2880a8d47e8005b38b2e74674d9ceba15d76c6bbf47b" target="_top" rel="nofollow" link="external">spurlowcodestacksrc/vm/interp.c</a>
(25)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-c34f674619b77a61096ddca3e863606bbbe49a5c69884c621fb1b448b1ec7b86" target="_top" rel="nofollow" link="external">spursista64src/vm/cogit.h</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-debec45b716e8343f1f71567b556941722458b7b85e994052f3f5051a32c90df" target="_top" rel="nofollow" link="external">spursista64src/vm/cogitARMv8.c</a>
(12)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-7fdb3e78fe3bf0023b4e929e0b59c5330bd9ec5127e40c810879d1395bace503" target="_top" rel="nofollow" link="external">spursista64src/vm/cogitX64SysV.c</a>
(8)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-c6fc494586a4159a06250bb39241fe5156781d3648a9e73abc1b49d26ed6515d" target="_top" rel="nofollow" link="external">spursista64src/vm/cogitX64WIN64.c</a>
(8)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-e19f69175cb5a9ddfa35f4cafc73bf3196635c1a2a69eb0a526ae2ec5799e092" target="_top" rel="nofollow" link="external">spursista64src/vm/cointerp.c</a>
(49)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-414aaa90a403ae1c2af5412692eff3752af66d7181161a30b6c1bfc7aed3fb30" target="_top" rel="nofollow" link="external">spursista64src/vm/cointerp.h</a>
(4)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-1838d25846586e54aee80e805d573b839a31959b8d13b751300f5dd6b0abd3fb" target="_top" rel="nofollow" link="external">spursista64src/vm/gcc3x-cointerp.c</a>
(49)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-833833e1139594eece6d265d0d42da4d8366d9d758b4ada5f6ba122735aa0748" target="_top" rel="nofollow" link="external">spursistasrc/vm/cogit.h</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-196ca1f4f4b3253df502a39b2788ad8da0b43d863f031487804ef1b76cba305c" target="_top" rel="nofollow" link="external">spursistasrc/vm/cogitARMv5.c</a>
(8)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-375133f46b11079d33052abcea3eff42ec143a3c14202d2d7d7d6536d96137eb" target="_top" rel="nofollow" link="external">spursistasrc/vm/cogitIA32.c</a>
(8)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-45d5e625e165149d7946638ad6071726f8422d53effa45ab79517f4c38a971a7" target="_top" rel="nofollow" link="external">spursistasrc/vm/cogitMIPSEL.c</a>
(14)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-8942323c044ec16b49904ed05fb2a6a27779a68ab98a52005ce84dad1807b648" target="_top" rel="nofollow" link="external">spursistasrc/vm/cointerp.c</a>
(49)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-7f3fe525e31c989bf17989322189534dd9d3e8d086d078d34a1bc1f914fc48df" target="_top" rel="nofollow" link="external">spursistasrc/vm/cointerp.h</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-5e8fb9cd09be11da2400a4a3cdd99535fc8967c2e3839e17e3923757f2d48763" target="_top" rel="nofollow" link="external">spursistasrc/vm/gcc3x-cointerp.c</a>
(49)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-4629c4fe8c09170893ba81562fc132d3efa46d5e47bb64323999f9cb98ce017a" target="_top" rel="nofollow" link="external">spursrc/vm/cogit.h</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-46e4e620b6af6d74a838de7b4dcfaa324ef7509e351207584387cfd8fa51d1dc" target="_top" rel="nofollow" link="external">spursrc/vm/cogitARMv5.c</a>
(8)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-49c3e7538860ce437919e13b8957d57d0ad415771b401faa0f55b6f52a7af9df" target="_top" rel="nofollow" link="external">spursrc/vm/cogitIA32.c</a>
(8)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-4f60d57594f05eb32ebfa95c0eb82acca64ea5d462c755e75ad00576d7c2e4a6" target="_top" rel="nofollow" link="external">spursrc/vm/cogitMIPSEL.c</a>
(10)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-18d61ffaff9c6156e441de2f30c0efcea15cea43fee87a47d7dad48056bd388f" target="_top" rel="nofollow" link="external">spursrc/vm/cointerp.c</a>
(57)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-31c666114e1eb0209363a244296631ef57b5079b9cd1dae44f5ea5f1b86fa985" target="_top" rel="nofollow" link="external">spursrc/vm/cointerp.h</a>
(4)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-4d83c6f3dbb8a5c64c34e262c7040adf35e49f8b9b055625e2825e96edd07d5a" target="_top" rel="nofollow" link="external">spursrc/vm/cointerpmt.c</a>
(81)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-0823cd55cc3d9799da3ad9f796a131f188416650086e319d87e2faf31745672b" target="_top" rel="nofollow" link="external">spursrc/vm/cointerpmt.h</a>
(5)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-240ac439ee25a89ce0094fdb162661e263e5e10300c9164b75e268f13403d096" target="_top" rel="nofollow" link="external">spursrc/vm/gcc3x-cointerp.c</a>
(57)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-3d1db84e08502b0a5c0c44942a7dd36a90d6fffecacc4fa3923a60a49dcefddc" target="_top" rel="nofollow" link="external">spursrc/vm/gcc3x-cointerpmt.c</a>
(81)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-c788af49304fd33bf4fbb8aefb2f9b9feedaa57099795edf937581b7aa0b3e5e" target="_top" rel="nofollow" link="external">spurstack64src/vm/gcc3x-interp.c</a>
(25)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-048681380d37a1ce273ea7417b89a422f97d292a4b0a78febd11dc30a5bebcfc" target="_top" rel="nofollow" link="external">spurstack64src/vm/interp.c</a>
(25)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-be649119e7ad4d27d362a5cb8a21d5a0f8c308851266c5adde6c0bc1a5890ba9" target="_top" rel="nofollow" link="external">spurstack64src/vm/validImage.c</a>
(17)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-98c17692346c0e977f7fe8e73afba65ebab2c33ac1d2d3b8b470bebfa9444ccb" target="_top" rel="nofollow" link="external">spurstacksrc/vm/gcc3x-interp.c</a>
(25)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-c38c40521976558bd175972b57fb4cc9d9a5457a6d1d66df6dbf7a83b6f74055" target="_top" rel="nofollow" link="external">spurstacksrc/vm/interp.c</a>
(25)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-8d22414b7fa9368765d03ef32a527b9db4f4d46e3df5cc39720b856dd291eb69" target="_top" rel="nofollow" link="external">spurstacksrc/vm/validImage.c</a>
(17)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-20f271d5b3c2c545b415a1937ee8401f810fd5f9c89e65d473f4fe68a5237948" target="_top" rel="nofollow" link="external">src/plugins/Squeak3D/Squeak3D.c</a>
(8)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-a102b1406d969cd8acbf9830933e243102ea2decc1b76f9cdc96db550800aeca" target="_top" rel="nofollow" link="external">src/vm/cogit.h</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-ebc9cee316b461d62d6756693c4a8807eb033500c1308e345f8e54b9716ddc4f" target="_top" rel="nofollow" link="external">src/vm/cogitARMv5.c</a>
(8)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-824f7a186a6aa8fc571f241c2341fc3d8ce3c893d0024da91a5ae99f1632f3ba" target="_top" rel="nofollow" link="external">src/vm/cogitIA32.c</a>
(8)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-90b565fa039a75dcaf173b280f1365f06e1b00b2d83132dd410e52d3f770691d" target="_top" rel="nofollow" link="external">src/vm/cogitMIPSEL.c</a>
(12)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-a51f050aec64461f20910725755df8620dde9786e6f2d68ddab2d2aad653398f" target="_top" rel="nofollow" link="external">src/vm/cointerp.c</a>
(10)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-aac7a26275a72fa7a82a4f765fc6bab5f82b495c6befeef4d582926e338a1447" target="_top" rel="nofollow" link="external">src/vm/cointerp.h</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-dca3f9dacce01fc0bc01e791dc9bea217d42a2a1ce262f463876504147123a7a" target="_top" rel="nofollow" link="external">src/vm/gcc3x-cointerp.c</a>
(10)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-ef4cb3b0cccf9e93f802ac524c5e9f5d541fe4c6e25ce7e2be027c05686228b8" target="_top" rel="nofollow" link="external">stacksrc/vm/gcc3x-interp.c</a>
(12)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562/files#diff-c3861140e5d9726642a7eab4c5609dc2892cc54567b00b07e5b4cd6d50a41042" target="_top" rel="nofollow" link="external">stacksrc/vm/interp.c</a>
(12)
</li>
</ul>
<h4>Patch Links:</h4>
<ul>
<li><a href='https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562.patch' target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562.patch</a></li>
<li><a href='https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562.diff' target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562.diff</a></li>
</ul>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562" target="_top" rel="nofollow" link="external">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AIJPEW2CEJIWENMAJBEKUDDTKWZFRANCNFSM43TORVYA" target="_top" rel="nofollow" link="external">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AIJPEW5TMV3V6N732D6MMXDTKWZFRA5CNFSM43TORVYKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4M55AHCQ.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562",
"url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/562",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>
tag:forum.world.st,2006:post-5130365
VM Maker: ImageFormat-dtl.51.mcz
2021-06-12T12:56:27Z
2021-06-12T12:56:27Z
commits-2
<br/>David T. Lewis uploaded a new version of ImageFormat to project VM Maker:
<br/><a href="http://source.squeak.org/VMMaker/ImageFormat-dtl.51.mcz" target="_top" rel="nofollow" link="external">http://source.squeak.org/VMMaker/ImageFormat-dtl.51.mcz</a><br/><br/>==================== Summary ====================
<br/><br/>Name: ImageFormat-dtl.51
<br/>Author: dtl
<br/>Time: 12 June 2021, 3:55:33.939129 pm
<br/>UUID: 9439d840-9001-4a40-b592-568a76202d21
<br/>Ancestors: ImageFormat-dtl.50
<br/><br/>Provide ImageFileHeader class>>fromFile:
<br/><br/>=============== Diff against ImageFormat-dtl.50 ===============
<br/><br/>Item was changed:
<br/> Object subclass: #ImageFileHeader
<br/> instanceVariableNames: 'imageFormat headerSize imageBytes startOfMemory specialObjectsOop lastHash screenSize imageHeaderFlags extraVMMemory'
<br/> classVariableNames: ''
<br/> poolDictionaries: ''
<br/> category: 'ImageFormat-Header'!
<br/>
<br/>+ !ImageFileHeader commentStamp: 'dtl 6/12/2021 15:54' prior: 0!
<br/>- !ImageFileHeader commentStamp: 'dtl 11/1/2012 07:46' prior: 0!
<br/> An ImageFileHeader represents the information in the header block of an image file, used by an interpreter VM. Subclasses may implement extensions for Cog or other header extensions.
<br/>
<br/> Instance variables correspond to the fields in an image file header. An instance of ImageFileHeader may be created by reading from an image file, and an ImageFileHeader may be written to a file.
<br/>
<br/> When stored to a file, the file header fields may be 32 or 64 bits in size, depending on the image format. The byte ordering of each field will be little endian or big endian, depending on the convention of the host platform. When reading from disk, endianness is inferred from the contents of the first data field.
<br/>
<br/>+ To read the file header of an image file:
<br/>- To explore the file header of an image file:
<br/>
<br/>+ ImageFileHeader fromFile: Smalltalk imageName.
<br/>- | fs |
<br/>- fs := (FileStream readOnlyFileNamed: Smalltalk imageName) binary.
<br/>- ([ImageFileHeader readFrom: fs] ensure: [fs close]) explore
<br/> !
<br/><br/>Item was added:
<br/>+ ----- Method: ImageFileHeader class>>fromFile: (in category 'instance creation') -----
<br/>+ fromFile: imageFile
<br/>+ "Answer a new instance from a saved image file."
<br/>+
<br/>+ "ImageFileHeader fromFile: Smalltalk imageName"
<br/>+
<br/>+ | fs |
<br/>+ fs := (FileStream readOnlyFileNamed: Smalltalk imageName) binary.
<br/>+ ^ ([ImageFileHeader readFrom: fs] ensure: [fs close])
<br/>+ !
<br/><br/>
tag:forum.world.st,2006:post-5130355
VM Maker: VMMaker.oscog-eem.2966.mcz
2021-06-11T15:26:55Z
2021-06-11T15:26:55Z
commits-2
<br/>Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
<br/><a href="http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2966.mcz" target="_top" rel="nofollow" link="external">http://source.squeak.org/VMMaker/VMMaker.oscog-eem.2966.mcz</a><br/><br/>==================== Summary ====================
<br/><br/>Name: VMMaker.oscog-eem.2966
<br/>Author: eem
<br/>Time: 11 June 2021, 3:26:45.101641 pm
<br/>UUID: c2e6bf46-4639-4017-a394-7ffcda07a985
<br/>Ancestors: VMMaker.oscog-eem.2965
<br/><br/>Add PrimErrInternalError as error #25
<br/><br/>=============== Diff against VMMaker.oscog-eem.2965 ===============
<br/><br/>Item was changed:
<br/> SharedPool subclass: #VMBasicConstants
<br/> instanceVariableNames: ''
<br/>+ classVariableNames: 'BaseHeaderSize BytecodeSetHasExtensions BytesPerOop BytesPerWord COGMTVM COGVM CloneOnGC CloneOnScavenge DisownVMForFFICall DisownVMForThreading DoAssertionChecks DoExpensiveAssertionChecks GCCheckPrimCall GCModeBecome GCModeFreeSpace GCModeFull GCModeImageSegment GCModeIncremental GCModeNewSpace HashMultiplyConstant HashMultiplyMask IMMUTABILITY LowcodeVM MULTIPLEBYTECODESETS NewspeakVM PharoVM PrimErrBadArgument PrimErrBadIndex PrimErrBadMethod PrimErrBadNumArgs PrimErrBadReceiver PrimErrCallbackError PrimErrFFIException PrimErrGenericFailure PrimErrInappropriate PrimErrInternalError PrimErrLimitExceeded PrimErrNamedInternal PrimErrNeedCompaction PrimErrNoCMemory PrimErrNoMemory PrimErrNoModification PrimErrNotFound PrimErrOSError PrimErrObjectIsPinned PrimErrObjectMayMove PrimErrObjectMoved PrimErrObjectNotPinned PrimErrOperationFailed PrimErrUnsupported PrimErrWritePastObject PrimNoErr PrimNumberHandlerMarker PrimNumberNoContextSwitchMarker PrimNumberUnwin
<br/> dMarker SPURVM STACKVM SistaVM TempVectReadBarrier VMBIGENDIAN'
<br/>- classVariableNames: 'BaseHeaderSize BytecodeSetHasExtensions BytesPerOop BytesPerWord COGMTVM COGVM CloneOnGC CloneOnScavenge DisownVMForFFICall DisownVMForThreading DoAssertionChecks DoExpensiveAssertionChecks GCCheckPrimCall GCModeBecome GCModeFreeSpace GCModeFull GCModeImageSegment GCModeIncremental GCModeNewSpace HashMultiplyConstant HashMultiplyMask IMMUTABILITY LowcodeVM MULTIPLEBYTECODESETS NewspeakVM PharoVM PrimErrBadArgument PrimErrBadIndex PrimErrBadMethod PrimErrBadNumArgs PrimErrBadReceiver PrimErrCallbackError PrimErrFFIException PrimErrGenericFailure PrimErrInappropriate PrimErrLimitExceeded PrimErrNamedInternal PrimErrNeedCompaction PrimErrNoCMemory PrimErrNoMemory PrimErrNoModification PrimErrNotFound PrimErrOSError PrimErrObjectIsPinned PrimErrObjectMayMove PrimErrObjectMoved PrimErrObjectNotPinned PrimErrOperationFailed PrimErrUnsupported PrimErrWritePastObject PrimNoErr PrimNumberHandlerMarker PrimNumberNoContextSwitchMarker PrimNumberUnwindMarker SPURVM STACKV
<br/> M SistaVM TempVectReadBarrier VMBIGENDIAN'
<br/> poolDictionaries: ''
<br/> category: 'VMMaker-Interpreter'!
<br/>
<br/> !VMBasicConstants commentStamp: '<historical>' prior: 0!
<br/> I am a shared pool for basic constants upon which the VM as a whole depends.
<br/>
<br/> self ensureClassPool.
<br/> self classPool declare: #BytesPerWord from: VMSqueakV3ObjectRepresentationConstants classPool.
<br/> self classPool declare: #BaseHeaderSize from: VMSqueakV3ObjectRepresentationConstants classPool
<br/> (ObjectMemory classPool keys select: [:k| k beginsWith: 'Byte']) do:
<br/> [:k| self classPool declare: k from: ObjectMemory classPool]!
<br/><br/>Item was changed:
<br/> ----- Method: VMClass class>>initializePrimitiveErrorCodes (in category 'initialization') -----
<br/> initializePrimitiveErrorCodes
<br/> "Define the VM's primitive error codes. N.B. these are
<br/> replicated in platforms/Cross/vm/sqVirtualMachine.h."
<br/> "VMClass initializePrimitiveErrorCodes"
<br/> | pet |
<br/> PrimErrTableIndex := 51. "Zero-relative"
<br/> "See SmalltalkImage>>recreateSpecialObjectsArray for the table definition.
<br/> If the table exists and is large enough the corresponding entry is returned as
<br/> the primitive error, otherwise the error is answered numerically."
<br/> pet := Smalltalk specialObjectsArray at: PrimErrTableIndex + 1 ifAbsent: [#()].
<br/> pet isArray ifFalse: [pet := #()].
<br/> PrimNoErr := 0. "for helper methods that need to answer success or an error code."
<br/> PrimErrGenericFailure := pet indexOf: nil ifAbsent: 1.
<br/> PrimErrBadReceiver := pet indexOf: #'bad receiver' ifAbsent: 2.
<br/> PrimErrBadArgument := pet indexOf: #'bad argument' ifAbsent: 3.
<br/> PrimErrBadIndex := pet indexOf: #'bad index' ifAbsent: 4.
<br/> PrimErrBadNumArgs := pet indexOf: #'bad number of arguments' ifAbsent: 5.
<br/> PrimErrInappropriate := pet indexOf: #'inappropriate operation' ifAbsent: 6.
<br/> PrimErrUnsupported := pet indexOf: #'unsupported operation' ifAbsent: 7.
<br/> PrimErrNoModification := pet indexOf: #'no modification' ifAbsent: 8.
<br/> PrimErrNoMemory := pet indexOf: #'insufficient object memory' ifAbsent: 9.
<br/> PrimErrNoCMemory := pet indexOf: #'insufficient C memory' ifAbsent: 10.
<br/> PrimErrNotFound := pet indexOf: #'not found' ifAbsent: 11.
<br/> PrimErrBadMethod := pet indexOf: #'bad method' ifAbsent: 12.
<br/> PrimErrNamedInternal := pet indexOf: #'internal error in named primitive machinery' ifAbsent: 13.
<br/> PrimErrObjectMayMove := pet indexOf: #'object may move' ifAbsent: 14.
<br/> PrimErrLimitExceeded := pet indexOf: #'resource limit exceeded' ifAbsent: 15.
<br/> PrimErrObjectIsPinned := pet indexOf: #'object is pinned' ifAbsent: 16.
<br/> PrimErrWritePastObject := pet indexOf: #'primitive write beyond end of object' ifAbsent: 17.
<br/> PrimErrObjectMoved := pet indexOf: #'object moved' ifAbsent: 18.
<br/> PrimErrObjectNotPinned := pet indexOf: #'object not pinned' ifAbsent: 19.
<br/> PrimErrCallbackError := pet indexOf: #'error in callback' ifAbsent: 20.
<br/> PrimErrOSError := pet indexOf: #'operating system error' ifAbsent: 21.
<br/> PrimErrFFIException := pet indexOf: #'ffi call exception' ifAbsent: 22.
<br/> PrimErrNeedCompaction := pet indexOf: #'heap compaction needed' ifAbsent: 23. "N.B. This is currently an internal error in Spur image segment saving."
<br/>+ PrimErrOperationFailed := pet indexOf: #'operation failed' ifAbsent: 24.
<br/>+ PrimErrInternalError := pet indexOf: #'internal error' ifAbsent: 25!
<br/>- PrimErrOperationFailed := pet indexOf: #'operation failed' ifAbsent: 24!
<br/><br/>
tag:forum.world.st,2006:post-5130354
Build failed: opensmalltalk-vm 1.0.2451
2021-06-11T10:48:27Z
2021-06-11T10:48:27Z
AppVeyor
<br /><div style="font-family:'Segoe UI',Arial,Sans-Serif;font-size:10pt;">
<h1 style="font-size: 150%;font-weight:normal; color:#ff3228;"><a href="https://ci.appveyor.com/project/OpenSmalltalk/vm/builds/39568355" style="color:#ff3228;" target="_top" rel="nofollow" link="external">Build opensmalltalk-vm 1.0.2451 failed</a></h1>
<p style="color: #888;">
Commit <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/332836b353" target="_top" rel="nofollow" link="external">332836b353</a> by <a href="/user/SendEmail.jtp?type=node&node=5130354&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a> on 6/11/2021 5:40 PM:
<br />
<span style="font-size: 110%;color:#222;">Merge pull request #570 from dcstes/libmapmalloc</span>
</p>
<p><a href="https://ci.appveyor.com/notifications" style="font-size:85%;color:#999;" target="_top" rel="nofollow" link="external">Configure your notification preferences</a></p>
</div>
tag:forum.world.st,2006:post-5130352
[OpenSmalltalk/opensmalltalk-vm] c561c6: sunos specific change: use libmapmalloc for acquir...
2021-06-11T10:40:50Z
2021-06-11T10:40:50Z
Eliot Miranda-3
<br/> Branch: refs/heads/Cog
<br/> Home: <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm</a><br/> Commit: c561c60faa510b2ddee60876618510e33d9dcc2f
<br/> <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c561c60faa510b2ddee60876618510e33d9dcc2f" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c561c60faa510b2ddee60876618510e33d9dcc2f</a><br/> Author: stes <<a href="/user/SendEmail.jtp?type=node&node=5130352&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>>
<br/> Date: 2021-06-11 (Fri, 11 Jun 2021)
<br/><br/> Changed paths:
<br/> M build.sunos32x86/squeak.cog.spur/build/mvm
<br/> M build.sunos32x86/squeak.stack.spur/build/mvm
<br/> M build.sunos64x64/HowToBuild
<br/> M build.sunos64x64/squeak.cog.spur/build/mvm
<br/> M build.sunos64x64/squeak.stack.spur/build/mvm
<br/><br/> Log Message:
<br/> -----------
<br/> sunos specific change: use libmapmalloc for acquiring heap space
<br/><br/><br/> Commit: 332836b353c2e0aadd506c06c06e2add0c246037
<br/> <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/332836b353c2e0aadd506c06c06e2add0c246037" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/332836b353c2e0aadd506c06c06e2add0c246037</a><br/> Author: dcstes <<a href="/user/SendEmail.jtp?type=node&node=5130352&i=1" target="_top" rel="nofollow" link="external">[hidden email]</a>>
<br/> Date: 2021-06-11 (Fri, 11 Jun 2021)
<br/><br/> Changed paths:
<br/> M build.sunos32x86/squeak.cog.spur/build/mvm
<br/> M build.sunos32x86/squeak.stack.spur/build/mvm
<br/> M build.sunos64x64/HowToBuild
<br/> M build.sunos64x64/squeak.cog.spur/build/mvm
<br/> M build.sunos64x64/squeak.stack.spur/build/mvm
<br/><br/> Log Message:
<br/> -----------
<br/> Merge pull request #570 from dcstes/libmapmalloc
<br/><br/>sunos specific change: use libmapmalloc for acquiring heap space
<br/><br/><br/>Compare: <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/1ca2e9c7eef3...332836b353c2" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/compare/1ca2e9c7eef3...332836b353c2</a><br/>
tag:forum.world.st,2006:post-5130349
[OpenSmalltalk/opensmalltalk-vm] sunos specific change: use libmapmalloc for acquiring heap space (#570)
2021-06-11T09:15:45Z
2021-06-11T09:15:45Z
David T Lewis
<br /><p>-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA256</p>
<p>SunOS specific change:</p>
<p>To avoid heap allocations with brk(2), use libmapmalloc(3LIB).</p>
<p>Setup the SunOS build scripts to link libmapmalloc.</p>
<p>Update the HowToBuild file.</p>
<p>All those changes are in the SunOS specific directories (build scripts).</p>
<p>Regards,<br>
David Stes</p>
<p>-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v2</p>
<p>iQEcBAEBCAAGBQJgw4k2AAoJENdFDkXGicizdPgH+gIYCyYYp5x8HbsKbBwGIzHe<br>
++oUJbYBzDT0PIAH0j94jKuskGIzsVzHGtJNrCIH7HtH2XnAOjCc+DtIT5MJ/tKf<br>
oxbrnwtGiCOz3sHPE89tgyFnc+/hXLFrlabq/L8qSzgQ0zF2Vs1KzBMQW37Pr4ji<br>
XHsHooP+0ZEppBilqYu8Iq8WJ3hDQM3awTp4tsw6TsDL0DX49HfEHbIRokwsO1nv<br>
P3FhN76IZmFWdipMMkEeaBd0DJakpvNthPFAUpfjFyS2pyBMinP3AVwNt2wYe/YX<br>
Tc+hRe39TrSfAmYvFNFTfFyte/TX+qs6fF07t9rbO1/PUGrNVOV209mxHFEZn7Y=<br>
=W1Tq<br>
-----END PGP SIGNATURE-----</p>
<hr>
<h4>You can view, comment on, or merge this pull request online at:</h4>
<p> <a href='https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/570' target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/570</a></p>
<h4>Commit Summary</h4>
<ul>
<li>sunos specific change: use libmapmalloc for acquiring heap space</li>
</ul>
<h4>File Changes</h4>
<ul>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/570/files#diff-7dd5f4cd82698e127b2174a60916b4aa7a0b938a00ad32ce16ba1ef898a55a99" target="_top" rel="nofollow" link="external">build.sunos32x86/squeak.cog.spur/build/mvm</a>
(4)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/570/files#diff-e628250b7fad13999b4e5b6e17521969bbcda2aaa9f088372eee9af3b3ee4b38" target="_top" rel="nofollow" link="external">build.sunos32x86/squeak.stack.spur/build/mvm</a>
(5)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/570/files#diff-f30ea1234c957aeabdb85de5cbaf5fa213d1ec671a3fc0bddcf03bf89d8108b2" target="_top" rel="nofollow" link="external">build.sunos64x64/HowToBuild</a>
(84)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/570/files#diff-86f20a7bac8c0b06389eae91f28ec3bed2d998769bc979a04d63005b84baafc0" target="_top" rel="nofollow" link="external">build.sunos64x64/squeak.cog.spur/build/mvm</a>
(4)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/570/files#diff-8463ba9e78e85b94b617c8e395a2f6446912f255d0bfa08d2fc122d461e7145d" target="_top" rel="nofollow" link="external">build.sunos64x64/squeak.stack.spur/build/mvm</a>
(4)
</li>
</ul>
<h4>Patch Links:</h4>
<ul>
<li><a href='https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/570.patch' target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/570.patch</a></li>
<li><a href='https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/570.diff' target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/570.diff</a></li>
</ul>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/570" target="_top" rel="nofollow" link="external">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AIJPEWYO52UPYFWU2YZQZSDTSIZDDANCNFSM46RBRTRQ" target="_top" rel="nofollow" link="external">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AIJPEW67KNWUYDU3LGCK5GTTSIZDDA5CNFSM46RBRTR2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4NWF7LYQ.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/570",
"url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/570",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>
tag:forum.world.st,2006:post-5130350
Build failed: opensmalltalk-vm 1.0.2450
2021-06-11T09:26:57Z
2021-06-11T09:26:57Z
AppVeyor
<br /><div style="font-family:'Segoe UI',Arial,Sans-Serif;font-size:10pt;">
<h1 style="font-size: 150%;font-weight:normal; color:#ff3228;"><a href="https://ci.appveyor.com/project/OpenSmalltalk/vm/builds/39567377" style="color:#ff3228;" target="_top" rel="nofollow" link="external">Build opensmalltalk-vm 1.0.2450 failed</a></h1>
<p style="color: #888;">
Commit <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/9c17233cef" target="_top" rel="nofollow" link="external">9c17233cef</a> by <a href="/user/SendEmail.jtp?type=node&node=5130350&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a> on 6/11/2021 3:57 PM:
<br />
<span style="font-size: 110%;color:#222;">sunos specific change: use libmapmalloc for acquiring heap space</span>
</p>
<p><a href="https://ci.appveyor.com/notifications" style="font-size:85%;color:#999;" target="_top" rel="nofollow" link="external">Configure your notification preferences</a></p>
</div>
tag:forum.world.st,2006:post-5130328
Build failed: opensmalltalk-vm 1.0.2449
2021-06-10T12:16:18Z
2021-06-10T12:16:18Z
AppVeyor
<br /><div style="font-family:'Segoe UI',Arial,Sans-Serif;font-size:10pt;">
<h1 style="font-size: 150%;font-weight:normal; color:#ff3228;"><a href="https://ci.appveyor.com/project/OpenSmalltalk/vm/builds/39552790" style="color:#ff3228;" target="_top" rel="nofollow" link="external">Build opensmalltalk-vm 1.0.2449 failed</a></h1>
<p style="color: #888;">
Commit <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1ca2e9c7ee" target="_top" rel="nofollow" link="external">1ca2e9c7ee</a> by <a href="/user/SendEmail.jtp?type=node&node=5130328&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a> on 6/10/2021 7:09 PM:
<br />
<span style="font-size: 110%;color:#222;">Fix bulding external plugins under the MSVC makefiles (VMLIB in teh right place)</span>
</p>
<p><a href="https://ci.appveyor.com/notifications" style="font-size:85%;color:#999;" target="_top" rel="nofollow" link="external">Configure your notification preferences</a></p>
</div>
tag:forum.world.st,2006:post-5130326
[OpenSmalltalk/opensmalltalk-vm] 1ca2e9: Fix bulding external plugins under the MSVC makefi...
2021-06-10T12:11:39Z
2021-06-10T12:11:39Z
Eliot Miranda-3
<br/> Branch: refs/heads/Cog
<br/> Home: <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm</a><br/> Commit: 1ca2e9c7eef3b66f34cb4e41ed8c8a66ed620d21
<br/> <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1ca2e9c7eef3b66f34cb4e41ed8c8a66ed620d21" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/1ca2e9c7eef3b66f34cb4e41ed8c8a66ed620d21</a><br/> Author: Eliot Miranda <<a href="/user/SendEmail.jtp?type=node&node=5130326&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>>
<br/> Date: 2021-06-10 (Thu, 10 Jun 2021)
<br/><br/> Changed paths:
<br/> M build.win32x86/common/Makefile.msvc
<br/> M build.win32x86/common/Makefile.msvc.plugin
<br/> M build.win64x64/common/Makefile.msvc
<br/> M build.win64x64/common/Makefile.msvc.plugin
<br/> M platforms/win32/plugins/CameraPlugin/winCameraOps.cpp
<br/><br/> Log Message:
<br/> -----------
<br/> Fix bulding external plugins under the MSVC makefiles (VMLIB in teh right place)
<br/>Use the Microsoft __int64, not int64_t in winCameraOps.cpp.
<br/><br/><br/>
tag:forum.world.st,2006:post-5130317
[OpenSmalltalk/opensmalltalk-vm] ThreadedFFIPlugin throws FFIErrorCoercionFailed when passing 64-bit indexable objects to 64-bit pointer arguments (#569)
2021-06-10T00:36:02Z
2021-06-10T00:36:02Z
David T Lewis
<br /><p></p>
<p>Given the external function defined by the following Squeak method:</p>
<div class="highlight highlight-source-smalltalk"><pre><span class="pl-c1">myFunc:</span> aFloat64Array
<span class="pl-k"><</span><span class="pl-c1">apicall:</span> void <span class="pl-s"><span class="pl-pds">'</span>myFunc<span class="pl-pds">'</span></span> (double<span class="pl-k">*</span>)<span class="pl-k">></span>
<span class="pl-k">^</span> <span class="pl-k">self</span> externalCallFailed</pre></div>
<p>When passing an instance of <code>Float64Array</code> to this method, the FFI plugin throws error code 6 (<code>Could not coerce arguments</code>).<br>
The same can be reproduced in similar scenarios for other 64-bit indexable objects like <code>DoubleWordArray</code> and <code>SignedDoubleWordArray</code> (which ultimately share the same class format anyway).<br>
There were no issues when doing the same using 32-bit indexable objects.</p>
<hr>
<p>As far as I can tell the issue seems to stem from <code>ThreadedFFIPlugin >> ffiAtomicArgByReference:Class:in:</code> which ends with the following code:</p>
<div class="highlight highlight-source-smalltalk"><pre>(atomicType <span class="pl-k"><=</span> <span class="pl-c1">FFITypeDoubleFloat</span>) <span class="pl-k">ifTrue:</span>
[((interpreterProxy <span class="pl-c1">isWords:</span> oop) <span class="pl-k">or</span>: [oopClass <span class="pl-k">=</span> interpreterProxy classByteArray]) <span class="pl-k">ifTrue:</span>
[<span class="pl-k">^</span><span class="pl-k">self</span> <span class="pl-c1">ffiPushPointer:</span> (interpreterProxy <span class="pl-c1">firstIndexableField:</span> oop) <span class="pl-c1">in:</span> calloutState].
(oopClass <span class="pl-k">=</span> interpreterProxy classExternalAddress) <span class="pl-k">ifTrue:</span>
[<span class="pl-k">^</span><span class="pl-k">self</span> <span class="pl-c1">ffiPushPointer:</span> (<span class="pl-k">self</span> <span class="pl-c1">longAt:</span> oop <span class="pl-k">+</span> interpreterProxy baseHeaderSize) <span class="pl-c1">in:</span> calloutState].
isAlien <span class="pl-k">ifTrue:</span>
[<span class="pl-k">^</span><span class="pl-k">self</span> <span class="pl-c1">ffiPushPointer:</span> (<span class="pl-k">self</span> <span class="pl-c1">pointerForOop:</span> (<span class="pl-k">self</span> <span class="pl-c1">startOfData:</span> oop)) <span class="pl-c1">in:</span> calloutState]].
<span class="pl-k">^</span><span class="pl-c1">FFIErrorCoercionFailed</span></pre></div>
<p>While the second line checks 32-bit indexable via <code>isWords:</code> and byte arrays, it seems to be missing a test for <code>isLong64s:</code>.</p>
<hr>
<p>Just in case it's relevant for some reason:</p>
<pre><code>Squeak
latest update: #20467
Image format 68021 (64 bit)
Preferred bytecode set: SistaV1
</code></pre>
<pre><code>Open Smalltalk Cog[Spur] VM [CoInterpreterPrimitives VMMaker.oscog-eem.2940]
Unix built on Jun 9 2021 14:12:17 Compiler: Clang 10.0.0
platform sources revision VM: 202102090434 Date: Mon Feb 8 20:34:38 2021 CommitHash: 9f1b4644e Plugins: 202102090434
CoInterpreter VMMaker.oscog-eem.2940 uuid: 29171f50-756f-4560-8488-ced65f2d4841 Jun 9 2021
StackToRegisterMappingCogit VMMaker.oscog-eem.2940 uuid: 29171f50-756f-4560-8488-ced65f2d4841 Jun 9 2021
</code></pre>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/569" target="_top" rel="nofollow" link="external">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AIJPEW7FLSJPNYJXEPNBHE3TSBTOFANCNFSM46NQWGBA" target="_top" rel="nofollow" link="external">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AIJPEW2RQIKGANKD6LJODFDTSBTOFA5CNFSM46NQWGBKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4NVIRO3Q.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/569",
"url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/569",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>
tag:forum.world.st,2006:post-5130280
[OpenSmalltalk/opensmalltalk-vm] build.win64x64 fails: No rule to make target 'build/vm/ADPCMCodecPlugin.lib' (#568)
2021-06-05T13:30:00Z
2021-06-05T13:30:00Z
David T Lewis
<br /><p></p>
<p>I want to learn about plugin development and intended to start with a VM build first. Using Cygwin 64 bits with mingw64-x86_64-clang, I build from the build.win64x64/squeak.cog.spur directory.</p>
<p>The build fails at this point; notably it is not a compiler error, but a make error:</p>
<pre><code>...
rm -f build/vm/ADPCMCodecPlugin.ignore
make BUILD=build \
-f /cygdrive/c/Squeak/Wincred-Plugin/opensmalltalk-vm/build.win64x64/common/Makefile.plugin \
build/vm/ADPCMCodecPlugin.lib
make[1]: Entering directory '/cygdrive/c/Squeak/Wincred-Plugin/opensmalltalk-vm/build.win64x64/squeak.cog.spur'
make[1]: *** No rule to make target 'build/vm/ADPCMCodecPlugin.lib'. Stop.
make[1]: Leaving directory '/cygdrive/c/Squeak/Wincred-Plugin/opensmalltalk-vm/build.win64x64/squeak.cog.spur'
make: *** [../common/Makefile:280: build/vm/ADPCMCodecPlugin.lib] Error 2
</code></pre>
<p>I think I followed all the instructions of the main README.md and build.win64x64/HowToBuild. What can I do to deal with this issue and get the build going?</p>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/568" target="_top" rel="nofollow" link="external">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AIJPEW3PM25O2LQOJIEACDDTRKCMRANCNFSM46E7DAKA" target="_top" rel="nofollow" link="external">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AIJPEW3EPBOAQPLLQPC6GPTTRKCMRA5CNFSM46E7DAKKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4NTCSXVQ.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/568",
"url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/568",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>
tag:forum.world.st,2006:post-5130176
Reed Solomon plugins & performance slow down
2021-05-30T16:07:36Z
2021-05-30T16:07:36Z
Robert Withers-2
<br />
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<p>Hey all'y'all,</p>
<p>I got the plugins working correctly. Published to Cryptography.
The plugins are attached. Unfortunately profiling indicates a slow
down. The leaves did change from GaloisField methods to
GaloisFieldPoly methods. I will work on pluginizing the GFPoly
methods, such as #evaluateAt: &
#multiplyByMonomialDegree:coefficient:...<br/>
</p>
<p>Here are the results without plugins (135 seconds):</p>
<blockquote>
<p>WITHOUT PLUGINS<br/>
<br/>
- 132032 tallies, 135390 msec.<br/>
<br/>
**Tree**<br/>
--------------------------------<br/>
Process: (40) 57626: nil<br/>
--------------------------------<br/>
<br/>
**Leaves**<br/>
16.9% {22843ms} RSFECGenericGF>>exp:<br/>
9.2% {12450ms} RSFECGenericGF>>maskValue:<br/>
8.6% {11659ms} RSFECGenericGF>>addOrSubtract:by:<br/>
7.2% {9806ms} RSFECGenericGF>>log:<br/>
6.6% {8958ms} RSFECGenericGF>>normalizeIndex:<br/>
4.9% {6578ms} RSFECGenericGF>>multiply:by:<br/>
2.3% {3130ms} RSErasureGalois>>maskValue:<br/>
2.3% {3118ms} RSFECGenericGFPoly>>evaluateAt:<br/>
1.6% {2175ms} RSErasureGalois>>normalizeIndex:<br/>
1.3% {1718ms} RSFECGenericGFPoly>>addOrSubtractPoly:<br/>
1.3% {1702ms}
RSFECGenericGFPoly>>multiplyByMonomialDegree:coefficient:<br/>
1.2% {1606ms} RSErasureGalois>>log:<br/>
1.1% {1516ms} RSErasureGalois>>galoisMultiply:by:<br/>
</p>
</blockquote>
<p>And here are the results with plugins (152 seconds):</p>
<blockquote>
<p>WITH PLUGINS<br/>
<br/>
- 149040 tallies, 152531 msec.<br/>
<br/>
**Tree**<br/>
--------------------------------<br/>
Process: (40) 89223: nil<br/>
--------------------------------<br/>
<br/>
**Leaves**<br/>
27.9% {42565ms}
RSFECGenericGFWithPlugin>>addOrSubtract:by:<br/>
17.3% {26440ms} RSFECGenericGFPoly>>evaluateAt:<br/>
8.5% {12926ms} RSFECGenericGFWithPlugin>>maskValue:<br/>
7.3% {11062ms}
RSFECGenericGFPoly>>multiplyByMonomialDegree:coefficient:<br/>
6.5% {9854ms} RSFECGenericGFPoly>>addOrSubtractPoly:<br/>
5.6% {8598ms} RSFECGenericGFWithPlugin>>multiply:by:<br/>
2.6% {4032ms}
RSErasureGaloisWithPlugin>>galoisMultiply:by:<br/>
2.4% {3601ms} RSErasureGaloisWithPlugin>>addOrSubtract:by:<br/>
2.1% {3137ms} RSErasureGaloisWithPlugin>>maskValue:<br/>
1.6% {2436ms} RSFECGenericGFPoly>>multiplyPoly:<br/>
<br/>
</p>
</blockquote>
<div class="moz-signature">-- <br/>
---<br/>
Kindly,<br/>
Robert<br/>
<br/>
<br/>
</div>
<!--start-attachments--><div class="small"><br/><img src="https://forum.world.st/images/icon_attachment.gif" > <strong>RSErasurePlugin.so</strong> (43K) <a href="https://forum.world.st/attachment/5130176/0/RSErasurePlugin.so" target="_top" rel="nofollow" link="external">Download Attachment</a><br/><img src="https://forum.world.st/images/icon_attachment.gif" > <strong>RSFECPlugin.so</strong> (36K) <a href="https://forum.world.st/attachment/5130176/1/RSFECPlugin.so" target="_top" rel="nofollow" link="external">Download Attachment</a></div><!--end-attachments-->
tag:forum.world.st,2006:post-5130212
[OpenSmalltalk/opensmalltalk-vm] ce0b42: and another one. [ci skip]
2021-06-01T10:44:27Z
2021-06-01T10:44:27Z
Eliot Miranda-3
<br/> Branch: refs/heads/Cog
<br/> Home: <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm</a><br/> Commit: ce0b4204fc994b503091f710c323e10c4bdc137c
<br/> <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ce0b4204fc994b503091f710c323e10c4bdc137c" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/ce0b4204fc994b503091f710c323e10c4bdc137c</a><br/> Author: Eliot Miranda <<a href="/user/SendEmail.jtp?type=node&node=5130212&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>>
<br/> Date: 2021-06-01 (Tue, 01 Jun 2021)
<br/><br/> Changed paths:
<br/> R platforms/unix/vm/feedback.h
<br/><br/> Log Message:
<br/> -----------
<br/> and another one. [ci skip]
<br/><br/><br/>
tag:forum.world.st,2006:post-5130211
[OpenSmalltalk/opensmalltalk-vm] b68608: Nuke unused and empty file. [ci skip]
2021-06-01T10:43:07Z
2021-06-01T10:43:07Z
Eliot Miranda-3
<br/> Branch: refs/heads/Cog
<br/> Home: <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm</a><br/> Commit: b68608ce4a2792204cd42a9351d3251ceb2c31f0
<br/> <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b68608ce4a2792204cd42a9351d3251ceb2c31f0" target="_top" rel="nofollow" link="external">https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b68608ce4a2792204cd42a9351d3251ceb2c31f0</a><br/> Author: Eliot Miranda <<a href="/user/SendEmail.jtp?type=node&node=5130211&i=0" target="_top" rel="nofollow" link="external">[hidden email]</a>>
<br/> Date: 2021-06-01 (Tue, 01 Jun 2021)
<br/><br/> Changed paths:
<br/> R platforms/unix/vm/sqUnixWindow.h
<br/><br/> Log Message:
<br/> -----------
<br/> Nuke unused and empty file. [ci skip]
<br/><br/><br/>