summaryrefslogtreecommitdiff
path: root/pod
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2004-07-16 11:04:37 +0000
committerNicholas Clark <nick@ccl4.org>2004-07-16 11:04:37 +0000
commite90e236463307bd7f53439b91573fe42e9cb8901 (patch)
tree89bf49d9ec83486ed0205849ff8ae782b1c2947e /pod
parentb0bc38e63ed7e7e448fb07e45ee093d3b3d54be8 (diff)
downloadperl-e90e236463307bd7f53439b91573fe42e9cb8901.tar.gz
Encourage compilers to tail call optimise in sv_savepv, sv_savepvn
and sv_savesharedpv. Need to create non-void returning versions of Copy and Zero, as the existing macros deliberately cast to (void) p4raw-id: //depot/perl@23126
Diffstat (limited to 'pod')
-rw-r--r--pod/perlapi.pod30
1 files changed, 30 insertions, 0 deletions
diff --git a/pod/perlapi.pod b/pod/perlapi.pod
index 512ee440b9..fb22429059 100644
--- a/pod/perlapi.pod
+++ b/pod/perlapi.pod
@@ -1554,6 +1554,16 @@ the type. May fail on overlapping copies. See also C<Move>.
=for hackers
Found in file handy.h
+=item CopyD
+
+Like C<Copy> but returns dest. Useful for encouraging compilers to tail-call
+optimise.
+
+ void * CopyD(void* src, void* dest, int nitems, type)
+
+=for hackers
+Found in file handy.h
+
=item Move
The XSUB-writer's interface to the C C<memmove> function. The C<src> is the
@@ -1565,6 +1575,16 @@ the type. Can do overlapping moves. See also C<Copy>.
=for hackers
Found in file handy.h
+=item MoveD
+
+Like C<Move> but returns dest. Useful for encouraging compilers to tail-call
+optimise.
+
+ void * MoveD(void* src, void* dest, int nitems, type)
+
+=for hackers
+Found in file handy.h
+
=item New
The XSUB-writer's interface to the C C<malloc> function.
@@ -1685,6 +1705,16 @@ destination, C<nitems> is the number of items, and C<type> is the type.
=for hackers
Found in file handy.h
+=item ZeroD
+
+Like C<Zero> but returns dest. Useful for encouraging compilers to tail-call
+optimise.
+
+ void * ZeroD(void* dest, int nitems, type)
+
+=for hackers
+Found in file handy.h
+
=back