In perl.git, the branch sprout/copstash-broken has been created
<http://perl5.git.perl.org/perl.git/commitdiff/15db03531c1f665c973ce3420e420a5cbb9b0d65?hp=0000000000000000000000000000000000000000>
at 15db03531c1f665c973ce3420e420a5cbb9b0d65 (commit)
- Log -----------------------------------------------------------------
commit 15db03531c1f665c973ce3420e420a5cbb9b0d65
Author: Father Chrysostomos <[email protected]>
Date: Sun Jun 3 17:15:48 2012 -0700
Broken attempt at storing CopSTASH in the pad
This seemed like a nice simple approach, but it got more and more com-
plicated as I worked on it.
Juggling pads in pp_caller so that PL_curpad has the right value for
CopSTASH to look at seemed a bit overkill. And I never got that
bit working.
Iâve given up and will try another approach.
M cop.h
M embed.fnc
M embed.h
M gv.c
M op.c
M pad.c
M pp_ctl.c
M proto.h
M scope.h
M util.c
commit 10877c4aafc11a3a08e2d6bcfb61907ed76a1850
Author: Father Chrysostomos <[email protected]>
Date: Sat Jun 2 14:50:22 2012 -0700
Make CopSTASH(&PL_compiling) use PL_curstash
This might make things more complicated right now, but it allows for
future refactorings to save memory,¹ fix bugs,² and possibly simplify
the code.³ Some of this may not be necessary, but CopSTASH_set is
currently called on &PL_compiling. If all such uses are removed, we
could simplify the macros.
¹ By no longer allocating a separate PV for every COP under threads,
but making all COPs with the same stash refer to the same pad entry.
&PL_compiling canât do that, so it has to use PL_curstash.
² If stashes get moved around, eval "__PACKAGE__" behaves differently
with and without threads.
³ By removing stashpv_hvname_match and CopSTASH_len.
M cop.h
M op.c
M perl.c
M scope.h
M sv.c
commit f42888a336630142e34770063e45ca9016975f6b
Author: Father Chrysostomos <[email protected]>
Date: Sat Jun 2 19:03:52 2012 -0700
pad.c: Remove obsolete comment
We now store the UTF8-ness in the pad, as of 5.15.4 or so.
M pad.c
-----------------------------------------------------------------------
--
Perl5 Master Repository