[squeak-dev] new Cog VMs available

Chris Muller asqueaker at gmail.com
Thu Mar 7 00:06:21 UTC 2013


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
>
>
>


More information about the Squeak-dev mailing list