Dan Sugalski writes:
: That's what I was thinking about, and it also makes the ops smaller.

Er, I don't think so, if you're talking about what I think you're talking
about.

: (We got a warning flag field in every op as of 5.6.0, IIRC)

No, they're only stored once per statement, as far as I recall.  This
is a great way to handle all sorts of lexically scoped things, provided
they don't require finer specificity than a statement.  Each new
statement just rams a new cop pointer into curcop and you're done with
it.  Think of it as a funny kind of vtbl pointer.  You potentially
change a whole bunch of semantics by one pointer assignment.  Any
opcode within the statement can look up anything it likes in the
current lexical context merely by following the curcop pointer back.

Larry

Reply via email to