summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Mitchener <bruce.mitchener@gmail.com>2023-03-02 15:51:14 +0700
committerIvan Maidanski <ivmai@mail.ru>2023-03-02 14:41:40 +0300
commitb9eb5da2469d33e5f74d71bed5c2920166bff60e (patch)
tree368a26ed27aec8958245128e931b76958e9f8dbe
parent08e4906d36f88af1073bcde7bee77c201fd20c2c (diff)
downloadbdwgc-b9eb5da2469d33e5f74d71bed5c2920166bff60e.tar.gz
Remove use of emscripten_scan_stack
(refactoring) Issue #530 (bdwgc). The code was only enabled by a define (USE_EMSCRIPTEN_SCAN_STACK) and not needed as the alternative is to just use emscripten_stack_get_base which is more straight forward. * os_dep.c [EMSCRIPTEN && USE_EMSCRIPTEN_SCAN_STACK && EMSCRIPTEN_ASYNCIFY]: Do not include emscripten.h. * os_dep.c [EMSCRIPTEN && USE_EMSCRIPTEN_SCAN_STACK && EMSCRIPTEN_ASYNCIFY] (emscripten_stack_base, scan_stack_cb): Do not define. * os_dep.c [EMSCRIPTEN] (GC_get_main_stack_base): Always use emscripten_stack_get_base().
-rw-r--r--os_dep.c24
1 files changed, 2 insertions, 22 deletions
diff --git a/os_dep.c b/os_dep.c
index 8be9459f..be6776a3 100644
--- a/os_dep.c
+++ b/os_dep.c
@@ -1199,31 +1199,11 @@ GC_INNER size_t GC_page_size = 0;
}
# define GET_MAIN_STACKBASE_SPECIAL
#elif defined(EMSCRIPTEN)
-
-# if defined(USE_EMSCRIPTEN_SCAN_STACK) && defined(EMSCRIPTEN_ASYNCIFY)
- /* According to the documentation, emscripten_scan_stack() is only */
- /* guaranteed to be available when building with ASYNCIFY. */
-# include <emscripten.h>
-
- static void *emscripten_stack_base;
-
- static void scan_stack_cb(void *begin, void *end)
- {
- (void)begin;
- emscripten_stack_base = end;
- }
-# else
-# include <emscripten/stack.h>
-# endif
+# include <emscripten/stack.h>
ptr_t GC_get_main_stack_base(void)
{
-# if defined(USE_EMSCRIPTEN_SCAN_STACK) && defined(EMSCRIPTEN_ASYNCIFY)
- emscripten_scan_stack(scan_stack_cb);
- return (ptr_t)emscripten_stack_base;
-# else
- return (ptr_t)emscripten_stack_get_base();
-# endif
+ return (ptr_t)emscripten_stack_get_base();
}
# define GET_MAIN_STACKBASE_SPECIAL
#elif !defined(AMIGA) && !defined(HAIKU) && !defined(OS2) \