further speeding up of is_utf8_string()
[p5sagit/p5-mst-13.2.git] / pod / perlintern.pod
index 50f3d51..006c66c 100644 (file)
@@ -135,6 +135,16 @@ compiling pad (lvalue). Note that C<SvCUR> is hijacked for this purpose.
 =for hackers
 Found in file pad.h
 
+=item PAD_COMPNAME_GEN_set
+
+Sets the generation number of the name at offset C<po> in the current
+ling pad (lvalue) to C<gen>.  Note that C<SvCUR_set> is hijacked for this purpose.
+
+       STRLEN  PAD_COMPNAME_GEN_set(PADOFFSET po, int gen)
+
+=for hackers
+Found in file pad.h
+
 =item PAD_COMPNAME_OURSTASH
 
 Return the stash associated with an C<our> variable.
@@ -400,7 +410,20 @@ created even in rvalue contexts.
 C<flags> is not used at present but available for future extension to
 allow selecting particular classes of magical variable.
 
-       bool    is_gv_magical(char *name, STRLEN len, U32 flags)
+Currently assumes that C<name> is NUL terminated (as well as len being valid).
+This assumption is met by all callers within the perl core, which all pass
+pointers returned by SvPV.
+
+       bool    is_gv_magical(const char *name, STRLEN len, U32 flags)
+
+=for hackers
+Found in file gv.c
+
+=item is_gv_magical_sv
+
+Returns C<TRUE> if given the name of a magical GV. Calls is_gv_magical.
+
+       bool    is_gv_magical_sv(SV *name, U32 flags)
 
 =for hackers
 Found in file gv.c
@@ -527,7 +550,7 @@ Found in file pad.c
 
 dump the contents of a CV
 
-       void    cv_dump(CV *cv, char *title)
+       void    cv_dump(const CV *cv, const char *title)
 
 =for hackers
 Found in file pad.c
@@ -570,7 +593,7 @@ GvSTASH to that value
 
 If fake, it means we're cloning an existing entry
 
-       PADOFFSET       pad_add_name(char *name, HV* typestash, HV* ourstash, bool clone)
+       PADOFFSET       pad_add_name(const char *name, HV* typestash, HV* ourstash, bool clone)
 
 =for hackers
 Found in file pad.c
@@ -603,7 +626,7 @@ Check for duplicate declarations: report any of:
        as C<ourstash>
 C<is_our> indicates that the name to check is an 'our' declaration
 
-       void    pad_check_dup(char* name, bool is_our, HV* ourstash)
+       void    pad_check_dup(const char* name, bool is_our, const HV* ourstash)
 
 =for hackers
 Found in file pad.c
@@ -627,7 +650,7 @@ then comes back down, adding fake entries as it goes. It has to be this way
 because fake namesvs in anon protoypes have to store in NVX the index into
 the parent pad.
 
-       PADOFFSET       pad_findlex(char *name, CV* cv, U32 seq, int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
+       PADOFFSET       pad_findlex(const char *name, const CV* cv, U32 seq, int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
 
 =for hackers
 Found in file pad.c
@@ -640,7 +663,7 @@ the complications introduced by eval). If the name is found in an outer pad,
 then a fake entry is added to the current pad.
 Returns the offset in the current pad, or NOT_IN_PAD on failure.
 
-       PADOFFSET       pad_findmy(char* name)
+       PADOFFSET       pad_findmy(const char* name)
 
 =for hackers
 Found in file pad.c
@@ -693,10 +716,10 @@ Found in file pad.c
 =item pad_push
 
 Push a new pad frame onto the padlist, unless there's already a pad at
-this depth, in which case don't bother creating a new one.
-If has_args is true, give the new pad an @_ in slot zero.
+this depth, in which case don't bother creating a new one.  Then give
+the new pad an @_ in slot zero.
 
-       void    pad_push(PADLIST *padlist, int depth, int has_args)
+       void    pad_push(PADLIST *padlist, int depth)
 
 =for hackers
 Found in file pad.c