tinygo/src/runtime
Ayke van Laethem 9a54ee4241 compiler: allow larger-than-int values to be sent across a channel
Instead of storing the value to send/receive in the coroutine promise,
store only a pointer in the promise. This simplifies the code a lot and
allows larger value sizes to be sent across a channel.

Unfortunately, this new system has a code size impact. For example,
compiling testdata/channel.go for the BBC micro:bit, there is an
increase in code size from 4776 bytes to 4856 bytes. However, the
improved flexibility and simplicity of the code should be worth it. If
this becomes an issue, we can always refactor the code at a later time.
2019-05-05 16:46:50 +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
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: pretend to be linux/arm in baremetal targets 2019-03-23 22:58:26 +01: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 runtime: add "end of heap" to detect out of memory 2018-11-17 15:33:32 +01:00
arch_cortexm.go all: pretend to be linux/arm in baremetal targets 2019-03-23 22:58:26 +01:00
arch_wasm.go all: pretend to be linux/arm in baremetal targets 2019-03-23 22:58:26 +01:00
atomic.go all: basic support for the os package 2018-09-16 13:01:03 +02:00
chan.go compiler: allow larger-than-int values to be sent across a channel 2019-05-05 16:46:50 +02:00
defer.go compiler: avoid function pointers in defer calls 2018-12-09 16:44:37 +01:00
func.go compiler: lower func values to switch + direct call 2019-04-17 23:12:59 +02:00
gc_dumb.go runtime: add "end of heap" to detect out of memory 2018-11-17 15:33:32 +01:00
gc_marksweep.go runtime: implement a simple mark/sweep garbage collector 2018-11-18 19:18:39 +01:00
gc_none.go runtime: add "none" garbage collector 2018-11-17 15:14:29 +01:00
hashmap.go runtime: update link to original Go hashmap source code 2018-12-31 13:33:18 +01:00
interface.go all: support interface asserts in interp 2019-04-13 20:55:56 +02:00
math.go runtime: add support for math package 2019-02-05 19:37:21 +01: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 compiler: fix MakeSlice bounds check and casting 2019-04-10 20:21:33 +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 runtime: add runtime.nanotime 2019-03-23 16:16:19 +01:00
runtime_atmega.go avr: add support for the digispark 2018-11-20 18:50:24 +01:00
runtime_atsamd21.go machine/samd21: implement ADC 2019-03-06 17:01:16 +01: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 runtime: implement memmove intrinsic 2019-04-03 17:04:13 +02:00
runtime_nrf.go all: rewrite goroutine lowering 2019-01-21 22:09:33 +01:00
runtime_qemu.go all: rewrite goroutine lowering 2019-01-21 22:09:33 +01:00
runtime_stm32.go all: rewrite goroutine lowering 2019-01-21 22:09:33 +01:00
runtime_stm32f103xx.go machine/stm32f103xx: correct convertion for fractional timing of RTC as used in ticks() function 2019-03-08 17:52:51 +01:00
runtime_stm32f407.go stm32: add support for the STM32F4Discovery 2019-04-13 13:32:05 +02:00
runtime_unix.go all: pretend to be linux/arm in baremetal targets 2019-03-23 22:58:26 +01:00
runtime_wasm.go all: pretend to be linux/arm in baremetal targets 2019-03-23 22:58:26 +01:00
scheduler.go compiler: allow larger-than-int values to be sent across a channel 2019-05-05 16:46:50 +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 runtime: make stringNext use byteindex only, fix index offset 2019-01-27 23:31:43 +01:00
sync.go all: basic support for the os package 2018-09-16 13:01:03 +02:00