diff options
author | Ayke van Laethem <[email protected]> | 2023-09-21 01:35:48 +0200 |
---|---|---|
committer | Ron Evans <[email protected]> | 2023-09-22 15:28:52 +0200 |
commit | 081d2e58c6a9b616b5fc3f19b4ce3850d0f398d8 (patch) | |
tree | 91b058871cc9908c32de09a53f900cb614067631 /go.mod | |
parent | ed2a98c7d03dd9b02ec4a83f381eb3144ca75ed3 (diff) | |
download | tinygo-081d2e58c6a9b616b5fc3f19b4ce3850d0f398d8.tar.gz tinygo-081d2e58c6a9b616b5fc3f19b4ce3850d0f398d8.zip |
interp: print LLVM instruction in traceback
The old traceback would look like this:
# internal/godebug
/usr/local/go/src/internal/godebug/godebug.go:101:11: interp: test
call <2> 0 <3> 0
traceback:
/usr/local/go/src/internal/godebug/godebug.go:101:11:
call <2> 0 <3> 0
/usr/local/go/src/internal/godebug:
call <1> 0
With this patch, it looks like this:
# io/fs
/usr/local/go/src/io/fs/fs.go:144:45: interp: test
%0 = load %runtime._interface, ptr @"internal/oserror.ErrInvalid", align 8, !dbg !316
traceback:
/usr/local/go/src/io/fs/fs.go:144:45:
%0 = load %runtime._interface, ptr @"internal/oserror.ErrInvalid", align 8, !dbg !316
/usr/local/go/src/io/fs/fs.go:137:28:
%0 = call %runtime._interface @"io/fs.errInvalid"(ptr undef), !dbg !317
For developers (like me) who are familiar with LLVM, this is probably
easier to read. For users, I'm not sure: the instructions have quite a
lot of distracting fluff in them. But at least it contains the function
names that are called (which are not currently present in the old
traceback).
...that said, having the LLVM instructions in a bug report is probably
going to be easier for people who are familar with LLVM.
Diffstat (limited to 'go.mod')
-rw-r--r-- | go.mod | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -18,7 +18,7 @@ require ( golang.org/x/sys v0.11.0 golang.org/x/tools v0.12.0 gopkg.in/yaml.v2 v2.4.0 - tinygo.org/x/go-llvm v0.0.0-20230918183930-9edb6403d0bc + tinygo.org/x/go-llvm v0.0.0-20230920233244-32ed56c6be9c ) require ( |