mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-03 02:27:48 +00:00
89ffb47a0c
Add unwinding and recover support for wasm using WebAssembly exception
handling. This still has a few gotchas:
* Many WASI systems don't support exception handling yet.
For example, see:
https://github.com/bytecodealliance/wasmtime/issues/2049
* Asyncify doesn't support wasm exception handling:
https://github.com/WebAssembly/binaryen/issues/4470
This means it's not possible to use goroutines together with
panic/recover.
* The current way that exceptions are implemented pretend to be C++
exceptions, but work slightly differently. If C++ code is called
(for example through CGo) that raises an exception, that exception
will be eaten by TinyGo and not be propagated. This is fixable, it
just hasn't been implemented (because we don't actually support C++
right now).
I hope that these issues will be resolved over time. At least for now,
people who need `recover()` have a way to use it.
37 lines
1.3 KiB
Modula-2
37 lines
1.3 KiB
Modula-2
module github.com/tinygo-org/tinygo
|
|
|
|
go 1.19
|
|
|
|
require (
|
|
github.com/aykevl/go-wasm v0.0.2-0.20240312204833-50275154210c
|
|
github.com/blakesmith/ar v0.0.0-20150311145944-8bd4349a67f2
|
|
github.com/chromedp/cdproto v0.0.0-20220113222801-0725d94bb6ee
|
|
github.com/chromedp/chromedp v0.7.6
|
|
github.com/gofrs/flock v0.8.1
|
|
github.com/google/shlex v0.0.0-20181106134648-c34317bd91bf
|
|
github.com/inhies/go-bytesize v0.0.0-20220417184213-4913239db9cf
|
|
github.com/marcinbor85/gohex v0.0.0-20200531091804-343a4b548892
|
|
github.com/mattn/go-colorable v0.1.13
|
|
github.com/mattn/go-tty v0.0.4
|
|
github.com/sigurn/crc16 v0.0.0-20211026045750-20ab5afb07e3
|
|
go.bug.st/serial v1.6.0
|
|
golang.org/x/net v0.26.0
|
|
golang.org/x/sys v0.21.0
|
|
golang.org/x/tools v0.22.1-0.20240621165957-db513b091504
|
|
gopkg.in/yaml.v2 v2.4.0
|
|
tinygo.org/x/go-llvm v0.0.0-20240804145059-aaff3eb751f0
|
|
)
|
|
|
|
require (
|
|
github.com/chromedp/sysutil v1.0.0 // indirect
|
|
github.com/creack/goselect v0.1.2 // indirect
|
|
github.com/gobwas/httphead v0.1.0 // indirect
|
|
github.com/gobwas/pool v0.2.1 // indirect
|
|
github.com/gobwas/ws v1.1.0 // indirect
|
|
github.com/josharian/intern v1.0.0 // indirect
|
|
github.com/mailru/easyjson v0.7.7 // indirect
|
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
|
github.com/stretchr/testify v1.8.4 // indirect
|
|
golang.org/x/text v0.16.0 // indirect
|
|
)
|