Revert "Move Perl_newAV() from mathoms to av.h"

This reverts commit 6a3ea4b452fdfc6bab52ec7179d25af3c115f8ee.
This commit is contained in:
Karl Williamson 2025-04-19 17:00:26 -06:00 committed by Karl Williamson
parent e3f0f47eb6
commit 316d8ea841
5 changed files with 17 additions and 8 deletions

3
av.h
View File

@ -236,8 +236,7 @@ to fit one element without extending:
*/
#define Perl_newAV(mTHX) MUTABLE_AV(Perl_newSV_type(aTHX_ SVt_PVAV))
#define newAV() MUTABLE_AV(newSV_type(SVt_PVAV))
#define newAV_mortal() MUTABLE_AV(newSV_type_mortal(SVt_PVAV))
#define newAV_alloc_x(size) av_new_alloc(size,0)
#define newAV_alloc_xz(size) av_new_alloc(size,1)

View File

@ -2176,7 +2176,7 @@ Xdp |CV * |newATTRSUB_x |I32 floor \
|NULLOK OP *attrs \
|NULLOK OP *block \
|bool o_is_gv
ARdmp |AV * |newAV
AMRbdp |AV * |newAV
ARdm |AV * |newAV_alloc_x |SSize_t size
ARdm |AV * |newAV_alloc_xz |SSize_t size
ARdp |AV * |newAVav |NULLOK AV *oav

View File

@ -410,7 +410,6 @@
# define newANONSUB(a,b,c) Perl_newANONSUB(aTHX_ a,b,c)
# define newARGDEFELEMOP(a,b,c) Perl_newARGDEFELEMOP(aTHX_ a,b,c)
# define newASSIGNOP(a,b,c,d) Perl_newASSIGNOP(aTHX_ a,b,c,d)
# define newAV() Perl_newAV(aTHX)
# define newAVREF(a) Perl_newAVREF(aTHX_ a)
# define newAVav(a) Perl_newAVav(aTHX_ a)
# define newAVhv(a) Perl_newAVhv(aTHX_ a)

View File

@ -135,6 +135,16 @@ Perl_sv_nounlocking(pTHX_ SV *sv)
PERL_UNUSED_ARG(sv);
}
AV *
Perl_newAV(pTHX)
{
return MUTABLE_AV(newSV_type(SVt_PVAV));
/* sv_upgrade does AvREAL_only():
AvALLOC(av) = 0;
AvARRAY(av) = NULL;
AvMAX(av) = AvFILLp(av) = -1; */
}
void
Perl_save_freesv(pTHX_ SV *sv)
{

9
proto.h generated
View File

@ -2790,10 +2790,6 @@ PERL_CALLCONV CV *
Perl_newATTRSUB_x(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block, bool o_is_gv);
#define PERL_ARGS_ASSERT_NEWATTRSUB_X
/* PERL_CALLCONV AV *
Perl_newAV(pTHX)
__attribute__warn_unused_result__; */
PERL_CALLCONV OP *
Perl_newAVREF(pTHX_ OP *o)
__attribute__warn_unused_result__;
@ -6000,6 +5996,11 @@ Perl_is_utf8_char_buf(const U8 *buf, const U8 *buf_end);
# define PERL_ARGS_ASSERT_IS_UTF8_CHAR_BUF \
assert(buf); assert(buf_end)
PERL_CALLCONV AV *
Perl_newAV(pTHX)
__attribute__warn_unused_result__;
# define PERL_ARGS_ASSERT_NEWAV
PERL_CALLCONV IO *
Perl_newIO(pTHX)
__attribute__warn_unused_result__;