On Mon, Apr 16, 2012 at 8:32 PM, David Jeske <[email protected]> wrote:

> On Mon, Apr 16, 2012 at 4:49 PM, Jonathan S. Shapiro <[email protected]>wrote:
>
>> I came to it from a simple question: How do we know when two instances of
>> something like List('a) are free to use the same underlying implementation?
>>
>
> It seems to me that the importance of this becomes less significant in the
> face of JIT and polymorphic-inline-caches, since the inlined inner loop
> will have both the list iteraction and the type specialized data handling.
>

The shape information is what allows us to know that the same
implementation of CONS can be used for all boxed types. It is the thing
that tells us that we may have already *done* the JIT work.

Granted, the case is not compelling for CONS, because CONS is small enough
to inline. But there are other examples where significantly larger bits of
code turn out not to care about the type of the object on which they
operate, or (equally good) care only in an arm's-length way that insulates
them from any need to perform type-specific code generation.

shap
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to