UCD 5.1.0
[p5sagit/p5-mst-13.2.git] / pod / perlintern.pod
index 67ff429..daa62a9 100644 (file)
@@ -421,7 +421,7 @@ perl on VMS). This code used to be inline, but now perl uses C<File::Glob>
 this glob starter is only used by miniperl during the build process.
 Moving it away shrinks pp_hot.c; shrinking pp_hot.c helps speed perl up.
 
-       PerlIO* start_glob(SV* pattern, IO *io)
+       PerlIO* start_glob(SV *tmpglob, IO *io)
 
 =for hackers
 Found in file doio.c
@@ -433,12 +433,25 @@ Found in file doio.c
 
 =over 8
 
-=item magic_sethint
-X<magic_sethint>
+=item magic_clearhint
+X<magic_clearhint>
 
 Triggered by a delete from %^H, records the key to
 C<PL_compiling.cop_hints_hash>.
 
+       int     magic_clearhint(SV* sv, MAGIC* mg)
+
+=for hackers
+Found in file mg.c
+
+=item magic_sethint
+X<magic_sethint>
+
+Triggered by a store to %^H, records the key/value pair to
+C<PL_compiling.cop_hints_hash>.  It is assumed that hints aren't storing
+anything that would need a deep copy.  Maybe we should warn if we find a
+reference.
+
        int     magic_sethint(SV* sv, MAGIC* mg)
 
 =for hackers
@@ -597,6 +610,8 @@ to be generated in evals, such as
 
     { my $x = 1; sub f { eval '$x'} } f();
 
+For state vars, SVf_PADSTALE is overloaded to mean 'not yet initialised'
+
        AV *    CvPADLIST(CV *cv)
 
 =for hackers
@@ -996,7 +1011,7 @@ X<sv_add_arena>
 Given a chunk of memory, link it to the head of the list of arenas,
 and split it into a list of free SVs.
 
-       void    sv_add_arena(char* ptr, U32 size, U32 flags)
+       void    sv_add_arena(char *const ptr, const U32 size, const U32 flags)
 
 =for hackers
 Found in file sv.c
@@ -1048,7 +1063,7 @@ Return an SV with the numeric value of the source SV, doing any necessary
 reference or overload conversion.  You must use the C<SvNUM(sv)> macro to
 access this function.
 
-       SV*     sv_2num(SV* sv)
+       SV*     sv_2num(SV *const sv)
 
 =for hackers
 Found in file sv.c