diff options
| author | Richard Musiol <mail@richard-musiol.de> | 2018-03-31 23:14:17 +0200 |
|---|---|---|
| committer | Brad Fitzpatrick <bradfitz@golang.org> | 2018-05-08 00:17:34 +0000 |
| commit | 35ea62468bf7e3a79011c3ad713e847daa9a45a2 (patch) | |
| tree | 60e4870507f6d9bae6ed07539db29f650a6e10b5 /src/runtime/debug.go | |
| parent | cc0aaff40e02192356ccb65d8acf571d12f74a95 (diff) | |
| download | go-35ea62468bf7e3a79011c3ad713e847daa9a45a2.tar.xz | |
runtime: add js/wasm architecture
This commit adds the js/wasm architecture to the runtime package.
Currently WebAssembly has no support for threads yet, see
https://github.com/WebAssembly/design/issues/1073. Because of that,
there is no preemption of goroutines and no sysmon goroutine.
Design doc: https://docs.google.com/document/d/131vjr4DH6JFnb-blm_uRdaC0_Nv3OUwjEY5qVCxCup4
About WebAssembly assembly files: https://docs.google.com/document/d/1GRmy3rA4DiYtBlX-I1Jr_iHykbX8EixC3Mq0TCYqbKc
Updates #18892
Change-Id: I7f12d21b5180500d55ae9fd2f7e926a1731db391
Reviewed-on: https://go-review.googlesource.com/103877
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
Diffstat (limited to 'src/runtime/debug.go')
| -rw-r--r-- | src/runtime/debug.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/runtime/debug.go b/src/runtime/debug.go index feacfb6026..06bf0fa831 100644 --- a/src/runtime/debug.go +++ b/src/runtime/debug.go @@ -15,6 +15,10 @@ import ( // The number of logical CPUs on the local machine can be queried with NumCPU. // This call will go away when the scheduler improves. func GOMAXPROCS(n int) int { + if GOARCH == "wasm" && n > 1 { + n = 1 // WebAssembly has no threads yet, so only one CPU is possible. + } + lock(&sched.lock) ret := int(gomaxprocs) unlock(&sched.lock) |
