blob: 27d88bc6429df6f678f0e581995df2a62223a5e1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
use "types"
pkg std =
const backtrace : (pc : void#[:] -> std.size)
;;
type stackrec = struct
next : stackrec#
pc : void#
;;
extern const getbp : (-> stackrec#)
const backtrace = {pc
var bp, i, len
i = 0
len = pc.len
bp = getbp()
while bp != (0 : stackrec#) && i < len
pc[i++] = bp.pc
bp = bp.next
;;
-> i
}
|