From: Jarkko Hietaniemi Date: Thu, 21 Jun 2001 20:01:14 +0000 (+0000) Subject: Retract the #10417 mg.c and embed.pl parts because of X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=8fb26106616b06907474b33cfb67b5e1e186bd1a;p=p5sagit%2Fp5-mst-13.2.git Retract the #10417 mg.c and embed.pl parts because of strange SEGVs in 64bit x86 FreeBSD observed by Nicholas Clark. p4raw-id: //depot/perl@10798 --- diff --git a/embed.pl b/embed.pl index 7b97a01..4a9176f 100755 --- a/embed.pl +++ b/embed.pl @@ -1752,7 +1752,7 @@ Apd |int |mg_get |SV* sv Apd |U32 |mg_length |SV* sv Apd |void |mg_magical |SV* sv Apd |int |mg_set |SV* sv -Ap |IV |mg_size |SV* sv +Ap |I32 |mg_size |SV* sv Ap |void |mini_mktime |struct tm *pm p |OP* |mod |OP* o|I32 type p |int |mode_from_discipline|SV* discp @@ -2285,7 +2285,7 @@ s |void |hv_magic_check |HV *hv|bool *needs_copy|bool *needs_store #endif #if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT) -s |void |save_magic |IV mgs_ix|SV *sv +s |void |save_magic |I32 mgs_ix|SV *sv s |int |magic_methpack |SV *sv|MAGIC *mg|char *meth s |int |magic_methcall |SV *sv|MAGIC *mg|char *meth|I32 f \ |int n|SV *val diff --git a/mg.c b/mg.c index 0cf8228..65b2f96 100644 --- a/mg.c +++ b/mg.c @@ -40,7 +40,7 @@ struct magic_state { /* MGS is typedef'ed to struct magic_state in perl.h */ STATIC void -S_save_magic(pTHX_ IV mgs_ix, SV *sv) +S_save_magic(pTHX_ I32 mgs_ix, SV *sv) { MGS* mgs; assert(SvMAGICAL(sv)); @@ -93,7 +93,7 @@ Do magic after a value is retrieved from the SV. See C. int Perl_mg_get(pTHX_ SV *sv) { - IV mgs_ix; + I32 mgs_ix; MAGIC* mg; MAGIC** mgp; int mgp_valid = 0; @@ -135,7 +135,7 @@ Do magic after a value is assigned to the SV. See C. int Perl_mg_set(pTHX_ SV *sv) { - IV mgs_ix; + I32 mgs_ix; MAGIC* mg; MAGIC* nextmg; @@ -175,7 +175,7 @@ Perl_mg_length(pTHX_ SV *sv) for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) { MGVTBL* vtbl = mg->mg_virtual; if (vtbl && vtbl->svt_len) { - IV mgs_ix; + I32 mgs_ix; mgs_ix = SSNEW(sizeof(MGS)); save_magic(mgs_ix, sv); @@ -190,7 +190,7 @@ Perl_mg_length(pTHX_ SV *sv) return len; } -IV +I32 Perl_mg_size(pTHX_ SV *sv) { MAGIC* mg; @@ -199,7 +199,7 @@ Perl_mg_size(pTHX_ SV *sv) for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) { MGVTBL* vtbl = mg->mg_virtual; if (vtbl && vtbl->svt_len) { - IV mgs_ix; + I32 mgs_ix; mgs_ix = SSNEW(sizeof(MGS)); save_magic(mgs_ix, sv); @@ -234,7 +234,7 @@ Clear something magical that the SV represents. See C. int Perl_mg_clear(pTHX_ SV *sv) { - IV mgs_ix; + I32 mgs_ix; MAGIC* mg; mgs_ix = SSNEW(sizeof(MGS)); diff --git a/perlapi.c b/perlapi.c index fc5ca24..b554ed5 100644 --- a/perlapi.c +++ b/perlapi.c @@ -1610,7 +1610,7 @@ Perl_mg_set(pTHXo_ SV* sv) } #undef Perl_mg_size -IV +I32 Perl_mg_size(pTHXo_ SV* sv) { return ((CPerlObj*)pPerl)->Perl_mg_size(sv); diff --git a/pod/perlintern.pod b/pod/perlintern.pod index a0cf47c..6ca016c 100644 --- a/pod/perlintern.pod +++ b/pod/perlintern.pod @@ -153,7 +153,7 @@ Found in file sv.c Decrement the refcnt of each remaining SV, possibly triggering a cleanup. This function may have to be called multiple times to free -SVs which are in complex self-referential heirarchies. +SVs which are in complex self-referential hierarchies. I32 sv_clean_all() diff --git a/proto.h b/proto.h index 0fe6095..411dcb3 100644 --- a/proto.h +++ b/proto.h @@ -480,7 +480,7 @@ PERL_CALLCONV int Perl_mg_get(pTHX_ SV* sv); PERL_CALLCONV U32 Perl_mg_length(pTHX_ SV* sv); PERL_CALLCONV void Perl_mg_magical(pTHX_ SV* sv); PERL_CALLCONV int Perl_mg_set(pTHX_ SV* sv); -PERL_CALLCONV IV Perl_mg_size(pTHX_ SV* sv); +PERL_CALLCONV I32 Perl_mg_size(pTHX_ SV* sv); PERL_CALLCONV void Perl_mini_mktime(pTHX_ struct tm *pm); PERL_CALLCONV OP* Perl_mod(pTHX_ OP* o, I32 type); PERL_CALLCONV int Perl_mode_from_discipline(pTHX_ SV* discp); @@ -1018,7 +1018,7 @@ STATIC void S_hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool *needs_store); #endif #if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT) -STATIC void S_save_magic(pTHX_ IV mgs_ix, SV *sv); +STATIC void S_save_magic(pTHX_ I32 mgs_ix, SV *sv); STATIC int S_magic_methpack(pTHX_ SV *sv, MAGIC *mg, char *meth); STATIC int S_magic_methcall(pTHX_ SV *sv, MAGIC *mg, char *meth, I32 f, int n, SV *val); #endif