summaryrefslogtreecommitdiff
path: root/ext/XS
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-11-12 20:22:28 +0000
committerNicholas Clark <nick@ccl4.org>2006-11-12 20:22:28 +0000
commit34482cd6991b4dc2f3757baff881b50e6de59592 (patch)
tree5681b8a9ab0f79d75d000c2ec937ea05b5095d92 /ext/XS
parent51a9ea209c379f02dc1ea497fd0d6bbc3b43052e (diff)
downloadperl-34482cd6991b4dc2f3757baff881b50e6de59592.tar.gz
Change 24714 was arguably over-ambitious, in that non-core modules
can't be expected to know that sv_setsv() may now not "really" copy a scalar. So arrange things so that COW of shared hash key scalars is only done for calls within the the PERL_CORE. p4raw-id: //depot/perl@29248
Diffstat (limited to 'ext/XS')
-rw-r--r--ext/XS/APItest/APItest.pm3
-rw-r--r--ext/XS/APItest/APItest.xs6
-rw-r--r--ext/XS/APItest/Makefile.PL2
3 files changed, 9 insertions, 2 deletions
diff --git a/ext/XS/APItest/APItest.pm b/ext/XS/APItest/APItest.pm
index 959125779b..668c7a94ac 100644
--- a/ext/XS/APItest/APItest.pm
+++ b/ext/XS/APItest/APItest.pm
@@ -21,6 +21,7 @@ our @EXPORT = qw( print_double print_int print_long
G_KEEPERR G_NODEBUG G_METHOD
exception mycroak strtab
my_cxt_getint my_cxt_getsv my_cxt_setint my_cxt_setsv
+ sv_setsv_cow_hashkey_core sv_setsv_cow_hashkey_notcore
);
# from cop.h
@@ -34,7 +35,7 @@ sub G_KEEPERR() { 16 }
sub G_NODEBUG() { 32 }
sub G_METHOD() { 64 }
-our $VERSION = '0.10';
+our $VERSION = '0.11';
bootstrap XS::APItest $VERSION;
diff --git a/ext/XS/APItest/APItest.xs b/ext/XS/APItest/APItest.xs
index d83e32f216..8e9d2ffa55 100644
--- a/ext/XS/APItest/APItest.xs
+++ b/ext/XS/APItest/APItest.xs
@@ -556,3 +556,9 @@ my_cxt_setsv(sv)
SvREFCNT_dec(MY_CXT.sv);
my_cxt_setsv_p(sv _aMY_CXT);
SvREFCNT_inc(sv);
+
+bool
+sv_setsv_cow_hashkey_core()
+
+bool
+sv_setsv_cow_hashkey_notcore()
diff --git a/ext/XS/APItest/Makefile.PL b/ext/XS/APItest/Makefile.PL
index e49da36e08..76aa60ac35 100644
--- a/ext/XS/APItest/Makefile.PL
+++ b/ext/XS/APItest/Makefile.PL
@@ -9,7 +9,7 @@ WriteMakefile(
($] >= 5.005 ? ## Add these new keywords supported since 5.005
(ABSTRACT_FROM => 'APItest.pm', # retrieve abstract from module
AUTHOR => 'Tim Jenness <t.jenness@jach.hawaii.edu>, Christian Soeller <csoelle@mph.auckland.ac.nz>, Hugo van der Sanden <hv@crypt.compulink.co.uk>') : ()),
- 'C' => ['exception.c'],
+ 'C' => ['exception.c', 'core.c', 'notcore.c'],
'OBJECT' => '$(BASEEXT)$(OBJ_EXT) $(O_FILES)',
'LIBS' => [''], # e.g., '-lm'
'DEFINE' => '', # e.g., '-DHAVE_SOMETHING'