tinygo/targets
Ayke van Laethem 65d65c1313 wasm: fix GC scanning of allocas
Scanning of allocas was entirely broken on WebAssembly. The code
intended to do this was never run. There were also no tests.

Looking into this further, I found that it is actually not really
necessary to do that: the C stack can be scanned conservatively and in
fact this was already done for goroutine stacks (because they live on
the heap and are always referenced). It wasn't done for the system stack
however.

With these fixes, I believe code should be both faster *and* more
correct.

I found this in my work to get opaque pointers supported in LLVM 15,
because the code that was never reached now finally got run and was
actually quite buggy.
2022-10-19 18:36:53 +02:00
..
arduino-mega1280.json
arduino-mega2560.json
arduino-mkr1000.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
arduino-mkrwifi1010.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
arduino-nano-new.json Add Arduino Nano w/ New Bootloader target 2021-05-01 17:09:46 +02:00
arduino-nano.json all: make emulator command a string instead of a []string 2022-04-28 07:50:03 +02:00
arduino-nano33.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
arduino-zero.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
arduino.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
arm.ld
atmega328p.json targets: add CPU property everywhere 2021-11-03 23:03:44 +01:00
atmega1280.json targets: add CPU property everywhere 2021-11-03 23:03:44 +01:00
atmega1284p.json all: make emulator command a string instead of a []string 2022-04-28 07:50:03 +02:00
atmega2560.json targets: add CPU property everywhere 2021-11-03 23:03:44 +01:00
atsamd21.ld
atsamd21e18a.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
atsamd21g18a.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
atsamd51.ld
atsamd51g19a.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
atsamd51j19a.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
atsamd51j20a.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
atsamd51j20a.ld
atsamd51p19a.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
atsamd51p20a.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
atsamd51p20a.ld
atsame5xx19.ld atsame51: add initial support for feather-m4-can 2021-04-16 17:49:46 +02:00
atsame5xx20-no-bootloader.ld atsame54: add initial support for atsame54-xpro 2021-04-15 15:43:37 +02:00
atsame51j19a.json atsame51: add initial support for feather-m4-can 2021-04-16 17:49:46 +02:00
atsame54-xpro.json targets: do not set stack size per board 2022-10-14 13:36:42 +02:00
atsame54p20a.json atsame5x: add support for CAN 2021-05-10 12:27:10 +02:00
attiny85.json targets: add CPU property everywhere 2021-11-03 23:03:44 +01:00
avr.json compiler: implement recover() built-in function 2022-06-16 07:59:21 +02:00
avr.ld
avr.S runtime: use LLVM intrinsic to read the stack pointer 2021-11-30 10:01:44 +01:00
badger2040.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
badger2040.ld machine/badger2040: support for Badger 2040 2022-05-24 15:02:23 +02:00
bluepill-clone.json Add support for additional openocd commands (#1492) 2020-12-30 09:19:41 +01:00
bluepill.json Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
challenger-rp2040.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
circuitplay-bluefruit.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
circuitplay-express.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
clue-alpha.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
clue.json
cortex-m-qemu.json all: make emulator command a string instead of a []string 2022-04-28 07:50:03 +02:00
cortex-m-qemu.s
cortex-m.json all: rename assembly files to .S extension 2022-08-04 15:43:42 +02:00
cortex-m0.json all: update to LLVM 14 2022-04-23 08:45:46 +02:00
cortex-m0plus.json all: update to LLVM 14 2022-04-23 08:45:46 +02:00
cortex-m3.json all: update to LLVM 14 2022-04-23 08:45:46 +02:00
cortex-m4.json all: update to LLVM 14 2022-04-23 08:45:46 +02:00
cortex-m7.json all: update to LLVM 14 2022-04-23 08:45:46 +02:00
cortex-m33.json all: remove support for LLVM 11 and LLVM 12 2022-05-07 17:15:35 +02:00
d1mini.json
digispark.json all: make emulator command a string instead of a []string 2022-04-28 07:50:03 +02:00
esp32-coreboard-v2.json
esp32-mini32.json
esp32.json esp32: add support for running and debuggin using qemu-esp32 2022-04-28 07:50:03 +02:00
esp32.ld
esp32c3-12f.json targets: fix build tag duplicates 2022-09-03 08:31:27 +02:00
esp32c3.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
esp32c3.ld add support for CPU interrupts for ESP32-C3 2021-10-23 03:31:37 +02:00
esp8266.json all: update to LLVM 14 2022-04-23 08:45:46 +02:00
esp8266.ld
fe310.json all: update to LLVM 14 2022-04-23 08:45:46 +02:00
feather-m0.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
feather-m4-can.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
feather-m4.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
feather-nrf52840-sense.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
feather-nrf52840.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
feather-rp2040-boot-stage2.S feather-rp2040,macropad-rp2040: fix qspi-flash settings 2022-07-05 16:37:45 +02:00
feather-rp2040.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
feather-rp2040.ld rp2040: support Adafruit Feather RP2040 2021-06-19 12:34:40 +02:00
feather-stm32f405.json Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
gameboy-advance.json compiler: implement recover() built-in function 2022-06-16 07:59:21 +02:00
gameboy-advance.ld
gameboy-advance.s fix GBA ROM header 2021-09-05 19:59:26 +02:00
gnse.json stm32/stm32wlx: Add support for stm32wl55_cm4 2021-12-13 16:02:00 +01:00
gopherbot.json target: add gopherbot and gopherbot2 aliases to simplify for newer users 2022-07-26 08:06:24 +02:00
gopherbot2.json target: add gopherbot and gopherbot2 aliases to simplify for newer users 2022-07-26 08:06:24 +02:00
grandcentral-m4.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
hifive1b.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
hifive1b.ld
itsybitsy-m0.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
itsybitsy-m4.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
itsybitsy-nrf52840.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
k210.json all: update to LLVM 14 2022-04-23 08:45:46 +02:00
lgt92.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
lm3s6965.ld
lorae5.json stm32: add minimal stm32wlex5 / lorae5 target 2021-11-20 12:07:11 +01:00
m5stack-core2.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
m5stack.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
m5stamp-c3.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
macropad-rp2040-boot-stage2.S feather-rp2040,macropad-rp2040: fix qspi-flash settings 2022-07-05 16:37:45 +02:00
macropad-rp2040.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
maixbit.json Revert "fix: flash-command for maixbit board" 2022-04-12 17:13:32 +02:00
maixbit.ld
matrixportal-m4.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
mch2022.json boards: Add MCH2022 badge 2022-07-16 08:31:22 +02:00
mdbt50qrx-uf2.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
metro-m4-airlift.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
microbit-s110v8.json
microbit-v2-s113v7.json microbit-v2: add support for S113 SoftDevice 2021-04-14 22:55:52 +02:00
microbit-v2.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
microbit.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
mimxrt1062-teensy40.ld teensy40: enable hardware UART reconfiguration, fix receive watermark interrupt 2021-09-13 09:29:20 +02:00
nano-33-ble-s140v6-uf2.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
nano-33-ble-s140v7-uf2.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
nano-33-ble-s140v7.json nano-33-ble: SoftDevice s140v7 support 2021-11-03 20:54:40 +01:00
nano-33-ble.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
nano-33-ble.ld board/nano-33-ble: pins, blinking leds and serial 2021-06-14 00:06:59 +02:00
nano-rp2040.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
nicenano.json nrf52: cleanup s140v6 uf2 targets 2022-08-07 11:27:49 +02:00
nintendoswitch.json all: rename assembly files to .S extension 2022-08-04 15:43:42 +02:00
nintendoswitch.ld
nintendoswitch.s
nodemcu.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
nrf51-s110v8.json
nrf51-s110v8.ld nrf: add microbit-s110v8 target 2020-05-26 18:50:33 +02:00
nrf51.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
nrf51.ld
nrf52-s132v6.json
nrf52-s132v6.ld
nrf52.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
nrf52.ld nrf: fix nrf52832 flash size 2020-10-20 19:13:43 +02:00
nrf52833-s113v7.json microbit-v2: add support for S113 SoftDevice 2021-04-14 22:55:52 +02:00
nrf52833-s113v7.ld microbit-v2: add support for S113 SoftDevice 2021-04-14 22:55:52 +02:00
nrf52833.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
nrf52833.ld
nrf52840-mdk-usb-dongle.json nrf52: cleanup s140v6 uf2 targets 2022-08-07 11:27:49 +02:00
nrf52840-mdk.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
nrf52840-s140v6-uf2.json nrf52: cleanup s140v6 uf2 targets 2022-08-07 11:27:49 +02:00
nrf52840-s140v6-uf2.ld nrf52: cleanup s140v6 uf2 targets 2022-08-07 11:27:49 +02:00
nrf52840-s140v7-uf2.json nrf52: cleanup s140v7 uf2 targets 2022-08-07 12:58:36 +02:00
nrf52840-s140v7-uf2.ld nrf52: cleanup s140v7 uf2 targets 2022-08-07 12:58:36 +02:00
nrf52840-s140v7.json nano-33-ble: SoftDevice s140v7 support 2021-11-03 20:54:40 +01:00
nrf52840-s140v7.ld nano-33-ble: SoftDevice s140v7 support 2021-11-03 20:54:40 +01:00
nrf52840.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
nrf52840.ld
nucleo-f103rb.json Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
nucleo-f722ze.json Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
nucleo-l031k6.json Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
nucleo-l432kc.json Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
nucleo-l552ze.json Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
nucleo-wl55jc.json stm32/stm32wlx: Add support for stm32wl55_cm4 2021-12-13 16:02:00 +01:00
nxpmk66f18.ld
p1am-100.json p1am-100: remove duplicate build tags 2022-08-29 09:44:03 +02:00
particle-3rd-gen.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
particle-argon.json
particle-boron.json Apply review suggestions 2020-02-18 23:34:56 +01:00
particle-xenon.json
pca10031.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
pca10040-s132v6.json
pca10040.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
pca10056-s140v7.json
pca10056.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
pca10059.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
pca10059.ld
pico-boot-stage2.S rp2040: support Adafruit Feather RP2040 2021-06-19 12:34:40 +02:00
pico.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
pico.ld rp2040: patch elf to checksum 2nd stage boot 2021-06-17 12:10:04 +02:00
pinetime-devkit0.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
pybadge.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
pygamer.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
pyportal.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
qtpy-rp2040-boot-stage2.S Add qtpy-rp2040 to TinyGo v0.25.0 2022-09-02 15:06:37 +02:00
qtpy-rp2040.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
qtpy-rp2040.ld Add qtpy-rp2040 to TinyGo v0.25.0 2022-09-02 15:06:37 +02:00
qtpy.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
reelboard-s140v7.json
reelboard.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
riscv-qemu.json all: make emulator command a string instead of a []string 2022-04-28 07:50:03 +02:00
riscv-qemu.ld riscv: implement VirtIO target 2020-03-26 23:03:55 +01:00
riscv.json compiler: implement recover() built-in function 2022-06-16 07:59:21 +02:00
riscv.ld riscv: align the heap to 16 bytes 2021-10-05 05:52:03 +02:00
riscv32.json targets: match LLVM triple to the one Clang uses 2021-11-05 09:42:00 +01:00
riscv64.json targets: match LLVM triple to the one Clang uses 2021-11-05 09:42:00 +01:00
rp2040-boot-stage2.S rp2040: support Adafruit Feather RP2040 2021-06-19 12:34:40 +02:00
rp2040.json rp2040: make picoprobe default openocd interface 2022-07-28 06:48:46 +02:00
rp2040.ld rp2040: patch elf to checksum 2nd stage boot 2021-06-17 12:10:04 +02:00
simavr.json avr: get go test -target=simavr to work 2022-05-18 15:20:09 +02:00
stm32.ld
stm32f4disco-1.json
stm32f4disco.json Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
stm32f7x2zetx.ld
stm32f103rb.ld
stm32f405.ld add STM32F405 machine/runtime, and new board/target feather-stm32f405 2020-09-11 09:09:02 +02:00
stm32f407.ld
stm32f469.ld targets,runtime,machine: add support for the stm32f469-disco board 2021-12-31 10:30:48 +00:00
stm32f469disco.json Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
stm32l0x2.json Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
stm32l4x2.ld
stm32l4x5.ld stm32: add blues wireless swan 2022-01-13 07:56:08 +01:00
stm32l5x2xe.ld
stm32l031k6.ld
stm32l072czt6.ld Support for STM32L0 MCUs and Dragino LGT92 device (#1561) 2021-01-08 22:27:25 +01:00
stm32wl5x_cm4.json Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
stm32wle5.json Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
stm32wlx.ld stm32/stm32wlx: Add support for stm32wl55_cm4 2021-12-13 16:02:00 +01:00
swan.json Revert "all: move stm32 files to separate repository" 2022-02-28 10:19:26 +01:00
teensy36.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
teensy36.s
teensy40.json targets: do not set stack size per board 2022-10-14 13:36:42 +02:00
teensy40.s
teensy41.json targets: do not set stack size per board 2022-10-14 13:36:42 +02:00
thingplus-rp2040.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
thingplus-rp2040.ld machine/thingplus: rename to the singular thing as that it the correct name 2022-04-26 21:13:17 +02:00
trinket-m0.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
trinkey-qt2040-boot-stage2.S machine: Add support for Adafruit QT2040 board. 2022-08-28 10:16:52 +02:00
trinkey-qt2040.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
trinkey-qt2040.ld machine: Add support for Adafruit QT2040 board. 2022-08-28 10:16:52 +02:00
tufty2040.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
tufty2040.ld Add Pimoroni's Tufty2040 board 2022-08-24 13:50:02 +02:00
wasi.json wasm: fix GC scanning of allocas 2022-10-19 18:36:53 +02:00
wasm-undefined.txt wasm: do not allow undefined symbols 2022-09-08 08:25:27 +02:00
wasm.json wasm: fix GC scanning of allocas 2022-10-19 18:36:53 +02:00
wasm_exec.js syscall/js: allow copyBytesTo(Go|JS) to use Uint8ClampedArray 2022-03-07 19:01:55 +01:00
wioterminal.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
x9pro.json all: add a flag to the command line to select the serial implementation 2021-06-25 17:58:39 +02:00
xiao-ble.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
xiao-esp32c3.json boards: Add XIAO ESP32C3 board 2022-08-26 12:44:04 +02:00
xiao-rp2040.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
xiao-rp2040.ld Initial support for XIAO RP2040 2022-07-06 22:23:47 +02:00
xiao.json targets: remove "acm:"` prefix for USB vid/pid pair 2022-10-16 10:02:48 +02:00
xtensa.json Also disable asynchronous unwind tables 2022-04-11 14:58:55 +02:00