New Cog VMs available

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

New Cog VMs available

Eliot Miranda-2

CogVM binaries as per VMMaker.oscog-eem.1088/r3268

Squeak 5.0 release candidate.

Speed up normalize methods in LargeIntegersPlugin
by cacheing result of firstIndexableField.

Simplify integer conversion routines by adding byteSizeOfBytes: which assumes
argument is byte indexable (as LargeIntegers are).  Make sure integer conversion
routines consistently answer 0 on failure.  Use 4-byte access where possible.

Remove use of popInteger in AsFloat and integer comparison primitives (popStack
idiom is inefficient since multiplke writes as opposed to the single write in
the pop:thenPush: idiom).

Revise SpurMemoryManager>>isClassOfNonImm:equalTo:compactClassIndex: for
better dead code elimination.
--
best,
Eliot


Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-dev] New Cog VMs available

douglas mcpherson
I’ve also updated ARMv7 v3 and spur stack VMs.

Note:
I built the v3 and spur VMs on my new RPi2, which has a quad-core ARMv7. As Tim has already pointed out, these work even when building with FAST_BITBLT enhancements enabled. The cool thing is they also work on the BeagleBone Black ARMv7 (but building on the BBB with FAST_BITBLT enabled resulted in a segfault at image startup .. no idea why). And they appear to work on the older ARMv6 RPi too, so I’ll suspend building the v6 versions unless they’re needed. I haven’t tested on the Parallella yet.

Doug

On Mar 11, 2015, at 22:41, Eliot Miranda <[hidden email]> wrote:


CogVM binaries as per VMMaker.oscog-eem.1088/r3268

Squeak 5.0 release candidate.

Speed up normalize methods in LargeIntegersPlugin
by cacheing result of firstIndexableField.

Simplify integer conversion routines by adding byteSizeOfBytes: which assumes
argument is byte indexable (as LargeIntegers are).  Make sure integer conversion
routines consistently answer 0 on failure.  Use 4-byte access where possible.

Remove use of popInteger in AsFloat and integer comparison primitives (popStack
idiom is inefficient since multiplke writes as opposed to the single write in
the pop:thenPush: idiom).

Revise SpurMemoryManager>>isClassOfNonImm:equalTo:compactClassIndex: for
better dead code elimination.
--
best,
Eliot



Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-dev] New Cog VMs available

douglas mcpherson

On Mar 12, 2015, at 00:59, Douglas McPherson <[hidden email]> wrote:

I’ve also updated ARMv7 v3 and spur stack VMs.

Note:
I built the v3 and spur VMs on my new RPi2, which has a quad-core ARMv7. As Tim has already pointed out, these work even when building with FAST_BITBLT enhancements enabled. The cool thing is they also work on the BeagleBone Black ARMv7 (but building on the BBB with FAST_BITBLT enabled resulted in a segfault at image startup .. no idea why). And they appear to work on the older ARMv6 RPi too, so I’ll suspend building the v6 versions unless they’re needed. I haven’t tested on the Parallella yet.


The new ARMv7 builds are also confirmed to work on Parallella. 


Doug

On Mar 11, 2015, at 22:41, Eliot Miranda <[hidden email]> wrote:


CogVM binaries as per VMMaker.oscog-eem.1088/r3268

Squeak 5.0 release candidate.

Speed up normalize methods in LargeIntegersPlugin
by cacheing result of firstIndexableField.

Simplify integer conversion routines by adding byteSizeOfBytes: which assumes
argument is byte indexable (as LargeIntegers are).  Make sure integer conversion
routines consistently answer 0 on failure.  Use 4-byte access where possible.

Remove use of popInteger in AsFloat and integer comparison primitives (popStack
idiom is inefficient since multiplke writes as opposed to the single write in
the pop:thenPush: idiom).

Revise SpurMemoryManager>>isClassOfNonImm:equalTo:compactClassIndex: for
better dead code elimination.
--
best,
Eliot





Reply | Threaded
Open this post in threaded view
|

Re: [Vm-dev] Re: [squeak-dev] [Pharo-dev] New Cog VMs available

Eliot Miranda-2
Thanks Doug!

On Thu, Mar 12, 2015 at 9:38 AM, Douglas McPherson <[hidden email]> wrote:
 

On Mar 12, 2015, at 00:59, Douglas McPherson <[hidden email]> wrote:

I’ve also updated ARMv7 v3 and spur stack VMs.

Note:
I built the v3 and spur VMs on my new RPi2, which has a quad-core ARMv7. As Tim has already pointed out, these work even when building with FAST_BITBLT enhancements enabled. The cool thing is they also work on the BeagleBone Black ARMv7 (but building on the BBB with FAST_BITBLT enabled resulted in a segfault at image startup .. no idea why). And they appear to work on the older ARMv6 RPi too, so I’ll suspend building the v6 versions unless they’re needed. I haven’t tested on the Parallella yet.


The new ARMv7 builds are also confirmed to work on Parallella. 


Doug

On Mar 11, 2015, at 22:41, Eliot Miranda <[hidden email]> wrote:


CogVM binaries as per VMMaker.oscog-eem.1088/r3268

Squeak 5.0 release candidate.

Speed up normalize methods in LargeIntegersPlugin
by cacheing result of firstIndexableField.

Simplify integer conversion routines by adding byteSizeOfBytes: which assumes
argument is byte indexable (as LargeIntegers are).  Make sure integer conversion
routines consistently answer 0 on failure.  Use 4-byte access where possible.

Remove use of popInteger in AsFloat and integer comparison primitives (popStack
idiom is inefficient since multiplke writes as opposed to the single write in
the pop:thenPush: idiom).

Revise SpurMemoryManager>>isClassOfNonImm:equalTo:compactClassIndex: for
better dead code elimination.
--
best,
Eliot







--
best,
Eliot