aboutsummaryrefslogtreecommitdiffstats
path: root/library/go/x/xruntime/stacktrace.go
diff options
context:
space:
mode:
authorqrort <qrort@yandex-team.com>2022-12-02 11:31:25 +0300
committerqrort <qrort@yandex-team.com>2022-12-02 11:31:25 +0300
commitb1f4ffc9c8abff3ba58dc1ec9a9f92d2f0de6806 (patch)
tree2a23209faf0fea5586a6d4b9cee60d1b318d29fe /library/go/x/xruntime/stacktrace.go
parent559174a9144de40d6bb3997ea4073c82289b4974 (diff)
downloadydb-b1f4ffc9c8abff3ba58dc1ec9a9f92d2f0de6806.tar.gz
remove kikimr/driver DEPENDS
Diffstat (limited to 'library/go/x/xruntime/stacktrace.go')
-rw-r--r--library/go/x/xruntime/stacktrace.go69
1 files changed, 0 insertions, 69 deletions
diff --git a/library/go/x/xruntime/stacktrace.go b/library/go/x/xruntime/stacktrace.go
deleted file mode 100644
index 5c5e661188..0000000000
--- a/library/go/x/xruntime/stacktrace.go
+++ /dev/null
@@ -1,69 +0,0 @@
-package xruntime
-
-import (
- "runtime"
-)
-
-type StackTrace struct {
- frames []uintptr
- full bool
-}
-
-func NewStackTrace16(skip int) *StackTrace {
- var pcs [16]uintptr
- return newStackTrace(skip+2, pcs[:])
-}
-
-func NewStackTrace32(skip int) *StackTrace {
- var pcs [32]uintptr
- return newStackTrace(skip+2, pcs[:])
-}
-
-func NewStackTrace64(skip int) *StackTrace {
- var pcs [64]uintptr
- return newStackTrace(skip+2, pcs[:])
-}
-
-func NewStackTrace128(skip int) *StackTrace {
- var pcs [128]uintptr
- return newStackTrace(skip+2, pcs[:])
-}
-
-func newStackTrace(skip int, pcs []uintptr) *StackTrace {
- n := runtime.Callers(skip+1, pcs)
- return &StackTrace{frames: pcs[:n], full: true}
-}
-
-func NewFrame(skip int) *StackTrace {
- var pcs [3]uintptr
- n := runtime.Callers(skip+1, pcs[:])
- return &StackTrace{frames: pcs[:n]}
-}
-
-func (st *StackTrace) Frames() []runtime.Frame {
- frames := runtime.CallersFrames(st.frames[:])
- if !st.full {
- if _, ok := frames.Next(); !ok {
- return nil
- }
-
- fr, ok := frames.Next()
- if !ok {
- return nil
- }
-
- return []runtime.Frame{fr}
- }
-
- var res []runtime.Frame
- for {
- frame, more := frames.Next()
- if !more {
- break
- }
-
- res = append(res, frame)
- }
-
- return res
-}