[Vm-dev] New Cog VMs available

Eliot Miranda eliot.miranda at gmail.com
Fri Jan 2 04:28:31 UTC 2015


...at http://www.mirandabanda.org/files/Cog/VM/VM.r3205/.

Happy New Year!

CogVM source as per VMMaker.oscog-eem.1008/r3205

Send cannotReturn for sideways return attemps when there's an
unwind-protect.
Old code would erroneously answer unwind-protect even if home could'nt be
found.

e.g. This should raise cannot return:

| b |
b := [ ^ 42 ].
[ [b value] ensure: [1] ] fork.
Processor yield

just as this does:

| b |
b := [ ^ 42 ].
[ b value ] fork.
Processor yield

Speed up non-local return processing by using the fact that 98% of the time
returns are within the same page.  The search for the home context following
finding an unwind is unnecessary iff the home is married and on the same
page.

Refactor commonReturn to eiminate CoInterpreter's version, moving the
divergence into maybeReturnToMachineCodeFrame.

Ensure search for home through the block's closure uses
followField:ofObject:.

(related) Revisit the Sista bug fix for followed contexts during scavenging
in
VMMaker.oscog-eem.913 of 24 October 2014.  Split isWidowedContext: into a
more
careful version, isWidowedContextDuringGC: for use only during scavenging.

Win32:
Nuke obsolete RCS vrsion info

Spur:
Fix argument count slips in three primitives.
Check for sufficient memory in two-way become.

All:
Fix checking of boolean arg in primitiveArrayBecomeOneWayCopyHash.

Make primitiveSlotAt[Put] cope with non-pointer objects.

Change the pixel-touch-pixel prim to allow LPI arguments for the color
values

Update the ScratchPlugin bilinear scaling prim to include the correct alpha
channel value for non-transparent output pixels.

No longer build or upload the Newspeak V3 VMs, now superseded by Spur.

Use the gcc/clang built-ins for CAS and atomic increment if available.

-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20150101/cf714ce5/attachment.htm


More information about the Vm-dev mailing list