• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ivmai / bdwgc / 1416 / 5
77%
master: 77%

Build:
DEFAULT BRANCH: master
Ran 23 Nov 2022 09:22PM UTC
Files 58
Run time 3s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Nov 2022 09:22PM UTC coverage: 74.442% (+0.1%) from 74.335%
CONF_OPTIONS="--enable-gcov --enable-single-obj-compilation --enable-cplusplus --disable-shared --enable-gc-assertions" CFLAGS_EXTRA="-D USE_CUSTOM_SPECIFIC" CC_FOR_CHECK=g++ MAKEFILE_TARGETS="all" MAKEFILE_TARGETS_CHECK="check" NO_CLONE_LIBATOMIC_OPS=true REPORT_COVERAGE=true TESTS_CUSTOM_RUN=true

push

travis-ci-com

ivmai
Make Emscripten Asyncify feature optional

Issue #506 (bdwgc).

"-sASYNCIFY" is a relatively rarely used feature of Emscripten, most
developers do not use it, and it does not scale well to
moderate-to-large codebases.  It incurs a heavy impact to code size
and performance, and carries other correctness problems that developers
must then adhere to regarding event loop message ordering.

This commit provides new option in cmake (-Denable_emscripten_asyncify)
and configure (--enable-emscripten-asyncify) scripts to turn on
Emscripten Asyncify feature on demand.

* CMakeLists.txt (enable_emscripten_asyncify): New option (off by
default).
* CMakeLists.txt (EMSCRIPTEN): Define using check_c_source_compiles.
* CMakeLists.txt [EMSCRIPTEN && enable_emscripten_asyncify]
(EMSCRIPTEN_ASYNCIFY): Define C macro.
* CMakeLists.txt [EMSCRIPTEN && enable_emscripten_asyncify]
(CMAKE_EXE_LINKER_FLAGS): Append "-sASYNCIFY" and
"-sASYNCIFY_STACK_SIZE=128000".
* configure.ac (emscripten): Remove quotes for the error directive
message.
* configure.ac [emscripten] (gc_cflags): Move comment and assignment
down (to be after reporting result for emscripten).
* configure.ac (emscripten-asyncify): New AC_ARG_ENABLE option; add
comment.
* configure.ac [enable_emscripten_asyncify && emscripten] (gc_cflags):
Add -D EMSCRIPTEN_ASYNCIFY; remove space after "-s".
* configure.ac [emscripten] (gc_cflags): Append "-sASYNCIFY" and
"-sASYNCIFY_STACK_SIZE=128000" only if enable_emscripten_asyncify.
* doc/README.macros (EMSCRIPTEN_ASYNCIFY): Document.
* os_dep.c [!ECOS && !NOSYS && !SYMBIAN && EMSCRIPTEN]: Make
USE_EMSCRIPTEN_SCAN_STACK has effect only if EMSCRIPTEN_ASYNCIFY.
* os_dep.c [THREADS && EMSCRIPTEN]: Include emscripten.h only if
EMSCRIPTEN_ASYNCIFY.
* os_dep.c [THREADS && EMSCRIPTEN] (scan_regs_cb,
GC_default_push_other_roots): Define as a function only if
EMSCRIPTEN_ASYNCIFY; update comment.

Co-authored-by: Ivan Maidanski <ivmai@mail.ru>

7471 of 10036 relevant lines covered (74.44%)

9037419.84 hits per line

Source Files on job 1416.5 (CONF_OPTIONS="--enable-gcov --enable-single-obj-compilation --enable-cplusplus --disable-shared --enable-gc-assertions" CFLAGS_EXTRA="-D USE_CUSTOM_SPECIFIC" CC_FOR_CHECK=g++ MAKEFILE_TARGETS="all" MAKEFILE_TARGETS_CHECK="check" NO_CLONE_LIBATOMIC_OPS=true REPORT_COVERAGE=true TESTS_CUSTOM_RUN=true)
  • Tree
  • List 0
  • Changed 38
  • Source Changed 1
  • Coverage Changed 38
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 932
  • Travis Job 1416.5
  • 840bbcf6 on github
  • Prev Job for CONF_OPTIONS="--enable-gcov --enable-single-obj-compilation --enable-cplusplus --disable-shared --enable-gc-assertions" CFLAGS_EXTRA="-D USE_CUSTOM_SPECIFIC" CC_FOR_CHECK=g++ MAKEFILE_TARGETS="all" MAKEFILE_TARGETS_CHECK="check" NO_CLONE_LIBATOMIC_OPS=true REPORT_COVERAGE=true TESTS_CUSTOM_RUN=true on master (#1415.5)
  • Next Job for CONF_OPTIONS="--enable-gcov --enable-single-obj-compilation --enable-cplusplus --disable-shared --enable-gc-assertions" CFLAGS_EXTRA="-D USE_CUSTOM_SPECIFIC" CC_FOR_CHECK=g++ MAKEFILE_TARGETS="all" MAKEFILE_TARGETS_CHECK="check" NO_CLONE_LIBATOMIC_OPS=true REPORT_COVERAGE=true TESTS_CUSTOM_RUN=true on master (#1417.5)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc