Ludovic Courtès wrote:

Hi,

First, thank you for providing GNU Lightning.  I think it's a very
valuable tool and it ought to be used more widely.

I have a few questions about how it is used in GNU Smalltalk -- you
might want to redirect it to some more appropriate mailing list or
such.  Basically:  does GNU Smalltalk basically compiles bytecode to
native code, or does it also perform specialization or some such, as in
Psyco for instance[1]?

Yes, it specializes code for each instance, but it is used very little right now -- in fact, the only cases in which the methods are different are:

- if the receiver is SmallInteger

- if the method is one of the primitives as #basicAt:, #basicAt:put:, #basicSize, #==, #class in Object or String.

Plus, arithmetic on SmallIntegers is inlined in the method.

The code generator is mostly template-based, with some small optimizations to improve register allocation.

Paolo


_______________________________________________
help-smalltalk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to