Files
Jim Posen 8fcdf0dc1f Delay WASM Branch Condition Concretization (#1641)
* Fix typos.

* Create StackItem type alias.

* New failing tests demonstrating Wasm branching bugs.

The issue is that the Wasm symbolic execution engine concretizes the
integer input to branching instructions. Aside frome being
inefficient, the concretization logic prevents forking into more than
a small number of values and silently skips exploration of other
values.

* Fix for wasm if and br_if execution.

The engine raises a ConcretizeCondition exception to determine the
branch path and constrain the state minimally.

* Remove unnecessary bitwise AND.

It's unnecessary because c_int32 truncates to 32 bits and it's weird
because this bitwise and isn't there for I64.

* Failing tests demonstrating bug in br_table and call_indirect.

* Fix bugs with br_table and call_indirect using concrete conditions.

* Fix typing errors.

* Try to get wasm tests passing.

* Move advice conditions from Stack to separate structure.

* Fix so that multiple conditions may be concretized.

* Update incorrect comment on StateBase.concretize.

* Appease type checker.
2020-04-07 14:56:28 -07:00
..