Commit Graph

7 Commits

Author SHA1 Message Date
Joe Hendrix
88c4017c3f
Remove flexdis86 dependency; use macaw-x86 2017-05-04 16:17:51 -07:00
Joe Hendrix
0d086237e8
Start using jump bounds; introduce "ParsedBlocks"
The code is now using a constraint representation for Jump bounds; an
attempt to reduce the need for strided intervals.

It's a bit unclear how much of a win this is; the jump bounds should
recognize the size of a jump table with fewer needs to repeat as
strided intervals may.  However, it doesn't solve the incompleteness
problem that I hoped it would -- if the intra-procedural control flow
graph contains missing edges, the result may still be incomplete.

This code also introduces ParsedBlocks, a basic block representation
that used the ParseTermStmt.  A future patch will start including this
in the discoveryinfo, so that later procedures do not need to call
"classifyBlock".
2017-02-16 02:53:19 -05:00
Joe Hendrix
ab2e50a17d
Move assignId ref computation from reopt to macaw; minor additional changes. 2017-02-03 14:25:35 -08:00
Joe Hendrix
e962608f2c
Add JumpTable bounds; remove code discovery dependency on syscall. 2017-01-28 12:57:49 -08:00
Tristan Ravitch
37a38954eb Add a version bound on IntervalMap
Macaw uses the API from 0.5, which is incompatible with 0.4 for the contains
function.
2017-01-06 16:10:23 -08:00
Joe Hendrix
e27d3ee0ef
Additional support for relocations; GHC 8.0.1 compat 2016-12-27 13:59:21 -08:00
Joe Hendrix
7b568edc0c
Initial commit of macaw 2016-11-28 23:14:04 -08:00