This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
On VMS, use the normal executable file extension for the copy of
[perl5.git] / mathoms.c
index d15aec9..708645e 100644 (file)
--- a/mathoms.c
+++ b/mathoms.c
@@ -547,14 +547,12 @@ AV *
 Perl_av_fake(pTHX_ register I32 size, register SV **strp)
 {
     register SV** ary;
-    register AV * const av = (AV*)newSV(0);
-
-    sv_upgrade((SV *)av, SVt_PVAV);
+    register AV * const av = (AV*)newSV_type(SVt_PVAV);
     Newx(ary,size+1,SV*);
     AvALLOC(av) = ary;
     Copy(strp,ary,size,SV*);
     AvREIFY_only(av);
-    SvPV_set(av, (char*)ary);
+    AvARRAY(av) = ary;
     AvFILLp(av) = size - 1;
     AvMAX(av) = size - 1;
     while (size--) {
@@ -1117,6 +1115,11 @@ PP(pp_bit_xor)
     return pp_bit_or();
 }
 
+PP(pp_rv2hv)
+{
+    return Perl_pp_rv2av(aTHX);
+}
+
 U8 *
 Perl_uvuni_to_utf8(pTHX_ U8 *d, UV uv)
 {
@@ -1189,16 +1192,6 @@ Perl_save_I16(pTHX_ I16 *intp)
 }
 
 void
-Perl_save_I8(pTHX_ I8 *bytep)
-{
-    dVAR;
-    SSCHECK(3);
-    SSPUSHINT(*bytep);
-    SSPUSHPTR(bytep);
-    SSPUSHINT(SAVEt_I8);
-}
-
-void
 Perl_save_iv(pTHX_ IV *ivp)
 {
     dVAR;
@@ -1233,17 +1226,6 @@ Perl_save_list(pTHX_ register SV **sarg, I32 maxsarg)
     }
 }
 
-void
-Perl_save_destructor(pTHX_ DESTRUCTORFUNC_NOCONTEXT_t f, void* p)
-{
-    dVAR;
-    SSCHECK(3);
-    SSPUSHDPTR(f);
-    SSPUSHPTR(p);
-    SSPUSHINT(SAVEt_DESTRUCTOR);
-}
-
-
 /*
 =for apidoc sv_usepvn_mg