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