[Python-Dev] Why is Bytecode the way it is?
Robert Brewer
fumanchu at amor.org
Thu Jul 8 18:23:56 CEST 2004
Paul Prescod wrote:
> >>> def foo(a):
> ... b = a + 5
> ... return b
>
> Why does the RETURN_VALUE opcode have to return something from the
> stack? Why not have a RETURN_VAR opcode that would directly return a
> variable or constant? (a leading bit could indicate whether to look in
> the const or var tuple).
I notice that your example could be rewritten to return directly from
the stack. Perhaps the 'code' module could grow an .optimize function or
submodule...?
> And as long as we are talking about referring to things more directly,
> wouldn't it be possible to refer to constants by pointer rather than
> indirecting through the index? You'd have to fix up pointers when you
> first loaded the code but only once per function.
Then all our fancy bytecode hacks would have to redirect the pointers
back into the index again. ;)
Robert Brewer
MIS
Amor Ministries
fumanchu at amor.org
More information about the Python-Dev
mailing list