# 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} ||
# perl.h logic duplication ends
+my $sym_ord = 0;
+
if ($PLATFORM eq 'win32') {
warn join(' ',keys %define)."\n";
print "LIBRARY Perl57\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_clone_host");
}
}
elsif ($PLATFORM eq 'os2') {
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");
}
}
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]" };
/* 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
# endif
#endif
+/* <--- here ends the logic shared by perl.h and makedef.pl */
+
#ifdef PERL_IMPLICIT_CONTEXT
# ifdef USE_5005THREADS
struct perl_thread;