tinygo/src/runtime
Ayke van Laethem cce9c6d5a1 arm64: fix register save/restore to include vector registers
Some vector registers must be preserved across calls, but this wasn't
happening on Linux and MacOS. When I added support for windows/arm64, I
saw that it required these vector registers to be preserved and assumed
this was Windows deviating from the standard calling convention. But
actually, Windows was just implementing the standard calling convention
and the bug was on Linux and MacOS.

This commit fixes the bug on Linux and MacOS and at the same time merges
the Go and assembly files as they no longer need to be separate.
2023-02-19 20:48:32 +01:00
..
cgo
debug runtime/debug: stubs PrintStack 2023-01-27 10:24:54 +01:00
internal/sys all: check formatting on CI 2019-04-13 19:58:58 +02:00
interrupt runtime: check for heap allocations inside interrupts 2023-02-19 11:33:24 +01:00
pprof runtime/pprof, runtime/trace: stub some additional functions 2022-09-02 10:37:50 +02:00
trace runtime/pprof, runtime/trace: stub some additional functions 2022-09-02 10:37:50 +02:00
volatile build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
algorithm.go runtime: implement math/rand.fastrand64 to fix linker error 2023-01-17 08:38:54 +01:00
arch_386.go avr: add support for recover() 2022-06-19 11:51:12 +02:00
arch_amd64.go avr: add support for recover() 2022-06-19 11:51:12 +02:00
arch_arm.go runtime: arm actually has 8-byte alignment 2023-01-17 19:32:18 +01:00
arch_arm64.go runtime: arm64 actually has 16-byte alignment like amd64 2023-01-17 19:32:18 +01:00
arch_avr.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
arch_cortexm.go runtime: arm actually has 8-byte alignment 2023-01-17 19:32:18 +01:00
arch_tinygoriscv.go riscv: use 16-byte alignment everywhere 2023-01-17 19:32:18 +01:00
arch_tinygoriscv32.go riscv: use 16-byte alignment everywhere 2023-01-17 19:32:18 +01:00
arch_tinygoriscv64.go riscv: use 16-byte alignment everywhere 2023-01-17 19:32:18 +01:00
arch_tinygowasm.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
arch_tinygowasm_malloc.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
arch_xtensa.go xtensa: use 8-byte alignment 2023-01-17 19:32:18 +01:00
asm_386.S runtime: load sp and pc inside tinygo_longjmp 2022-06-19 11:51:12 +02:00
asm_amd64.S runtime: load sp and pc inside tinygo_longjmp 2022-06-19 11:51:12 +02:00
asm_amd64_windows.S runtime: load sp and pc inside tinygo_longjmp 2022-06-19 11:51:12 +02:00
asm_arm.S runtime: load sp and pc inside tinygo_longjmp 2022-06-19 11:51:12 +02:00
asm_arm64.S arm64: fix register save/restore to include vector registers 2023-02-19 20:48:32 +01:00
asm_avr.S avr: add support for recover() 2022-06-19 11:51:12 +02:00
asm_riscv.S runtime: load sp and pc inside tinygo_longjmp 2022-06-19 11:51:12 +02:00
asm_tinygowasm.S wasm: fix GC scanning of allocas 2022-10-19 18:36:53 +02:00
atomics_critical.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
baremetal.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
build_asserts.go runtime: make gc and scheduler asserts settable with build tags 2022-09-25 16:47:07 +02:00
build_noasserts.go runtime: make gc and scheduler asserts settable with build tags 2022-09-25 16:47:07 +02:00
chan.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
complex.go compiler: implement complex division 2019-05-11 15:33:37 +02:00
cond.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
cond_nosched.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
debug.go updating the comments for stub funcs 2022-03-19 19:09:20 +01:00
defer.go
dynamic_arm64.go nintendoswitch: Add env parser and removed unused stuff 2020-11-03 23:28:55 +01:00
env.go windows: add support for syscall.runtimeSetenv 2023-02-03 07:31:38 -08:00
env_unix.go windows: add support for syscall.runtimeSetenv 2023-02-03 07:31:38 -08:00
env_windows.go windows: add support for syscall.runtimeSetenv 2023-02-03 07:31:38 -08:00
error.go extend stdlib to allow import of more packages (#1099) 2020-06-23 11:56:28 +02:00
extern.go src/runtime: add runtime.Version() 2022-03-19 15:36:44 +01:00
float.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
func.go compiler: decouple func lowering from interface type codes 2021-04-12 12:07:42 +02:00
gc_blocks.go runtime: check for heap allocations inside interrupts 2023-02-19 11:33:24 +01:00
gc_conservative.go runtime: implement precise GC 2023-01-17 19:32:18 +01:00
gc_custom.go runtime: allow custom-gc SetFinalizer and clarify KeepAlive 2023-02-17 00:51:51 +01:00
gc_globals.go runtime: implement precise GC 2023-01-17 19:32:18 +01:00
gc_leaking.go runtime: allow custom-gc SetFinalizer and clarify KeepAlive 2023-02-17 00:51:51 +01:00
gc_none.go runtime: allow custom-gc SetFinalizer and clarify KeepAlive 2023-02-17 00:51:51 +01:00
gc_precise.go runtime: implement precise GC 2023-01-17 19:32:18 +01:00
gc_stack_portable.go Add -gc=custom option (#3302) 2023-01-28 20:24:56 +01:00
gc_stack_raw.go runtime: implement precise GC 2023-01-17 19:32:18 +01:00
hashmap.go all: refactor reflect package 2023-02-17 22:54:34 +01:00
hosted.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
interface.go all: refactor reflect package 2023-02-17 22:54:34 +01:00
memhash_fnv.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
memhash_leveldb.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
memhash_tsip.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
mstats.go runtime: add MemStats.Mallocs and Frees 2022-08-20 11:41:20 +02:00
nonhosted.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
os_darwin.c darwin: fix syscall.Open on darwin/arm64 2022-10-13 21:07:38 +02:00
os_darwin.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
os_js.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
os_linux.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
os_other.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
os_windows.go syscall.Getpagesize(): add test, implement for Linux and Windows 2022-06-12 01:15:42 +02:00
panic.go compiler: add support for new unsafe slice/string functions 2023-01-17 08:38:54 +01:00
poll.go runtime: remove ctx param from stub code 2019-01-14 20:56:42 +01:00
print.go runtime: rename printuint to printuintptr 2022-07-15 15:44:40 +02:00
runtime.go runtime: implement KeepAlive using inline assembly 2023-02-18 10:50:26 +01:00
runtime_arm7tdmi.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_atmega.go Add basic atmega32u support (#3337) 2022-12-20 16:57:55 +01:00
runtime_atsamd21.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_atsamd21e18.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_atsamd21g18.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_atsamd51.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_atsamd51g19.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_atsamd51j19.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_atsamd51j20.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_atsamd51p19.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_atsamd51p20.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_atsame5x_can.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_atsame51j19.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_atsame54p20.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_attiny.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_avr.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_cortexm.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_cortexm_abort.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_cortexm_hardfault.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_cortexm_hardfault_debug.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_cortexm_qemu.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_esp32.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_esp32c3.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_esp32xx.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_esp8266.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_fe310.go runtime: check for heap allocations inside interrupts 2023-02-19 11:33:24 +01:00
runtime_fe310_baremetal.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_fe310_qemu.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_k210.go runtime: check for heap allocations inside interrupts 2023-02-19 11:33:24 +01:00
runtime_k210_baremetal.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_mimxrt1062.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_mimxrt1062_clock.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_mimxrt1062_mpu.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_mimxrt1062_time.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_nintendoswitch.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_nintendoswitch.S all: rename assembly files to .S extension 2022-08-04 15:43:42 +02:00
runtime_nrf.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_nrf52840.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_nrf_bare.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_nrf_softdevice.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_nxpmk66f18.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_rp2040.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32_timers.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32f4.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32f7x2.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32f103.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32f405.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32f407.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32f469.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32l0.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32l0x1.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32l0x2.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32l4.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32l4x2.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32l4x5.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32l5x2.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_stm32wlx.go runtime/stm32wlx: change order for init so clock speeds are set before peripheral start 2023-01-27 00:08:38 +01:00
runtime_tinygoriscv.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_tinygoriscv64.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_tinygoriscv_qemu.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_tinygowasm.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_unix.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_wasm_js.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_wasm_js_scheduler.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
runtime_wasm_wasi.go wasi: makes wasmtime "run" explicit 2022-12-22 09:22:17 +01:00
runtime_windows.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
scheduler.go runtime: add support for time.NewTimer and time.NewTicker 2022-08-23 12:37:25 +02:00
scheduler_any.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
scheduler_none.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
scheduler_tasks.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
slice.go compiler, runtime: add layout parameter to runtime.alloc 2021-11-02 22:16:15 +01:00
stack.go runtime: add stubs for Func.FileLine and Frame.PC 2022-01-18 14:38:13 +01:00
string.go all: format code according to Go 1.19 rules 2022-08-04 12:18:32 +02:00
symtab.go runtime: add stubs for Func.FileLine and Frame.PC 2022-01-18 14:38:13 +01:00
sync.go
time.go runtime: implement resetTimer 2022-08-25 11:30:33 +02:00
time_nxpmk66f18.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00
timer.go all: drop support for Go 1.16 and Go 1.17 2022-08-30 12:38:06 +02:00
wait_other.go build: drop deprecated build tags 2022-12-19 23:20:11 +01:00