Fish

Results 202 comments of Fish

I would suggest the name `CFGFollower`, since you really don't have to use a normalized CFG. It should be able to support an arbitrary CFG. Note that a user can...

Another suggestion: don't call `cfg.normalize()` in the code. Just use whatever CFG instance that is passed in. The user should be processing the CFG before passing it in.

> I think there should at least be a check and a warning if the CFG is not normalized, what do you think? I understand why you are doing that,...

Thanks! I'll merge them in once those issues are pinpointed and resolved.

@mborgerson Waiting for you to rebase your `fix/pcode` branch.

Before looking at what VEX lifts the blocks to: These instructions are all conditional, right? So strictly speaking, it's not incorrect for VEX to break the block at 0x43DB1C.

Yeah I am correct. Take a look at the VEX IR output: ``` 00 | ------ IMark(0x43db14, 4, 0) ------ 01 | t0 = GET:I32(r2) 02 | PUT(cc_op) = 0x00000001...

> ut is it possible to make pyvex specifically not mark conditional execution as the end of a basic block? So that the definitions of "basic block" are consistent in...

> if it stops at a "jump" that is actually a conditional execution, continue executing. I hope we can solve it in an architecture-agnostic manner, instead of explicitly making "conditional...

Thanks for the report! Looks like a bug, but the bug is probably caused by a different optimization. I'll take a look.