tinygo/transform
Nia Waldvogel ecd8c2d902 transform (coroutines): fix memory corruption for tail calls that reference stack allocations
This change fixes a bug in which `alloca` memory lifetimes would not extend past the suspend of an asynchronous tail call.
This would typically manifest as memory corruption, and could happen with or without normal suspending calls within the function.
2021-09-21 20:08:30 +02:00
..
testdata transform (coroutines): fix memory corruption for tail calls that reference stack allocations 2021-09-21 20:08:30 +02:00
allocs.go main: add -print-allocs flag that lets you print all heap allocations 2021-04-22 19:53:42 +02:00
allocs_test.go transform: split interface and reflect lowering 2021-05-03 20:10:49 +02:00
coroutines.go transform (coroutines): fix memory corruption for tail calls that reference stack allocations 2021-09-21 20:08:30 +02:00
errors.go refactor coroutine lowering and tasks 2020-03-17 12:16:10 +01:00
func-lowering.go compiler: decouple func lowering from interface type codes 2021-04-12 12:07:42 +02:00
func-lowering_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
gc.go transform: improve GC stack slot pass to work around a bug 2021-08-04 20:06:59 +02:00
gc_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
globals.go compiler: add function and global section pragmas 2021-06-24 15:00:30 +02:00
globals_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
goroutine_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
interface-lowering.go compiler: refactor method names 2021-06-17 12:17:32 +02:00
interface-lowering_test.go transform: split interface and reflect lowering 2021-05-03 20:10:49 +02:00
interrupt.go Support chained interrupt handlers 2021-05-25 20:44:49 +02:00
interrupt_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
llvm.go runtime/fe310: add support for PLIC interrupts 2020-01-27 19:58:39 +01:00
maps.go all: move OptimizeMaps to transforms and add tests 2019-09-15 21:26:27 +02:00
maps_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
optimizer.go transform: split interface and reflect lowering 2021-05-03 20:10:49 +02:00
panic.go compiler: move ReplacePanicsWithTrap pass to transforms 2019-11-16 18:41:28 +01:00
panic_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
reflect.go transform: split interface and reflect lowering 2021-05-03 20:10:49 +02:00
reflect_test.go transform: split interface and reflect lowering 2021-05-03 20:10:49 +02:00
rtcalls.go compiler: refactor method names 2021-06-17 12:17:32 +02:00
rtcalls_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
stacksize.go arm: automatically determine stack sizes 2020-08-27 19:23:22 +02:00
stacksize_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00
transform.go all: refactor heap-to-stack transform into the transform package 2019-09-15 21:26:27 +02:00
transform_test.go transform: split interface and reflect lowering 2021-05-03 20:10:49 +02:00
util.go compiler: move OptimizeStringToBytes to transform package 2019-09-22 08:25:50 +02:00
wasm-abi.go builder: add optsize attribute while building the package 2021-04-08 11:40:59 +02:00
wasm-abi_test.go transform: move tests to transform_test package 2021-04-22 19:53:42 +02:00