[Vm-dev] VM Maker: VMMaker.oscogSPC-eem.2126.mcz
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:
> ==================== 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
> 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?
More information about the Vm-dev