[Vm-dev] VM Maker: VMMaker.oscogSPC-eem.2126.mcz

Ben Coman btc at openinworld.com
Thu Feb 9 23:56:14 UTC 2017


On Fri, Feb 10, 2017 at 2:02 AM,  <commits at source.squeak.org> wrote:
> Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
> http://source.squeak.org/VMMaker/VMMaker.oscogSPC-eem.2126.mcz
>
> ==================== Summary ====================
>
> Name: VMMaker.oscogSPC-eem.2126
> Author: eem
> Time: 9 February 2017, 10:01:28.598009 am
> UUID: 25551143-fc0d-478f-a483-6df83405e90a
> Ancestors: VMMaker.oscogSPC-eem.2125
>
> Cogit:
> Refactor fixupAt: & initializeFixupAt: to take bytecode PCs not indexes.  Add fixupAtIndex: as the method that takes an index.
>
> =============== Diff against VMMaker.oscogSPC-eem.2125 ===============
>
> + !Cogit commentStamp: 'eem 2/9/2017 10:01' prior: 0!
> - !Cogit commentStamp: 'eem 4/6/2015 15:56' prior: 0!
>   I am the code generator for the Cog VM.  My job is to produce machine code versions of methods for faster execution and to manage inline caches for faster send performance.  I can be tested in the current image using my class-side in-image compilation facilities.  e.g. try
>
>         StackToRegisterMappingCogit genAndDis: (Integer >> #benchFib)
>
>   I have concrete subclasses that implement different levels of optimization:
>         SimpleStackBasedCogit is the simplest code generator.
>
>         StackToRegisterMappingCogit is the current production code generator  It defers pushing operands
>         to the stack until necessary and implements a register-based calling convention for low-arity sends.
>
>         StackToRegisterMappingCogit is an experimental code generator with support for counting
>         conditional branches, intended to support adaptive optimization


Should StackToRegisterMappingCogit be duplicated twice there?

cheers -ben


More information about the Vm-dev mailing list