• Richard Musiol's avatar
    runtime, sycall/js: add support for callbacks from JavaScript · e083dc63
    Richard Musiol authored
    This commit adds support for JavaScript callbacks back into
    WebAssembly. This is experimental API, just like the rest of the
    syscall/js package. The time package now also uses this mechanism
    to properly support timers without resorting to a busy loop.
    
    JavaScript code can call into the same entry point multiple times.
    The new RUN register is used to keep track of the program's
    run state. Possible values are: starting, running, paused and exited.
    If no goroutine is ready any more, the scheduler can put the
    program into the "paused" state and the WebAssembly code will
    stop running. When a callback occurs, the JavaScript code puts
    the callback data into a queue and then calls into WebAssembly
    to allow the Go code to continue running.
    
    Updates #18892
    Updates #25506
    
    Change-Id: Ib8701cfa0536d10d69bd541c85b0e2a754eb54fb
    Reviewed-on: https://go-review.googlesource.com/114197Reviewed-by: 's avatarAustin Clements <austin@google.com>
    Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    e083dc63
Name
Last commit
Last update
..
amd64 Loading commit data...
arm Loading commit data...
arm64 Loading commit data...
ld Loading commit data...
loadelf Loading commit data...
loadmacho Loading commit data...
loadpe Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
objfile Loading commit data...
ppc64 Loading commit data...
s390x Loading commit data...
sym Loading commit data...
wasm Loading commit data...
x86 Loading commit data...