[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