]> Cypherpunks repositories - gostls13.git/commit
runtime: add js/wasm architecture
authorRichard Musiol <mail@richard-musiol.de>
Sat, 31 Mar 2018 21:14:17 +0000 (23:14 +0200)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 8 May 2018 00:17:34 +0000 (00:17 +0000)
commit35ea62468bf7e3a79011c3ad713e847daa9a45a2
tree60e4870507f6d9bae6ed07539db29f650a6e10b5
parentcc0aaff40e02192356ccb65d8acf571d12f74a95
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>
29 files changed:
misc/wasm/wasm_exec.js
src/internal/cpu/cpu_wasm.go [new file with mode: 0644]
src/reflect/asm_wasm.s [new file with mode: 0644]
src/runtime/asm_wasm.s [new file with mode: 0644]
src/runtime/cgo/asm_wasm.s [new file with mode: 0644]
src/runtime/cputicks.go
src/runtime/debug.go
src/runtime/env_posix.go
src/runtime/gcinfo_test.go
src/runtime/hash64.go
src/runtime/internal/atomic/atomic_wasm.go [new file with mode: 0644]
src/runtime/internal/atomic/stubs.go
src/runtime/internal/sys/arch.go
src/runtime/internal/sys/arch_wasm.go [new file with mode: 0644]
src/runtime/lfstack_64bit.go
src/runtime/lock_js.go [new file with mode: 0644]
src/runtime/malloc.go
src/runtime/mem_js.go [new file with mode: 0644]
src/runtime/memclr_wasm.s [new file with mode: 0644]
src/runtime/memmove_wasm.s [new file with mode: 0644]
src/runtime/mmap.go
src/runtime/proc.go
src/runtime/rt0_js_wasm.s [new file with mode: 0644]
src/runtime/stack.go
src/runtime/stubs2.go
src/runtime/sys_wasm.go [new file with mode: 0644]
src/runtime/sys_wasm.s [new file with mode: 0644]
src/runtime/type.go
src/runtime/unaligned1.go