[squeak-dev] New Cog VMs available

Eliot Miranda eliot.miranda at gmail.com
Wed Jun 25 23:13:33 UTC 2014


... 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20140625/6ce0e80f/attachment.htm


More information about the Squeak-dev mailing list