diff options
author | John Högberg <[email protected]> | 2019-04-05 09:40:25 +0200 |
---|---|---|
committer | John Högberg <[email protected]> | 2019-04-05 09:47:39 +0200 |
commit | 3a61226f801441a51e44a8e9703b92984fc48938 (patch) | |
tree | fb34901c43964632523b40d274662bcc93079ff8 /erts/include | |
parent | 6385d434ffb882840ab0326ec892d9aa6ff25f50 (diff) | |
parent | 212465761f0e07f69515df78c6a7da74c579e875 (diff) | |
download | otp-3a61226f801441a51e44a8e9703b92984fc48938.tar.gz otp-3a61226f801441a51e44a8e9703b92984fc48938.tar.bz2 otp-3a61226f801441a51e44a8e9703b92984fc48938.zip |
Merge remote-tracking branch 'trofi/master' into john/merge-re-replace-fix
PR 2194, stdlib: fix re:replace on LTO builds
* trofi/master:
cleanup: beam_emu.c: use ERTS_NOINLINE instead of NOINLINE
stdlib: fix re:replace on LTO builds
Diffstat (limited to 'erts/include')
-rw-r--r-- | erts/include/internal/ethr_internal.h | 2 | ||||
-rw-r--r-- | erts/include/internal/ethread_inline.h | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/erts/include/internal/ethr_internal.h b/erts/include/internal/ethr_internal.h index ac27ff2ed0..17ec84c52b 100644 --- a/erts/include/internal/ethr_internal.h +++ b/erts/include/internal/ethr_internal.h @@ -90,7 +90,7 @@ int ethr_init_common__(ethr_init_data *id); int ethr_late_init_common__(ethr_late_init_data *lid); void ethr_run_exit_handlers__(void); void ethr_ts_event_destructor__(void *vtsep); -void ethr_set_stacklimit__(char *prev_c, size_t stacksize); +void ethr_set_stacklimit__(char *prev_c, size_t stacksize) ETHR_NOINLINE; #if defined(ETHR_X86_RUNTIME_CONF__) void ethr_x86_cpuid__(int *eax, int *ebx, int *ecx, int *edx); diff --git a/erts/include/internal/ethread_inline.h b/erts/include/internal/ethread_inline.h index 8e6bcfc4a8..f25ba4ae72 100644 --- a/erts/include/internal/ethread_inline.h +++ b/erts/include/internal/ethread_inline.h @@ -62,12 +62,15 @@ # define ETHR_INLINE __inline__ # if ETHR_AT_LEAST_GCC_VSN__(3, 1, 1) # define ETHR_FORCE_INLINE __inline__ __attribute__((__always_inline__)) +# define ETHR_NOINLINE __attribute__((__noinline__)) # else # define ETHR_FORCE_INLINE __inline__ +# define ETHR_NOINLINE # endif #elif defined(__WIN32__) # define ETHR_INLINE __forceinline # define ETHR_FORCE_INLINE __forceinline +# define ETHR_NOINLINE __declspec(noinline) #endif #endif /* #ifndef ETHREAD_INLINE_H__ */ |