Previously, the MakeGCStackSlots pass would attempt to pop the stack chain before a tail call. This resulted in use-after-free bugs when the tail call allocated memory and used a value allocated by its caller. Instead of trying to move the stack chain pop, remove the tail flag from the call. |
||
|---|---|---|
| .. | ||
| allocs.ll | ||
| allocs.out.ll | ||
| allocs2.go | ||
| gc-stackslots.ll | ||
| gc-stackslots.out.ll | ||
| globals-function-sections.ll | ||
| globals-function-sections.out.ll | ||
| interface.ll | ||
| interface.out.ll | ||
| interrupt.ll | ||
| interrupt.out.ll | ||
| maps.ll | ||
| maps.out.ll | ||
| panic.ll | ||
| panic.out.ll | ||
| reflect-implements.ll | ||
| reflect-implements.out.ll | ||
| reflect.go | ||
| stacksize.ll | ||
| stacksize.out.ll | ||
| stringequal.ll | ||
| stringequal.out.ll | ||
| stringtobytes.ll | ||
| stringtobytes.out.ll | ||
| wasm-abi.ll | ||
| wasm-abi.out.ll | ||