[squeak-dev] new Cog VMs available

Eliot Miranda eliot.miranda at gmail.com
Fri Mar 8 17:43:00 UTC 2013


Hi Chris,

    can you package up a reproducible case and point me to the image?  By
reproducible I mean save the image with a doit that invokes the code that
creates the bug, e.g.

Smalltalk saveAs: 'crash'.
Gofer it
        url: 'http://www.squeaksource.com/MetacelloRepository';
        package: 'ConfigurationOfFFI';
        load.
(Smalltalk at: #ConfigurationOfFFI) project stableVersion load.


On Wed, Mar 6, 2013 at 4:06 PM, Chris Muller <asqueaker at gmail.com> wrote:

> Thanks Eliot.  Unfortunately, for me my app still crashes instantly with:
>
> -----------
> [ ... big stack trace ... ]
> stack page bytes 4096 available headroom 3300 minimum unused headroom 2596
>
>         (last object overwritten)
> -----------
>
> 2640 is stable for me (as long as I don't use a write-barrier).
>
>
>
> On Tue, Mar 5, 2013 at 4:45 PM, Eliot Miranda <eliot.miranda at gmail.com>
> wrote:
> > at http://www.mirandabanda.org/files/Cog/VM/VM.r2697/
> >
> > CogVM binaries as per VMMaker.oscog-eem.270/r2697
> >
> > Fix the become issue where methods that are identical are failing
> > the code test because their penultimate literals are different objects.
> > Add a flag "cmUsesPenultimateLit" to jitted methods, stealing bits
> > from stackCheckOffset (which was way larger than needed).
> > Shrink stackCheckOffset to 12 bits (still an order of magnitude larger
> > than needed) and add an error check on assigning it.
> > Also add a check for max method size (2^16-1 bytes) and refuse to
> > jit a method that generates too much code.
> > When comparing code, use the cmUsesPenultimateLit flag to decide
> > if comparison includes penultimate lit or not.
> >
> > This is mildly insane, but the VM really doesn't know about the
> penultimate
> > literal and it shouldn't depend on knowing it can be ignored.  Note that
> the
> > CoInterpreter knows about the last literal; it uses this in supersends.
> > With this hack, Pharo's condenseSources works.
> >
> > Fix bug in primitiveClone/cloneContext: that causes the copy to be a word
> > short.
> > Use isPointerNonInt: and isContextNonInt: in a few places.
> >
> > Implement unknownBytecode.  Send unknownBytecode to the activeContext on
> > unknown bytecode if the selector is in the specialObjectsArray.
> >
> > Fix page size bug in platforms/Cross/vm/sqHeapMap.c.
> >
> > --
> > best,
> > Eliot
> >
> >
> >
>
>


-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20130308/144e82a4/attachment.htm


More information about the Squeak-dev mailing list