[pypy-dev] Why is there a separate ExecutionContext?
Rocco Moretti
roccomoretti at netscape.net
Thu Mar 6 03:19:22 CET 2003
"logistix" <vze55z8s at verizon.net> wrote:
>Would it be semantically clearer if PyFrames got an executioncontext
>object in the constructor instead of the space object? Space could
>still be accessed via frame.ec.space. Frame.space.getexecutioncontext()
>seems like you're running in circles.
Actually, in the interest of generality, I'd argue that ExecutionContexts
should not contain a link to the object space - it should be a per frame
value. If you think of a future time when multiple ObjSpaces coexist in
the same interpreter, a frame in one ObjSpace will be able to call a frame
in another ObjSpace. Since a function in one ObjSpace can call a function
in a different ObjSpace, the ObjSpace for the ExecutionContext is not
constant.
The trick in calling across ObjSpaces is marshaling/demarshaling
arguments/return values. For now we can deal with it by requiring function
calls either to be in the same ObjSpace, or by .wrap()ing and then .unwrap
()ing the values. A more general mechanism can be worked out when we have
more than one non-trivial object space.
-Rocco
__________________________________________________________________
The NEW Netscape 7.0 browser is now available. Upgrade now! http://channels.netscape.com/ns/browsers/download.jsp
Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/
More information about the Pypy-dev
mailing list