diff options
author | Father Chrysostomos <sprout@cpan.org> | 2012-10-16 18:04:28 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2012-10-16 21:51:46 -0700 |
commit | 8771da69db30134352181c38401c7e50753a7ee8 (patch) | |
tree | 10c5d26ce8e3d86763deb53b5d0a1e68d860ea90 /embedvar.h | |
parent | 61c8799482f9e533904bfe832138c24064709f7d (diff) | |
download | perl-8771da69db30134352181c38401c7e50753a7ee8.tar.gz |
Used pad name lists for pad ids
I added pad IDs so that a pad could record which pad it closes over,
to avoid problems with closures closing over the wrong pad, resulting
in crashes or bizarre copies. These pad IDs were shared between
clones of the same pad.
In commit 9ef8d56, for efficiency I made clones of the same closure
share the same pad name list.
It has just occurred to be that each padlist containing the same pad
name list also has the same pad ID, so we can just use the pad name
list itself as the ID.
This makes padlists 32 bits smaller and eliminates PL_pad_generation
from the interpreter struct.
Diffstat (limited to 'embedvar.h')
-rw-r--r-- | embedvar.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/embedvar.h b/embedvar.h index dc2583dd85..65c2ff1617 100644 --- a/embedvar.h +++ b/embedvar.h @@ -255,7 +255,6 @@ #define PL_pad_reset_pending (vTHX->Ipad_reset_pending) #define PL_padix (vTHX->Ipadix) #define PL_padix_floor (vTHX->Ipadix_floor) -#define PL_padlist_generation (vTHX->Ipadlist_generation) #define PL_parser (vTHX->Iparser) #define PL_patchlevel (vTHX->Ipatchlevel) #define PL_peepp (vTHX->Ipeepp) |