New Cog VMs available
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
I have one last modification to do with free space handling on start-up in Spur (the current VMs over-allocate free space), ...
If its on start-up, does that mean I'll need to start and then immediately save my image for the free-space to be freed in the saved-state of the image? I assume not. :)
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 <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
Thanks Doug! On Fri, Mar 6, 2015 at 9:28 AM, Douglas McPherson <djm1329@san.rr.com> wrote:
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
-- best, Eliot
participants (3)
-
Chris Muller -
Douglas McPherson -
Eliot Miranda