[Vm-dev] #becomeUncompact not longer works in Cog/Stack VMs
Tobias Pape
Das.Linux at gmx.de
Sun May 8 06:38:32 UTC 2011
Am 2011-05-07 um 16:15 schrieb Andreas Raab:
> On 5/7/2011 9:25, Tobias Pape wrote:
>>> No. It does /not/ need to be fixed. As I said earlier it is *absurd* to throw away performance for the ability to change certain classes to become uncompact.
>> When it worked in pre-cog VMs, why should it break in Cog?
>
> Because Cog is all about performance. And there's a big performance difference for some classes when they are changed to be non-compact and Eliot didn't want to add the complexity it would take to support both a fast compact, and a slow non-compact version of the code. Therefore, some classes cannot be made non-compact in Cog, and that is a perfectly good tradeoff. If you really need these classes to be non-compact (please remind me why exactly that would matter to you)
Only two versions of object headers.
not three.
> then use the interpreter. In order to get performance some trade-offs are necessary and this is one of them.
>
> Cheers,
> - Andreas
>
So Long,
-Tobias
More information about the Vm-dev
mailing list