ARMv6 stack.v3 and stack.spur VMs updated accordingly.

Doug


On Mar 5, 2015, at 13:22, Eliot Miranda <eliot.miranda@gmail.com> wrote:

Hi All,

    recent instability seems to have been cured.  Please find new VMs at http://www.mirandabanda.org/files/Cog/VM/VM.r3266.  For Squeakers, these are close to release candidates for the upcoming 5.0 release.  I have one last modification to do with free space handling on start-up in Spur (the current VMs over-allocate free space), and maybe a minor speed-up of the LargeIntegersPlugin; other than that I intend bug fixes only.


CogVM binaries as per VMMaker.oscog-eem.1085/r3266

Avoid duplication in fetching active process and scheduler in process-switch machinery.

Take advantage of endianness for simpler large integer initialization.

Simplify primitiveMakePoint. Include primitiveMethodXray to introspect on Cog state of methods.

Refactor positive32BitIntegerFor: and signed32BitIntegerFor: in the realization that these
reduce to essentially integerObjectOf: in 64-bit Spur.  The idea is to inline if in 64-bit Spur
but not if in the 32-bit VMs.  Add notOption: processing to allow excluding
noInlineSigned32BitIntegerFor: et al.  Add hasSixtyFourBitImmediates to no longer assume that
wordSize = 8 implies 64-bit immediates.

Use positiveMachineIntegerFor: in place of positive32BitIntegerFor: in some plugins.

Simplify primitiveDisplayString given isArray:.
Simplify two B3DAcceleratorPlugin prims given topRemappableOop and isArray:

Slang:
Changes to type inferrence/propagation and inlining to better support 64-bit Spur.
See change log of VMMaker.oscog in 1067-1085 range for exhaustive details.
--
best,
Eliot