[Python-Dev] Silly pystones question
email@example.com (Skip Montanaro)
Mon, 13 Aug 2001 09:59:34 -0500
Tim> You're a developer, Skip: it's time you learned how to use CVS
Thanks for the pointer to the CVS browsing stuff. In my own defense, I
wrote that note while I was way offline in a rural cottage overlooking Lake
Michigan, so I couldn't run my usual "cvs annotate". ;-)
Tim> The evidence there says it's always been this way.
Tim> Until The Rules change, any global (or builtin) is subject to
Tim> rebinding at any time, even if there's no STORE_GLOBAL in sight.
Tim> The "danger" across call sites is clear enough (a Python global is
Tim> like a C extern), but in the presence of threads another thread can
Tim> reach into the module and rebind its globals between any pair of
Tim> byte codes (which C worms around via X3J11 refusing to say anthing
Tim> at all about threads <0.9 wink>).
Yes, I understand this. I was thinking (initially, at least) of only
applying such access optimizations in functions that themselves don't set
the global in question. For example, in pystones, any references to the
various Proc* functions would be candidates for such optimizations. This is
only to make my life easier.
The real thing here is that while I can "see" what I want with global
tracking, I'm a bit at a loss how to implement it cleanly. I think what I
need to do at this point is write a PEP and solicit some feedback on