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