[squeak-dev] New Cog VMs available

Eliot Miranda eliot.miranda at gmail.com
Sun Jun 29 04:02:05 UTC 2014


...in http://www.mirandabanda.org/files/Cog/VM/VM.r3021/.

In particular, these fix VM crashes when running the AllocationTest in Spur.

CogVM source as per VMMaker.oscog-eem.787/r3021

Fix mixup of old & young spaces in primitiveVMParameter, and
comment some new parameters.

Fix return types for positive[64/32]BitValueOf:.
positive32BitValueOf: must answer a usqInt,
positive64BitValueOf: must answer a usqLong.

Use positiveMachineIntegerValueOf: to decode arg in primitiveNewWithArg
and ensure positiveMachineIntegerValueOf: is inlined there-in.

win32:
Set the IMAGE_FILE_LARGE_ADDRESS_AWARE flag in the image header of the
Windows
executables to allow e.g. Spur to allocate more than 2Gb.

Spur:
Fix sign and overflow issues in instantiating larger objects
and determining the size of large instances.

Fix some freeChunk accesses that used fetchPointer:ofObject:.

Cog ARM:
Fix prim return for compileInterpreterPrimitive: on RISCs.  On return from
interpreter prim, ret pc is in instructionPointer and must return to whence
it came, which is the stack on CISC and the LinkReg on RISC.  Hence
restoring
the receiver reg requires different offsets in the two cases.

Rework the rotatable quick constant logic a little and clean up users.
Fix concretizeMoveRXbrR to do byte not word loads.
Fix concretizeConditionalJumpLong: to actually be conditional. Oops.

Correct mistaken callersaved reg stuff for ARM
Fix concretizedRetN to not over-bump the SP

The method abort trampolines shouldn't pop anything, especially
now we have the pushLinkreg: arg to manage the LinkReg more easily.

Slang:
Rip out the UseRightShiftForDivide optimization.  It gets unsigned division
wrong, and C compilers can and will optimize this correctly themselves.


-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20140628/d33a8b78/attachment.htm


More information about the Squeak-dev mailing list