| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
For the default (non-multiplicity) configuration, PERLVAR*() macros now
directly expand their arguments to tokens such as C<PL_defgv>, instead of
expanding to C<PL_Idefgv>. This removes over 350 lines from F<embedvar.h>,
which defined macros to map from C<PL_Idefgv> to C<PL_defgv> and so forth.
|
|
|
|
|
|
| |
Move variables smaller than pointers into groups, to avoid holes in the
structure for PERL_GLOBAL_STRUCT. Spreading the mutexes out tries to keep them
off the same cache lines, which may help slightly on multi-processor machines.
|
|
|
|
| |
(Not that Configure will let you configure with ithreads but without perlio)
|
|
|
|
|
| |
It is only ever checked for truth/falsehood, and all assignments to it (in core
and on CPAN) are either 0 or 1.
|
|
|
|
|
| |
They exist solely to ensure that Perl_runops_standard and Perl_runops_debug
are linked in - nothing assigns to either variable, and nothing reads them.
|
|
|
|
| |
Make them const U16 - they should have been const from the start.
|
|
|
|
|
| |
Rename PL_interp_size_5_10_0 to PL_interp_size_5_16_0, as it is only intended to
track interpreter size within (forwards) binary compatible maintenance branches.
|
|
|
|
|
| |
To get the initialisation to work, the location of #include patchlevel.h needs
to be moved.
|
|
|
|
|
|
|
|
| |
On OS/2, keep it in perlvars.h, as it's not const there. makedef.pl doesn't
pay attention to C pre-processor symbols, so it will always see the declaration
in perlvars.h, and add the symbol to the linker file, so no need to mention
sh_path in globvar.sym. Add special case logic in regen/embed.pl to make the
embedvar.h macros for PL_sh_path defined only on OS/2.
|
|
|
|
|
|
|
|
|
|
|
| |
They were converted in perl.h from const char[] to #define in 31fb120917c4f65d,
then re-instated as const char[], but in perlvars.h, in 3fe35a814d0a98f4.
There's no need for compile-time constants to jump through the hoops of
perlvars.h, even for Symbian, as the various "EXTCONST" variables already in
perl.h demonstrate.
These were the only 3 users of the the PERLVARISC macro, so eliminate that, and
all related code.
|
|
|
|
|
|
|
| |
patleave was added in perl 3.0 patch #35 patch #29 -- 395c379347344a50,
used in scanpat(). scanpat() was refactored and renamed to scan_pat() in
5.0 alpha 2, "commented" out with the C pre-processor in 5.000, and removed in
5.001.
|
|
|
|
|
|
|
|
|
| |
As PL_charclass is a constant, it doesn't need to be accessed via the global
struct. It should be exported via globvar.sym, not PERLVARA() in perlvars.h
[With a PERVARA() it all compiles perfectly, once C<dVAR>s are added where
now needed, but the build loops forever because the (real) charclass array is
never initialised]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was some buggy code in Perl_sighandler() related to getting an SV
with the signal name to pass to the perl-level handler function.
`
Basically:
on threaded builds, a sig handler that died leaked PL_psig_name[sig];
on unthreaded builds, in a recursive handler that died, PL_sig_sv was
prematurely freed.
PL_sig_sv was originally just a file static var that was not
recursion-save anyway, and got promoted to perlvars.h when it should
instead have been done away with. So I've got rid of it now, and
rationalised the code, which fixed the two issues listed above.
Also added an assert which makes the dodgy manual popping of the save
stack slightly less dodgy.
|
|
|
|
| |
so newcomers can find it more easily
|
|
|
|
| |
This is left over from PERL_OBJECT (see beeff2, 16c915, and so on).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Attached is a patch that adds a public API for the lowest layers of
lexing. This is meant to provide a solid foundation for the parsing that
Devel::Declare and similar modules do, and it complements the pluggable
keyword mechanism. The API consists of some existing variables combined
with some new functions, all marked as experimental (which making them
public certainly is).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Date: Tue, 27 Oct 2009 01:29:40 +0000
From: Zefram <zefram@fysh.org>
To: perl5-porters@perl.org
Subject: bareword sub lookups
Attached is a patch that changes how the tokeniser looks up subroutines,
when they're referenced by a bareword, for prototype and const-sub
purposes. Formerly, it has looked up bareword subs directly in the
package, which is contrary to the way the generated op tree looks up
the sub, via an rv2cv op. The patch makes the tokeniser generate the
rv2cv op earlier, and dig around in that.
The motivation for this is to allow modules to hook the rv2cv op
creation, to affect the name->subroutine lookup process. Currently,
such hooking affects op execution as intended, but everything goes wrong
with a bareword ref where the tokeniser looks at some unrelated CV,
or a blank space, in the package. With the patch in place, an rv2cv
hook correctly affects the tokeniser and therefore the prototype-based
aspects of parsing.
The patch also changes ck_subr (which applies the argument context and
checking parts of prototype behaviour) to handle subs referenced by an
RV const op inside the rv2cv, where formerly it would only handle a gv
op inside the rv2cv. This is to support the most likely kind of modified
rv2cv op.
[This commit includes the Makefile.PL for XS-APITest-KeywordRPN missing
from the original patch, as well as updates to perldiag.pod and a
MANIFEST sort]
|
|
|
|
|
|
| |
global symbols to keep overall symbol length within 31 characters,
which is what the VMS C compiler with default flags can handle.
p4raw-id: //depot/perl@32275
|
|
|
|
|
|
|
|
|
|
|
| |
into global variables (and hence a shared perl library). Additionally
under MULTIPLICITY record the size of the interpreter structure (total,
and for this version) and under PERL_GLOBAL_STRUCT the size of the
global variables structure. Coupled with PL_bincompat_options this will
allow 5.10.1 (and later), when compiled with a shared perl library, to
perform sanity checks in main() to verify that the shared library is
indeed binary compatible.
p4raw-id: //depot/perl@32238
|
|
|
| |
p4raw-id: //depot/perl@32237
|
|
|
|
|
|
|
| |
the first two aren't used, and the last two are just place holders
to ensure that both runops functions get linked in; so make them
global rather than per-interpeter
p4raw-id: //depot/perl@31280
|
|
|
|
|
|
| |
and fix 'duplicate symbol' warnings from embed.pl
for utf8cache and sh_path
p4raw-id: //depot/perl@31246
|
|
|
| |
p4raw-id: //depot/perl@29827
|
|
|
|
|
|
| |
Subject: [PATCH 5.8.8] Build on OS/2
Message-ID: <20061128113629.GA18108@powdermilk.math.berkeley.edu>
p4raw-id: //depot/perl@29407
|
|
|
| |
p4raw-id: //depot/perl@29065
|
|
|
| |
p4raw-id: //depot/perl@29060
|
|
|
|
|
|
| |
Add a mutex for manipulated their reference counts.
Unwrap the structure, so that for ithreads it can store SVs in pads.
p4raw-id: //depot/perl@27764
|
|
|
|
|
| |
to a dynamic array.
p4raw-id: //depot/perl@27059
|
|
|
|
|
| |
did not update)
p4raw-id: //depot/perl@26732
|
|
|
|
|
| |
Message-ID: <43BE7C4D.1010302@gmail.com>
p4raw-id: //depot/perl@26675
|
|
|
|
|
| |
interpeter arg variant
p4raw-id: //depot/perl@26523
|
|
|
|
|
| |
("Superfluous & with function")
p4raw-id: //depot/perl@24937
|
|
|
|
|
| |
Message-ID: <426BFA57.9060105@iki.fi>
p4raw-id: //depot/perl@24318
|
|
|
|
|
| |
Message-ID: <B356D8F434D20B40A8CEDAEC305A1F2453D653@esebe105.NOE.Nokia.com>
p4raw-id: //depot/perl@24271
|
|
|
|
|
| |
Message-Id: <2f14220e7101a03f7659dbe79a03b115@petdance.com>
p4raw-id: //depot/perl@24074
|
|
|
|
|
|
|
|
|
| |
Message-ID: <20041111145443.GA1854@immd4.informatik.uni-erlangen.de>
slightly reworked to make the PL_use_safe_putenv variable fit in
the current framework. This patch turns on the use of safe putenv
for any application that embeds a perl interpreter.
p4raw-id: //depot/perl@23507
|
|
|
|
|
|
|
|
|
| |
implementing the opendir()/readdir()/closedir() using
external commands give up "ANSI-pureness" and define them
in uconfig.sh, also define other stuff like rename() and putenv().
Leave out the $| emulation in my_fork() since we are
not supposed to have fork() under microperl.
p4raw-id: //depot/perl@20646
|
|
|
|
|
|
|
|
| |
things like DLL trampolines can't mess up the code
variables the Perl_csighandler (seen in Cygwin:
Perl_csighandler in POSIX extension was different
than in main executable).
p4raw-id: //depot/perl@20565
|
|
|
|
|
|
| |
a true global, bump $VERSION to 2.08. Will take a look at the
portability issue of placeholders soon.
p4raw-id: //depot/perl@20263
|
|
|
|
|
| |
Message-ID: <20030710171319.GA21588@perlsupport.com>
p4raw-id: //depot/perl@20117
|
|
|
|
|
| |
can be delayed until perl_parse().
p4raw-id: //depot/perl@19979
|
|
|
|
|
|
|
| |
is set very early in main(), before perl_parse()
has been called and PL_tainting (or PL_taint_warn)
might have been set.
p4raw-id: //depot/perl@19863
|
|
|
| |
p4raw-id: //depot/perl@19499
|
|
|
| |
p4raw-id: //depot/perl@19497
|
|
|
|
|
|
|
| |
(Lots of Perl 5 source code archaeology was involved.)
Larry didn't make strangled noises when I showed him
the patch, either :-)
p4raw-id: //depot/perl@19242
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[ 19106]
Subject: [PATCH 5.8.1 @19053] OS/2-related patches
Message-ID: <20030331204337.GA3634@math.berkeley.edu>
and regen Configure.
p4raw-link: @19106 on //depot/maint-5.8/perl: 8257dec7ed17c0d4d721411d2a781ceadf724da5
p4raw-id: //depot/perl@19120
p4raw-edited: from //depot/maint-5.8/perl@19118 'edit in' embedvar.h
(@18804..)
p4raw-integrated: from //depot/maint-5.8/perl@19118 'copy in'
os2/Makefile.SHs os2/OS2/ExtAttr/Changes
os2/OS2/ExtAttr/ExtAttr.pm os2/OS2/PrfDB/Changes
os2/OS2/PrfDB/PrfDB.pm os2/OS2/REXX/DLL/DLL.pm
os2/OS2/REXX/REXX.pm os2/dl_os2.c os2/os2thread.h (@17645..)
ext/threads/threads.xs (@18619..) perlio.c (@18948..)
Makefile.SH (@19061..) 'ignore' embed.pl (@18872..) embed.h
(@19011..) embed.fnc (@19030..) 'merge in' os2/os2ish.h
(@17645..) os2/os2.c (@18347..) perlapi.h (@18804..) perlvars.h
(@18808..) makedef.pl (@18896..) intrpvar.h (@18920..) sv.c
(@18961..)
p4raw-edited: from //depot/maint-5.8/perl@19106 'edit in' Configure
(@19040..)
p4raw-integrated: from //depot/maint-5.8/perl@19106 'copy in' reentr.h
(@18850..) reentr.c reentr.pl (@18922..)
|
|
|
| |
p4raw-id: //depot/perl@18807
|
|
|
| |
p4raw-id: //depot/perl@18801
|