... at��http://www.mirandabanda.org/files/Cog/VM/VM.r3018/.

The main difference here is fixes to memory segment allocation on Spur. ��Linux and Mac OS can now grow the heap to 2.9Gb or there abouts, and Win XP can grow to 1.8Gb. ��I'm interested in reports on other Windows versions that don't have XP's 2Gb user process address space limit.

Here's my test script:
| them |
them := OrderedCollection new.
[[them addLast: (ByteArray new: 16000000).
��Transcript cr; print: (Smalltalk vmParameterAt: 3) / (1024*1024.0) maxDecimalPlaces: 1; flush] repeat]
on: OutOfMemory
do: [:ex| 2 to: them size by: 2 do: [:i| them at: i put: nil. Smalltalk garbageCollect]].
Transcript cr; print: (Smalltalk vmParameterAt: 3) / (1024*1024.0) maxDecimalPlaces: 1; flush.
them := nil.
Smalltalk garbageCollect.
Transcript cr; print: (Smalltalk vmParameterAt: 3) / (1024*1024.0) maxDecimalPlaces: 1; flush

And the README is:
CogVM binaries as per VMMaker.oscog-eem.779/r3018.

Rewrite memory allocation on linux for Spur. ��Arrange that the heap can grow
above 2Gb without any large initial alloc.

Rewrite platforms/unix/vm/sqUnixSpurMemory.c to stand alone. ��Use it in place
of sqMacMemory.c with Spur on Mac OS. ��Now Spur can grow the heap to 2.9Gb on
both linux (CentOS 5.3) and Mac OS X (10.6.8).

Rewrite Spur memory allocation on win32 similarly to unix. ��Can now allocate
up to 1.8Gb on Windows XP (which has a 2Gb address space limit). ��Add a flag
to indicate if the win32 exe is running as a console app and don't write to
the in-window console if so.

Fix some sign issues with free space tallying to allow Spur to shrink memory
and answer via primitiveVMParameter heap sizes above 2Gb.

Add longPrintInstancesOf:/longPrintInstancesWithClassIndex: for debugging.

Suggest reading a suitable README when the linux VM fails to spawn the heartbeat
thread.

Add parameter 54 on Spur to answer totalFreeOldSpace.

--
best,
Eliot