tinygo/builder
Nia Waldvogel 641dcd7c16 internal/task: use asyncify on webassembly
This change implements a new "scheduler" for WebAssembly using binaryen's asyncify transform.
This is more reliable than the current "coroutines" transform, and works with non-Go code in the call stack.

runtime (js/wasm): handle scheduler nesting

If WASM calls into JS which calls back into WASM, it is possible for the scheduler to nest.
The event from the callback must be handled immediately, so the task cannot simply be deferred to the outer scheduler.
This creates a minimal scheduler loop which is used to handle such nesting.
2021-11-14 10:49:28 +01:00
..
ar.go builder: reduce number of open files 2021-11-04 17:15:38 +01:00
build.go internal/task: use asyncify on webassembly 2021-11-14 10:49:28 +01:00
builder_test.go all: add target-features string to all targets 2021-11-07 09:26:46 +01:00
builtins.go builder: build static binaries using musl on Linux 2021-11-04 17:15:38 +01:00
cc.go builder: add missing error check for ioutil.TempFile() 2021-09-08 15:21:31 +02:00
cc1as.cpp all: switch to LLVM 11 for static builds 2020-12-10 07:01:32 +01:00
cc1as.h main: switch to LLVM 10 2020-04-09 20:23:51 +02:00
cc_test.go builder: cache C and assembly file outputs 2021-04-05 20:52:04 +02:00
clang.cpp all: switch to LLVM 11 for static builds 2020-12-10 07:01:32 +01:00
commands.go main: implement tinygo lldb subcommand 2021-10-05 06:26:21 +02:00
config.go main: test other architectures by specifying a different GOARCH 2021-10-04 18:22:55 +02:00
elfpatch.go rp2040: patch elf to checksum 2nd stage boot 2021-06-17 12:10:04 +02:00
env.go Make lib64 clang include path check more robust. 2020-11-04 00:04:33 +01:00
error.go compiler: add location information to the IR checker 2019-12-21 20:49:51 +01:00
esp.go esp32c3: add support for this chip 2021-09-16 20:13:04 +02:00
jobs.go main: add -p flag to set parallelism 2021-11-04 17:15:38 +01:00
library.go builder: build static binaries using musl on Linux 2021-11-04 17:15:38 +01:00
lld.cpp main: switch to LLVM 10 2020-04-09 20:23:51 +02:00
musl.go builder: build static binaries using musl on Linux 2021-11-04 17:15:38 +01:00
nrfutil.go support flashing pca10059 from windows 2021-06-08 14:17:04 +02:00
objcopy.go main: add initial support for (in-development) LLVM 11 2020-10-13 20:23:50 +02:00
picolibc.go builder: build static binaries using musl on Linux 2021-11-04 17:15:38 +01:00
sizes.go transform: add debug info in interface lowering pass 2021-11-06 10:50:55 +01:00
tools-builtin.go builder: run tools (clang, ...) as separate processes 2020-04-03 12:41:44 +02:00
tools-external.go builder: run tools (clang, ...) as separate processes 2020-04-03 12:41:44 +02:00
tools.go main: implement tinygo lldb subcommand 2021-10-05 06:26:21 +02:00
uf2.go all: fix staticcheck warnings 2021-09-27 15:47:12 +02:00