Commit graph

11 commits

Author SHA1 Message Date
Fish
22613f4a0a
CompleteCallingConventions: fail loudly when all workers die. (#6718) 2026-07-27 18:20:59 -07:00
Kevin Phoenix
f939c5b88c
Enable ruff isort rule (#6452)
* Enable ruff isort rule

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-06-02 14:48:07 -07:00
Fish
af318d801d
CFGModel: Preserve addr_type when needed. (#6260)
* CFGModel: Preserve addr_type when needed.

* Add a test case.

* Type check.
2026-03-18 19:09:54 -07:00
Fish
65915fad40
SpillingCFG: Cache call destinations. (#6248)
* SpillingCFG: Cache call destinations.

* Lint code.
2026-03-17 19:24:11 -07:00
Fish
8be232fd16
RtDb: Spilling CFG edges and edge attributes. (#6179)
* Preliminary implementation of CFG edge spilling.

* Many tweaks.

* Use little endian; switch to native bytes and msgspec.

* More tweaking.

* Fix test cases.

* Get rid of _all_keys.

* Lint code.

* Type check.
2026-02-26 02:30:53 -07:00
Fish
78799acd95
CFGModel: Spilling CFG nodes to RtDb. (#6092)
* Preliminary implementation of a spilling CFG graph.

* Fix some test cases.

* Fix another test case.

* Fixes.

* Lint code.

* Implement InEdgeView and OutEdgeView.

* Implement InDegreeView and OutDegreeView.

* Fixes.

* Use (Node.addr, Node.size) as key.

* Fix test cases.

* More fixes.

* Fix CFGENode support.

* Fix the remaining issues.

* Get rid of SpillingCFGGraph.reverse().

* Some refactoring.

* Oops

* Fix perf issue.

* Fix set size change error during key iteration.

* Fix db_batch_size assignment. Fix some test cases.

* SpillingCFGNodeDict.__setstate__: Initialize self._all_keys.

* Getting rid of the nodes dictionary.

* Fix logic in cfg_emulated.py

* Multiple fixes.

* Type annotation fix.

* Fix missing edges after merging CFGNodes.

* Fix more logic.

* Add Soot CFGNodes to the CFG model.

* Lint and type check.

* Add USE_SPILLING_CFGNODE_DICT and CFGNode.dirty.

* Oops

* Lint code.

* No more pickling of CFGNodes.

* Fix no_ret being None.

* Lint code.

* Some refactor; Destroy the fallback mechanism.

* Fix node dirty bug after deserialization.
2026-02-24 09:40:02 -07:00
Kevin Phoenix
ee464d0338
Adopt from __future__ import annotations (#4790) 2024-08-28 18:31:43 -07:00
Matt Borgerson
883f08fcd8 tests: Fixup shebangs, main functions, and mark tests executable 2023-09-07 18:46:00 -07:00
zwimer
346b2d883d black 2023-01-12 16:43:51 -07:00
mborgerson
cfafb919fe
tests: Add missing __init__.py files for test discovery (#3498)
* tests: Add missing __init__.py files

* Environment::merge: Add back other environment type check

* TestEnvironment: Fix merge() rval unpacking

* TestLiveDefinitons: Fix merge() rval unpacking

* LiveDefinitions::get_sp: Don't filter out 0 values
2022-08-29 23:10:42 -07:00
Pamplemousse
39db5a68ab
CFGManager: Get the most accurate CFG easily (#2342)
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2020-10-07 11:25:02 -07:00