Skip to content

Commit

Permalink
replace all instances of PERL_IMPLICIT_CONTEXT with MULTIPLICITY
Browse files Browse the repository at this point in the history
Since the removal of PERL_OBJECT
(acfe0ab) PERL_IMPLICIT_CONTEXT and
MULTIPLICITY have been synonymous and they're being used interchangeably.

To simplify the code, this commit replaces all instances of
PERL_IMPLICIT_CONTEXT with MULTIPLICITY.

PERL_IMPLICIT_CONTEXT will stay defined for compatibility with XS
modules.
  • Loading branch information
xenu committed Jun 9, 2021
1 parent 44e4059 commit 6e512bc
Show file tree
Hide file tree
Showing 30 changed files with 220 additions and 269 deletions.
4 changes: 2 additions & 2 deletions NetWare/Makefile
Expand Up @@ -570,7 +570,7 @@ USE_MULTI = define
!ENDIF

!IF "$(USE_MULTI)" != "undef"
BUILDOPT = $(BUILDOPT) -DPERL_IMPLICIT_CONTEXT
BUILDOPT = $(BUILDOPT) -DMULTIPLICITY
!ENDIF

!IF "$(USE_IMP_SYS)" != "undef"
Expand All @@ -588,7 +588,7 @@ ARCHNAME = NetWare-$(PROCESSOR_ARCHITECTURE)
!ENDIF

!IF "$(USE_MULTI)" != "undef"
ADD_BUILDOPT = $(ADD_BUILDOPT) -DPERL_IMPLICIT_CONTEXT
ADD_BUILDOPT = $(ADD_BUILDOPT) -DMULTIPLICITY
!ENDIF

!IF "$(USE_IMP_SYS)" != "undef"
Expand Down
2 changes: 1 addition & 1 deletion XSUB.h
Expand Up @@ -484,7 +484,7 @@ Rethrows a previously caught exception. See L<perlguts/"Exception Handling">.
# define VTBL_amagicelem &PL_vtbl_amagicelem
#endif

#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_GET_CONTEXT) && !defined(PERL_CORE)
#if defined(MULTIPLICITY) && !defined(PERL_NO_GET_CONTEXT) && !defined(PERL_CORE)
# undef aTHX
# undef aTHX_
# define aTHX PERL_GET_THX
Expand Down
2 changes: 1 addition & 1 deletion deb.c
Expand Up @@ -24,7 +24,7 @@
#define PERL_IN_DEB_C
#include "perl.h"

