]> gitweb.factorcode.org Git - factor.git/blob - basis/tools/disassembler/utils/utils.factor
prettyprint: disable NAN unparse on linux/x86-32
[factor.git] / basis / tools / disassembler / utils / utils.factor
1 USING: accessors kernel math math.parser prettyprint sequences
2 splitting tools.memory ;
3 IN: tools.disassembler.utils
4
5 : 0x- ( str -- str' ) "0x" prepend ;
6
7 : complete-address ( n seq -- str )
8     [ nip owner>> unparse-short ] [ entry-point>> - ] 2bi
9     [ >hex 0x- " + " glue ] unless-zero ;
10
11 : search-xt ( addr -- str/f )
12     dup lookup-return-address
13     dup [ complete-address ] [ 2drop f ] if ;
14
15 : resolve-xt ( str -- str' )
16     [ 0x- ] [ hex> ] bi
17     [ search-xt [ " (" ")" surround append ] when* ] when* ;
18
19 : resolve-call ( str -- str' )
20     "0x" split1-last [ resolve-xt "0x" glue ] when* ;