At 01:24 PM 11/16/2001 +0000, Dave Mitchell wrote:
>* I think that the cache of a PMC ought to be more flexible, eg replace
>
>   DPOINTER *data;
>   union {
>     INTVAL int_val;
>     FLOATVAL num_val;
>     DPOINTER *struct_val;
>   } cache;
>
>with something like
>
>   union {
>     INTVAL int_val;
>     FLOATVAL num_val;
>     DPOINTER *struct_val;
>   } cache[2];
>
>(note the '[2]')
>
>and where the 2 may become 3 or whatever depending on later profiling.

The problem with that is we have two entries that are as big as the biggest 
member when we're probably not going to have two of anything. Floats can be 
pretty big.

>There shopuld be a pair of flag bits for each cache entry to tell the
>GC whether that cache entry holds a GC-able ptr, and if so, whether it
>is to a PMC or a buffer.

I was going to toss the string pointer entirely for GC reasons and just 
hang 'em off the data pointer.

                                        Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to