[Vm-dev] Re: [squeak-dev] new Cog VMs available

Frank Shearar frank.shearar at gmail.com
Wed Mar 6 10:58:29 UTC 2013


On 5 March 2013 22:45, 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.

Build scripts duly updated.

frank


More information about the Vm-dev mailing list