Change 14894 by jhi@alpha on 2002/02/27 15:08:06
Avoid PL_OpPtr et al getting unnecessarily (when not used)
into perl.exp in AIX.
Affected files ...
.... //depot/perl/makedef.pl#108 edit
.... //depot/perl/perl.h#441 edit
Differences ...
==== //depot/perl/makedef.pl#108 (text) ====
Index: perl/makedef.pl
--- perl/makedef.pl.~1~ Wed Feb 27 08:15:05 2002
+++ perl/makedef.pl Wed Feb 27 08:15:05 2002
@@ -116,14 +116,16 @@
# perl.h logic duplication begins
+if ($define{PERL_IMPLICIT_SYS}) {
+ $define{PL_OP_SLAB_ALLOC} = 1;
+}
+
if ($define{USE_ITHREADS}) {
if (!$define{MULTIPLICITY}) {
$define{MULTIPLICITY} = 1;
}
}
-my $sym_ord = 0;
-
$define{PERL_IMPLICIT_CONTEXT} ||=
$define{USE_ITHREADS} ||
$define{USE_5005THREADS} ||
@@ -131,6 +133,8 @@
# perl.h logic duplication ends
+my $sym_ord = 0;
+
if ($PLATFORM eq 'win32') {
warn join(' ',keys %define)."\n";
print "LIBRARY Perl57\n";
@@ -139,7 +143,7 @@
if ($define{PERL_IMPLICIT_SYS}) {
output_symbol("perl_get_host_info");
output_symbol("perl_alloc_override");
- output_symbol("perl_clone_host");
+ output_symbol("perl_clone_host");
}
}
elsif ($PLATFORM eq 'os2') {
@@ -187,9 +191,9 @@
print "EXPORTS\n";
}
if ($define{PERL_IMPLICIT_SYS}) {
- output_symbol("perl_get_host_info");
- output_symbol("perl_alloc_override");
- output_symbol("perl_clone_host");
+ output_symbol("perl_get_host_info");
+ output_symbol("perl_alloc_override");
+ output_symbol("perl_clone_host");
}
}
@@ -613,6 +617,14 @@
skip_symbols [qw(PL_curthr)];
}
+unless ($define{'PL_OP_SLAB_ALLOC'}) {
+ skip_symbols [qw(
+ PL_OpPtr
+ PL_OpSlab
+ PL_OpSpace
+ )];
+}
+
sub readvar {
my $file = shift;
my $proc = shift || sub { "PL_$_[2]" };
==== //depot/perl/perl.h#441 (text) ====
Index: perl/perl.h
--- perl/perl.h.~1~ Wed Feb 27 08:15:05 2002
+++ perl/perl.h Wed Feb 27 08:15:05 2002
@@ -42,6 +42,10 @@
/* See L<perlguts/"The Perl API"> for detailed notes on
* PERL_IMPLICIT_CONTEXT and PERL_IMPLICIT_SYS */
+/* Note that from here --> to <-- the same logic is
+ * repeated in makedef.pl, so be certain to update
+ * both places when editing. */
+
#ifdef PERL_IMPLICIT_SYS
/* PERL_IMPLICIT_SYS implies PerlMemShared != PerlMem
so use slab allocator to avoid lots of MUTEX overhead
@@ -69,6 +73,8 @@
# endif
#endif
+/* <--- here ends the logic shared by perl.h and makedef.pl */
+
#ifdef PERL_IMPLICIT_CONTEXT
# ifdef USE_5005THREADS
struct perl_thread;
End of Patch.