=item PAD_CLONE_VARS
X<PAD_CLONE_VARS>
-|CLONE_PARAMS* param
Clone the state variables associated with running and compiling pads.
- void PAD_CLONE_VARS(PerlInterpreter *proto_perl \)
+ void PAD_CLONE_VARS(PerlInterpreter *proto_perl, CLONE_PARAMS* param)
=for hackers
Found in file pad.h
=back
-=head1 Functions in file pp_ctl.c
-
-
-=over 8
-
-=item find_runcv
-X<find_runcv>
-
-Locate the CV corresponding to the currently executing sub or eval.
-If db_seqp is non_null, skip CVs that are in the DB package and populate
-*db_seqp with the cop sequence number at the point that the DB:: code was
-entered. (allows debuggers to eval in the scope of the breakpoint rather
-than in the scope of the debugger itself).
-
- CV* find_runcv(U32 *db_seqp)
-
-=for hackers
-Found in file pp_ctl.c
-
-
-=back
-
=head1 GV Functions
=over 8
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
=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
=over 8
+=item mro_get_linear_isa_c3
+X<mro_get_linear_isa_c3>
+
+Returns the C3 linearization of @ISA
+the given stash. The return value is a read-only AV*.
+C<level> should be 0 (it is used internally in this
+function's recursion).
+
+You are responsible for C<SvREFCNT_inc()> on the
+return value if you plan to store it anywhere
+semi-permanently (otherwise it might be deleted
+out from under you the next time the cache is
+invalidated).
+
+ AV* mro_get_linear_isa_c3(HV* stash, I32 level)
+
+=for hackers
+Found in file mro.c
+
+=item mro_get_linear_isa_dfs
+X<mro_get_linear_isa_dfs>
+
+Returns the Depth-First Search linearization of @ISA
+the given stash. The return value is a read-only AV*.
+C<level> should be 0 (it is used internally in this
+function's recursion).
+
+You are responsible for C<SvREFCNT_inc()> on the
+return value if you plan to store it anywhere
+semi-permanently (otherwise it might be deleted
+out from under you the next time the cache is
+invalidated).
+
+ AV* mro_get_linear_isa_dfs(HV* stash, I32 level)
+
+=for hackers
+Found in file mro.c
+
=item mro_isa_changed_in
X<mro_isa_changed_in>
{ 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
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
=back
+=head1 SV-Body Allocation
+
+=over 8
+
+=item sv_2num
+X<sv_2num>
+
+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 *const sv)
+
+=for hackers
+Found in file sv.c
+
+
+=back
+
=head1 Unicode Support
=over 8