...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