#if defined(PERL_IMPLICIT_CONTEXT)
#if defined(MULTIPLICITY)
void
Perl_deb_nocontext(const char *pat, ...)
{
Expand Down
4 changes: 2 additions & 2 deletions embed.fnc
Expand Up @@ -700,7 +700,7 @@ fTpre |void |noperl_die|NN const char* pat|...
#if defined(WIN32)
Tore |void |win32_croak_not_implemented|NN const char * fname
#endif
#if defined(PERL_IMPLICIT_CONTEXT)
#if defined(MULTIPLICITY)
AdfTrp |void |croak_nocontext|NULLOK const char* pat|...
AdfTrp |OP* |die_nocontext |NULLOK const char* pat|...
AfTp |void |deb_nocontext |NN const char* pat|...
Expand Down Expand Up @@ -3538,7 +3538,7 @@ pTd |bool|quadmath_format_needed|NN const char* format
: Used in mg.c, sv.c
pe |void |my_clearenv

#ifdef PERL_IMPLICIT_CONTEXT
#ifdef MULTIPLICITY
Apo |void* |my_cxt_init |NN int *indexp|size_t size
#endif
#if defined(PERL_IN_UTIL_C)
Expand Down
48 changes: 24 additions & 24 deletions embed.h
Expand Up @@ -89,14 +89,14 @@
#define ck_entersub_args_list(a) Perl_ck_entersub_args_list(aTHX_ a)
#define ck_entersub_args_proto(a,b,c) Perl_ck_entersub_args_proto(aTHX_ a,b,c)
#define ck_entersub_args_proto_or_list(a,b,c) Perl_ck_entersub_args_proto_or_list(aTHX_ a,b,c)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define ck_warner Perl_ck_warner
#define ck_warner_d Perl_ck_warner_d
#endif
#define clear_defarray(a,b) Perl_clear_defarray(aTHX_ a,b)
#define cop_fetch_label(a,b,c) Perl_cop_fetch_label(aTHX_ a,b,c)
#define cop_store_label(a,b,c,d) Perl_cop_store_label(aTHX_ a,b,c,d)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define croak Perl_croak
#endif
#define croak_memory_wrap Perl_croak_memory_wrap
Expand All @@ -121,7 +121,7 @@
#define cv_undef(a) Perl_cv_undef(aTHX_ a)
#define cx_dump(a) Perl_cx_dump(aTHX_ a)
#define cxinc() Perl_cxinc(aTHX)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define deb Perl_deb
#endif
#define debop(a) Perl_debop(aTHX_ a)
Expand All @@ -130,7 +130,7 @@
#define debstackptrs() Perl_debstackptrs(aTHX)
#define delimcpy Perl_delimcpy
#define despatch_signals() Perl_despatch_signals(aTHX)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define die Perl_die
#endif
#define die_sv(a) Perl_die_sv(aTHX_ a)
Expand Down Expand Up @@ -158,7 +158,7 @@
#define dump_all() Perl_dump_all(aTHX)
#define dump_eval() Perl_dump_eval(aTHX)
#define dump_form(a) Perl_dump_form(aTHX_ a)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define dump_indent Perl_dump_indent
#endif
#define dump_packsubs(a) Perl_dump_packsubs(aTHX_ a)
Expand All @@ -178,7 +178,7 @@
#define foldEQ_latin1 Perl_foldEQ_latin1
#define foldEQ_locale Perl_foldEQ_locale
#define foldEQ_utf8_flags(a,b,c,d,e,f,g,h,i) Perl_foldEQ_utf8_flags(aTHX_ a,b,c,d,e,f,g,h,i)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define form Perl_form
#endif
#define free_tmps() Perl_free_tmps(aTHX)
Expand Down Expand Up @@ -296,13 +296,13 @@
#define lex_stuff_pvn(a,b,c) Perl_lex_stuff_pvn(aTHX_ a,b,c)
#define lex_stuff_sv(a,b) Perl_lex_stuff_sv(aTHX_ a,b)
#define lex_unstuff(a) Perl_lex_unstuff(aTHX_ a)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define load_module Perl_load_module
#endif
#define looks_like_number(a) Perl_looks_like_number(aTHX_ a)
#define magic_dump(a) Perl_magic_dump(aTHX_ a)
#define markstack_grow() Perl_markstack_grow(aTHX)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define mess Perl_mess
#endif
#define mess_sv(a,b) Perl_mess_sv(aTHX_ a,b)
Expand Down Expand Up @@ -384,7 +384,7 @@
#define newSVnv(a) Perl_newSVnv(aTHX_ a)
#define newSVpv(a,b) Perl_newSVpv(aTHX_ a,b)
#define newSVpv_share(a,b) Perl_newSVpv_share(aTHX_ a,b)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define newSVpvf Perl_newSVpvf
#endif
#define newSVpvn(a,b) Perl_newSVpvn(aTHX_ a,b)
Expand Down Expand Up @@ -580,7 +580,7 @@
#define sv_catpv(a,b) Perl_sv_catpv(aTHX_ a,b)
#define sv_catpv_flags(a,b,c) Perl_sv_catpv_flags(aTHX_ a,b,c)
#define sv_catpv_mg(a,b) Perl_sv_catpv_mg(aTHX_ a,b)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define sv_catpvf Perl_sv_catpvf
#define sv_catpvf_mg Perl_sv_catpvf_mg
#endif
Expand Down Expand Up @@ -671,7 +671,7 @@
#define sv_setpv(a,b) Perl_sv_setpv(aTHX_ a,b)
#define sv_setpv_bufsize(a,b,c) Perl_sv_setpv_bufsize(aTHX_ a,b,c)
#define sv_setpv_mg(a,b) Perl_sv_setpv_mg(aTHX_ a,b)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define sv_setpvf Perl_sv_setpvf
#define sv_setpvf_mg Perl_sv_setpvf_mg
#endif
Expand Down Expand Up @@ -772,11 +772,11 @@
#define vverify(a) Perl_vverify(aTHX_ a)
#define vwarn(a,b) Perl_vwarn(aTHX_ a,b)
#define vwarner(a,b,c) Perl_vwarner(aTHX_ a,b,c)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define warn Perl_warn
#endif
#define warn_sv(a) Perl_warn_sv(aTHX_ a)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define warner Perl_warner
#endif
#define whichsig_pv(a) Perl_whichsig_pv(aTHX_ a)
Expand Down Expand Up @@ -839,11 +839,7 @@
#define sys_intern_dup(a,b) Perl_sys_intern_dup(aTHX_ a,b)
# endif
#endif
#if defined(MYMALLOC)
#define dump_mstats(a) Perl_dump_mstats(aTHX_ a)
#define get_mstats(a,b,c) Perl_get_mstats(aTHX_ a,b,c)
#endif
#if defined(PERL_IMPLICIT_CONTEXT)
#if defined(MULTIPLICITY)
#define croak_nocontext Perl_croak_nocontext
#define deb_nocontext Perl_deb_nocontext
#define die_nocontext Perl_die_nocontext
Expand All @@ -864,6 +860,10 @@
#define warn_nocontext Perl_warn_nocontext
#define warner_nocontext Perl_warner_nocontext
#endif
#if defined(MYMALLOC)
#define dump_mstats(a) Perl_dump_mstats(aTHX_ a)
#define get_mstats(a,b,c) Perl_get_mstats(aTHX_ a,b,c)
#endif
#if defined(PERL_USE_3ARG_SIGHANDLER)
#define csighandler Perl_csighandler
#endif
Expand Down Expand Up @@ -1003,7 +1003,7 @@
#define put_charclass_bitmap_innards_invlist(a,b) S_put_charclass_bitmap_innards_invlist(aTHX_ a,b)
#define put_code_point(a,b) S_put_code_point(aTHX_ a,b)
#define put_range(a,b,c,d) S_put_range(aTHX_ a,b,c,d)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define re_indentf Perl_re_indentf
#endif
#define regdump_extflags(a,b) S_regdump_extflags(aTHX_ a,b)
Expand All @@ -1013,7 +1013,7 @@
# if defined(PERL_IN_REGEXEC_C)
#define debug_start_match(a,b,c,d,e) S_debug_start_match(aTHX_ a,b,c,d,e)
#define dump_exec_pos(a,b,c,d,e,f,g) S_dump_exec_pos(aTHX_ a,b,c,d,e,f,g)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define re_exec_indentf Perl_re_exec_indentf
#endif
# endif
Expand Down Expand Up @@ -1144,7 +1144,7 @@
#define get_regex_charset_name S_get_regex_charset_name
# endif
# if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define re_printf Perl_re_printf
#endif
#define regprop(a,b,c,d,e) Perl_regprop(aTHX_ a,b,c,d,e)
Expand Down Expand Up @@ -1472,7 +1472,7 @@
#define sv_len_utf8_nomg(a) Perl_sv_len_utf8_nomg(aTHX_ a)
#define sv_resetpvn(a,b,c) Perl_sv_resetpvn(aTHX_ a,b,c)
#define sv_sethek(a,b) Perl_sv_sethek(aTHX_ a,b)
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
#define tied_method Perl_tied_method
#endif
#define tmps_grow_p(a) Perl_tmps_grow_p(aTHX_ a)
Expand Down Expand Up @@ -2080,7 +2080,7 @@
an extra argument but grab the context pointer using the macro
dTHX.
*/
#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_SHORT_NAMES)
#if defined(MULTIPLICITY) && !defined(PERL_NO_SHORT_NAMES)
# define croak Perl_croak_nocontext
# define deb Perl_deb_nocontext
# define die Perl_die_nocontext
Expand All @@ -2098,7 +2098,7 @@

#endif /* !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) */

#if !defined(PERL_IMPLICIT_CONTEXT)
#if !defined(MULTIPLICITY)
/* undefined symbols, point them back at the usual ones */
# define Perl_croak_nocontext Perl_croak
# define Perl_deb_nocontext Perl_deb
Expand Down
24 changes: 1 addition & 23 deletions embedvar.h
Expand Up @@ -16,30 +16,8 @@
* Edit those files and run 'make regen_headers' to effect changes.
*/

/* (Doing namespace management portably in C is really gross.) */

/*
The following combinations of MULTIPLICITY and PERL_IMPLICIT_CONTEXT
are supported:
1) none
2) MULTIPLICITY # supported for compatibility
3) MULTIPLICITY && PERL_IMPLICIT_CONTEXT
All other combinations of these flags are errors.
only #3 is supported directly, while #2 is a special
case of #3 (supported by redefining vTHX appropriately).
*/

#if defined(MULTIPLICITY)
/* cases 2 and 3 above */

# if defined(PERL_IMPLICIT_CONTEXT)
# define vTHX aTHX
# else
# define vTHX PERL_GET_INTERP
# endif

# define vTHX aTHX
#define PL_AboveLatin1 (vTHX->IAboveLatin1)
#define PL_Assigned_invlist (vTHX->IAssigned_invlist)
#define PL_CCC_non0_non230 (vTHX->ICCC_non0_non230)
Expand Down
2 changes: 1 addition & 1 deletion ext/File-Glob/Glob.pm
Expand Up @@ -35,7 +35,7 @@ $EXPORT_TAGS{bsd_glob} = [@{$EXPORT_TAGS{glob}}];

@EXPORT_OK = (@{$EXPORT_TAGS{'glob'}}, 'csh_glob');

$VERSION = '1.34';
$VERSION = '1.35';

sub import {
require Exporter;
Expand Down
2 changes: 1 addition & 1 deletion ext/File-Glob/bsd_glob.c
Expand Up @@ -181,7 +181,7 @@ static int match(Char *, Char *, Char *, int);
static void qprintf(const char *, Char *);
#endif /* GLOB_DEBUG */

#ifdef PERL_IMPLICIT_CONTEXT
#ifdef MULTIPLICITY
static Direntry_t * my_readdir(DIR*);

static Direntry_t *
Expand Down
4 changes: 2 additions & 2 deletions intrpvar.h
Expand Up @@ -926,12 +926,12 @@ PERLVARI(I, globhook, globhook_t, NULL)
# define PERL_LAST_5_18_0_INTERP_MEMBER Iglobhook
#endif

#ifdef PERL_IMPLICIT_CONTEXT
#ifdef MULTIPLICITY
PERLVARI(I, my_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */
PERLVARI(I, my_cxt_size, int, 0) /* size of PL_my_cxt_list */
#endif

#if defined(PERL_IMPLICIT_CONTEXT) || defined(PERL_DEBUG_READONLY_COW)
#if defined(MULTIPLICITY) || defined(PERL_DEBUG_READONLY_COW)
/* For use with the memory debugging code in util.c. This is used only in
* DEBUGGING builds (as long as the relevant structure is defined), but
* defining it in non-debug builds too means that we retain binary
Expand Down
6 changes: 3 additions & 3 deletions makedef.pl
Expand Up @@ -117,9 +117,9 @@ BEGIN
}
}

$define{PERL_IMPLICIT_CONTEXT} ||=
$define{MULTIPLICITY} ||=
$define{USE_ITHREADS} ||
$define{MULTIPLICITY} ;
$define{PERL_IMPLICIT_CONTEXT} ;

if ($define{USE_ITHREADS} && $ARGS{PLATFORM} ne 'win32' && $ARGS{PLATFORM} ne 'netware') {
$define{USE_REENTRANT_API} = 1;
Expand Down Expand Up @@ -427,7 +427,7 @@ sub readvar {
);
}

unless ($define{'PERL_IMPLICIT_CONTEXT'}) {
unless ($define{'MULTIPLICITY'}) {
++$skip{$_} foreach qw(
PL_my_cxt_index
PL_my_cxt_list
Expand Down
4 changes: 2 additions & 2 deletions malloc.c
Expand Up @@ -238,7 +238,7 @@
#include "EXTERN.h"
#define PERL_IN_MALLOC_C
#include "perl.h"
#if defined(PERL_IMPLICIT_CONTEXT)
#if defined(MULTIPLICITY)
# define croak Perl_croak_nocontext
# define croak2 Perl_croak_nocontext
# define warn Perl_warn_nocontext
Expand Down Expand Up @@ -292,7 +292,7 @@
} STMT_END
#endif

#ifdef PERL_IMPLICIT_CONTEXT
#ifdef MULTIPLICITY
# define PERL_IS_ALIVE aTHX
#else
# define PERL_IS_ALIVE TRUE
Expand Down
4 changes: 2 additions & 2 deletions mathoms.c
Expand Up @@ -511,7 +511,7 @@ Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...)

/* Easier to special case this here than in embed.pl. (Look at what it
generates for proto.h) */
#ifdef PERL_IMPLICIT_CONTEXT
#ifdef MULTIPLICITY
PERL_ARGS_ASSERT_FPRINTF_NOCONTEXT;
#endif

Expand All @@ -528,7 +528,7 @@ Perl_printf_nocontext(const char *format, ...)
va_list arglist;
int ret = 0;

#ifdef PERL_IMPLICIT_CONTEXT
#ifdef MULTIPLICITY
PERL_ARGS_ASSERT_PRINTF_NOCONTEXT;
#endif

Expand Down
4 changes: 2 additions & 2 deletions op.c
Expand Up @@ -8948,7 +8948,7 @@ Perl_load_module(pTHX_ U32 flags, SV *name, SV *ver, ...)
va_end(args);
}

#ifdef PERL_IMPLICIT_CONTEXT
#ifdef MULTIPLICITY
void
Perl_load_module_nocontext(U32 flags, SV *name, SV *ver, ...)
{
Expand Down Expand Up @@ -12184,7 +12184,7 @@ Perl_newXS_len_flags(pTHX_ const char *name, STRLEN len,
}
CvISXSUB_on(cv);
CvXSUB(cv) = subaddr;
#ifndef PERL_IMPLICIT_CONTEXT
#ifndef MULTIPLICITY
CvHSCXT(cv) = &PL_stack_sp;
#else
PoisonPADLIST(cv);
Expand Down
4 changes: 2 additions & 2 deletions perl.c
Expand Up @@ -1280,7 +1280,7 @@ perl_destruct(pTHXx)
PL_regex_pad = NULL;
#endif

#ifdef PERL_IMPLICIT_CONTEXT
#ifdef MULTIPLICITY
/* the entries in this list are allocated via SV PVX's, so get freed
* in sv_clean_all */
Safefree(PL_my_cxt_list);
Expand Down Expand Up @@ -3903,7 +3903,7 @@ S_init_interp(pTHX)
#ifdef MULTIPLICITY
# define PERLVAR(prefix,var,type)
# define PERLVARA(prefix,var,n,type)
# if defined(PERL_IMPLICIT_CONTEXT)
# if defined(MULTIPLICITY)
# define PERLVARI(prefix,var,type,init) aTHX->prefix##var = init;
# define PERLVARIC(prefix,var,type,init) aTHX->prefix##var = init;
# else
Expand Down

0 comments on commit 6e512bc

Please sign in to comment.