summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
90e5519)
linked. Instead, force the link via the perl interpreter structure
via a function pointer that gets replaced at run time anyway.
p4raw-id: //depot/perl@26990
Adp |void |sv_nosharing |NULLOK SV *sv
Adpbm |void |sv_nolocking |NULLOK SV *sv
Adp |void |sv_nosharing |NULLOK SV *sv
Adpbm |void |sv_nolocking |NULLOK SV *sv
Adpbm |void |sv_nounlocking |NULLOK SV *sv
Adpbm |void |sv_nounlocking |NULLOK SV *sv
+#else
+Adpb |void |sv_nounlocking |NULLOK SV *sv
+#endif
Adp |int |nothreadhook
END_EXTERN_C
Adp |int |nothreadhook
END_EXTERN_C
#endif
#endif
#define sv_nosharing Perl_sv_nosharing
#endif
#endif
#define sv_nosharing Perl_sv_nosharing
+#ifdef NO_MATHOMS
+#else
+#define sv_nounlocking Perl_sv_nounlocking
+#endif
#define nothreadhook Perl_nothreadhook
#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define nothreadhook Perl_nothreadhook
#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#endif
#endif
#define sv_nosharing(a) Perl_sv_nosharing(aTHX_ a)
#endif
#endif
#define sv_nosharing(a) Perl_sv_nosharing(aTHX_ a)
+#ifdef NO_MATHOMS
+#else
+#define sv_nounlocking(a) Perl_sv_nounlocking(aTHX_ a)
+#endif
#define nothreadhook() Perl_nothreadhook(aTHX)
#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
#define nothreadhook() Perl_nothreadhook(aTHX)
#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
#ifdef PERL_CORE
/* Hooks to shared SVs and locks. */
PERLVARI(Isharehook, share_proc_t, MEMBER_TO_FPTR(Perl_sv_nosharing))
PERLVARI(Ilockhook, share_proc_t, MEMBER_TO_FPTR(Perl_sv_nosharing))
/* Hooks to shared SVs and locks. */
PERLVARI(Isharehook, share_proc_t, MEMBER_TO_FPTR(Perl_sv_nosharing))
PERLVARI(Ilockhook, share_proc_t, MEMBER_TO_FPTR(Perl_sv_nosharing))
-PERLVARI(Iunlockhook, share_proc_t, MEMBER_TO_FPTR(Perl_sv_nosharing))
+#ifdef NO_MATHOMS
+# define PERL_UNLOCK_HOOK Perl_sv_nosharing
+#else
+/* This reference ensures that the mathoms are linked with perl */
+# define PERL_UNLOCK_HOOK Perl_sv_nounlocking
+#endif
+PERLVARI(Iunlockhook, share_proc_t, MEMBER_TO_FPTR(PERL_UNLOCK_HOOK))
+
PERLVARI(Ithreadhook, thrhook_proc_t, MEMBER_TO_FPTR(Perl_nothreadhook))
/* Force inclusion of both runops options */
PERLVARI(Ithreadhook, thrhook_proc_t, MEMBER_TO_FPTR(Perl_nothreadhook))
/* Force inclusion of both runops options */
#define PERL_IN_MATHOMS_C
#include "perl.h"
#define PERL_IN_MATHOMS_C
#include "perl.h"
-void Perl_mathoms(void) {}
-
/* ref() is now a macro using Perl_doref;
* this version provided for binary compatibility only.
*/
/* ref() is now a macro using Perl_doref;
* this version provided for binary compatibility only.
*/
-#ifndef NO_MATHOMS
-/* This reference ensures that the mathoms are linked with perl */
-extern void Perl_mathoms(void);
-void Perl_mathoms_ref(void);
-void Perl_mathoms_ref(void) {
- Perl_mathoms();
-}
-#endif
-
static void
S_init_tls_and_interp(PerlInterpreter *my_perl)
{
static void
S_init_tls_and_interp(PerlInterpreter *my_perl)
{
PERL_CALLCONV void Perl_sv_nosharing(pTHX_ SV *sv);
/* PERL_CALLCONV void Perl_sv_nolocking(pTHX_ SV *sv); */
PERL_CALLCONV void Perl_sv_nosharing(pTHX_ SV *sv);
/* PERL_CALLCONV void Perl_sv_nolocking(pTHX_ SV *sv); */
/* PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *sv); */
/* PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *sv); */
+#else
+PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *sv);
+#endif
PERL_CALLCONV int Perl_nothreadhook(pTHX);
END_EXTERN_C
PERL_CALLCONV int Perl_nothreadhook(pTHX);
END_EXTERN_C