[svn:ponie] rev 309 - trunk/perl
[email protected] 8 Jul 2005 10:36:33 -0000
| Newsgroups | perl.ponie.changes |
|---|---|
| Message-ID | <[email protected]> |
Author: nicholas
Date: Fri Jul 8 03:36:33 2005
New Revision: 309
Modified:
trunk/perl/embed.fnc
trunk/perl/embed.h
trunk/perl/proto.h
trunk/perl/sv.c
Log:
Shunt the gubbins of sv_2nv into sv_2nv_backend, so that the call can indrect
via the PMC. Don't actually move the code into the PMC directory yet as "cargo
cult", as it's likely to get refactored in blead, and it's also likely that
it's going to get unpicked into separate PMCs.
Modified: trunk/perl/embed.fnc
==============================================================================
--- trunk/perl/embed.fnc (original)
+++ trunk/perl/embed.fnc Fri Jul 8 03:36:33 2005
@@ -704,6 +704,9 @@ Apd |IO* |sv_2io |SV* sv
Amb |IV |sv_2iv |SV* sv
Apd |IV |sv_2iv_flags |SV* sv|I32 flags
Apd |SV* |sv_2mortal |SV* sv
+#if defined(PERL_CORE) || defined(PONIE_CORE)
+po |NV |sv_2nv_backend |SV* sv
+#endif
Apd |NV |sv_2nv |SV* sv
Amb |char* |sv_2pv |SV* sv|STRLEN* lp
Apd |char* |sv_2pvutf8 |SV* sv|STRLEN* lp
Modified: trunk/perl/embed.h
==============================================================================
--- trunk/perl/embed.h (original)
+++ trunk/perl/embed.h Fri Jul 8 03:36:33 2005
@@ -966,6 +966,8 @@
#define sv_2io Perl_sv_2io
#define sv_2iv_flags Perl_sv_2iv_flags
#define sv_2mortal Perl_sv_2mortal
+#if defined(PERL_CORE) || defined(PONIE_CORE)
+#endif
#define sv_2nv Perl_sv_2nv
#define sv_2pvutf8 Perl_sv_2pvutf8
#define sv_2pvbyte Perl_sv_2pvbyte
@@ -3453,6 +3455,10 @@
#define sv_2io(a) Perl_sv_2io(aTHX_ a)
#define sv_2iv_flags(a,b) Perl_sv_2iv_flags(aTHX_ a,b)
#define sv_2mortal(a) Perl_sv_2mortal(aTHX_ a)
+#if defined(PERL_CORE) || defined(PONIE_CORE)
+#ifdef PERL_CORE
+#endif
+#endif
#define sv_2nv(a) Perl_sv_2nv(aTHX_ a)
#define sv_2pvutf8(a,b) Perl_sv_2pvutf8(aTHX_ a,b)
#define sv_2pvbyte(a,b) Perl_sv_2pvbyte(aTHX_ a,b)
Modified: trunk/perl/proto.h
==============================================================================
--- trunk/perl/proto.h (original)
+++ trunk/perl/proto.h Fri Jul 8 03:36:33 2005
@@ -672,6 +672,9 @@ PERL_CALLCONV IO* Perl_sv_2io(pTHX_ SV*
/* PERL_CALLCONV IV sv_2iv(pTHX_ SV* sv); */
PERL_CALLCONV IV Perl_sv_2iv_flags(pTHX_ SV* sv, I32 flags);
PERL_CALLCONV SV* Perl_sv_2mortal(pTHX_ SV* sv);
+#if defined(PERL_CORE) || defined(PONIE_CORE)
+PERL_CALLCONV NV Perl_sv_2nv_backend(pTHX_ SV* sv);
+#endif
PERL_CALLCONV NV Perl_sv_2nv(pTHX_ SV* sv);
/* PERL_CALLCONV char* sv_2pv(pTHX_ SV* sv, STRLEN* lp); */
PERL_CALLCONV char* Perl_sv_2pvutf8(pTHX_ SV* sv, STRLEN* lp);
Modified: trunk/perl/sv.c
==============================================================================
--- trunk/perl/sv.c (original)
+++ trunk/perl/sv.c Fri Jul 8 03:36:33 2005
@@ -2095,18 +2095,10 @@ Perl_sv_2uv_flags(pTHX_ register SV *sv,
return SvIsUV(sv) ? SvUVX(sv) : (UV)SvIVX(sv);
}
-/*
-=for apidoc sv_2nv
-
-Return the num value of an SV, doing any necessary string or integer
-conversion, magic etc. Normally used via the C<SvNV(sv)> and C<SvNVx(sv)>
-macros.
-
-=cut
-*/
+/* The code that the PMC calls back to (for now). */
NV
-Perl_sv_2nv(pTHX_ register SV *sv)
+Perl_sv_2nv_backend(pTHX_ register SV *sv)
{
if (!sv)
return 0.0;
@@ -2304,6 +2296,23 @@ Perl_sv_2nv(pTHX_ register SV *sv)
return SvNVX(sv);
}
+
+/*
+=for apidoc sv_2nv
+
+Return the num value of an SV, doing any necessary string or integer
+conversion, magic etc. Normally used via the C<SvNV(sv)> and C<SvNVx(sv)>
+macros.
+
+=cut
+*/
+
+NV
+Perl_sv_2nv(pTHX_ SV *sv)
+{
+ return Perl_sv_2nv_backend(aTHX_ sv);
+}
+
/* asIV(): extract an integer from the string value of an SV.
* Caller must validate PVX */