Dan Sugalski <[EMAIL PROTECTED]> wrote: > load_global $P1, ['foo'; 'bar'] '$baz' > load_global $P2, ['foo'; 'bar'] '$xyzzy'
> The difference there being that, rather than having two separate > constant keys we have one constant key and two string constants. This > should result in less memory usage and a faster startup time for > bytecode that accesses globals (which should pretty much be all of > it). I already commented on the last one: Above syntax is hmmm - strange (bracketed access on nothing doesn't really fit). So why not use a scheme, that matches current syntax: getinterp $P1 # (or) get_namespace PMC set $P2, $P1['foo'; 'bar'; '$baz'] # get var and (optimized for multiple access) set $P3, $P1['foo'; 'bar'] # get foo::bar namespace set $P2, $P3['$baz'] # get var This needs a bit of work (CSE) and eventually one more register, but makes it usable for all multi-keyed opcodes - no special syntax is needed, just a namespace PMC. Anyway - my original question was on attributes: how are these accessed? leo