tinygo/src/runtime
Ayke van Laethem b0cad7ed63 runtime: add support for math intrinsics where supported
In particular, add support for a few math intrinsics for WebAssembly,
but add a few intrinsics to other systems as well at the same time. Some
may be missing still but will be easy to add if needed.

This increases the performance of one example by 50% to 100% depending
on the browser: the bottleneck was the inefficient sqrt implementation.
2019-07-08 00:32:42 +02:00
..
cgo runtime/cgo: go fmt 2018-09-14 20:58:00 +02:00
internal/sys all: check formatting on CI 2019-04-13 19:58:58 +02:00
volatile all: move Register{8,16,32} values into runtime/volatile 2019-06-06 19:46:49 +02:00
arch_386.go all: add support for more architectures and GOOS/GOARCH (#118) 2019-01-05 11:46:25 +01:00
arch_amd64.go amd64: align on 16 bytes instead of 8 2019-02-05 17:11:09 +01:00
arch_arm.go all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
arch_arm64.go all: add support for more architectures and GOOS/GOARCH (#118) 2019-01-05 11:46:25 +01:00
arch_avr.go all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
arch_cortexm.go all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
arch_tinygoriscv.go all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
arch_wasm.go all: make WebAssembly initial linear memory size configurable 2019-07-08 00:09:59 +02:00
atomic.go all: basic support for the os package 2018-09-16 13:01:03 +02:00
baremetal.go all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
chan.go compiler,runtime: implement non-blocking selects 2019-06-12 18:26:52 +02:00
complex.go compiler: implement complex division 2019-05-11 15:33:37 +02:00
defer.go compiler: avoid function pointers in defer calls 2018-12-09 16:44:37 +01:00
float.go compiler: implement complex division 2019-05-11 15:33:37 +02:00
func.go compiler: lower func values to switch + direct call 2019-04-17 23:12:59 +02:00
gc_conservative.go compiler: add the //go:noinline pragma 2019-07-08 00:02:28 +02:00
gc_globals_conservative.go all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
gc_globals_precise.go all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
gc_leaking.go all: rename garbage collectors 2019-07-01 13:03:07 +02:00
gc_none.go runtime: add "none" garbage collector 2018-11-17 15:14:29 +01:00
gc_stack_portable.go all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
gc_stack_raw.go all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
hashmap.go runtime: implement growing hashmaps 2019-05-14 09:59:00 +02:00
interface.go all: support interface asserts in interp 2019-04-13 20:55:56 +02:00
math.go runtime: add support for math intrinsics where supported 2019-07-08 00:32:42 +02:00
os_darwin.go all: add macOS support 2019-02-19 15:54:36 +01:00
os_js.go Add runtime.GOOS 2018-08-30 05:48:16 +02:00
os_linux.go Add runtime.GOOS 2018-08-30 05:48:16 +02:00
panic.go wasm: add support for js.FuncOf 2019-05-27 13:35:59 +02:00
poll.go runtime: remove ctx param from stub code 2019-01-14 20:56:42 +01:00
print.go runtime: print error when panicking with error interface type 2019-04-25 14:06:34 +02:00
runtime.go Trivial typo fix 2019-05-28 09:55:35 +02:00
runtime_atmega.go avr: use register wrappers that use runtime/volatile.*Uint8 calls 2019-05-14 12:24:01 +02:00
runtime_atsamd21.go runtime: update to avoid //go:volatile 2019-06-06 19:46:49 +02:00
runtime_atsamd21e18.go machine/sam: Refactor all machine/runtime code to use new volatile package/API 2019-05-19 19:53:11 +02:00
runtime_atsamd21g18.go machine/sam: Refactor all machine/runtime code to use new volatile package/API 2019-05-19 19:53:11 +02:00
runtime_attiny.go avr: add support for the digispark 2018-11-20 18:50:24 +01:00
runtime_avr.go all: rewrite goroutine lowering 2019-01-21 22:09:33 +01:00
runtime_cortexm.go arm: print an error when a HardFault occurs 2019-05-20 11:39:17 +02:00
runtime_fe310.go all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
runtime_nrf.go runtime: update to avoid //go:volatile 2019-06-06 19:46:49 +02:00
runtime_qemu.go runtime: update to avoid //go:volatile 2019-06-06 19:46:49 +02:00
runtime_stm32.go all: rewrite goroutine lowering 2019-01-21 22:09:33 +01:00
runtime_stm32f103xx.go runtime: update to avoid //go:volatile 2019-06-06 19:46:49 +02:00
runtime_stm32f407.go runtime: update to avoid //go:volatile 2019-06-06 19:46:49 +02:00
runtime_tinygoriscv.go all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
runtime_unix.go all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
runtime_wasm.go wasm: add support for js.FuncOf 2019-05-27 13:35:59 +02:00
scheduler.go wasm: add support for js.FuncOf 2019-05-27 13:35:59 +02:00
slice.go compiler: update integer type sizes 2018-11-14 14:01:04 +01:00
stack.go Implement runtime functions for reflect 2018-08-30 22:53:34 +02:00
string.go compiler,runtime: implement string to []rune conversion 2019-06-19 01:17:21 +02:00
strings_go111.go compiler,runtime: fix multiple definitions of a single function 2019-05-24 14:51:40 +02:00
sync.go all: basic support for the os package 2018-09-16 13:01:03 +02:00