[Vm-dev] Re: [squeak-dev] Compiler

Colin Putney colin at wiresong.com
Wed Jun 20 04:17:09 UTC 2012


On Tue, Jun 19, 2012 at 6:36 PM, Eliot Miranda <eliot.miranda at gmail.com> wrote:

> Even more interesting would be metadata that allowed the discovery of inlined blocks so that e.g. mustBeBoolean is instead handled by dynamically creating closures and the relevant ifTrue:ifFalse: message so that these can be inlined for true/false but reimplemented for other objects.

Ah, interesting. That would be even better than the [aBlock value]
pattern in VW, effectively a PIC in the bytecode.

> Well, my refactoring of the compiler to move instruction encoding out of ParseNode general instances and into BytecodeEncoder takes the pressure off as far as changing the bytecode set.  There's still a need for refactoring in InstructionStream and CompiledMethod to handle bytecode set change.  It is really a BytecodeEncoder or InstructionStream that understands how a bytecode set works, and not CompiledMethod (in e.g. readsField etc).

Ok, it sounds to me like we're somewhere between 1. and 3. There's no
need for any big architectural changes to the compiler, but some would
be good. Thanks.

Colin


More information about the Squeak-dev mailing list