1
0
mirror of https://github.com/angr/pyvex synced 2026-06-21 13:47:01 +00:00
Commit Graph

4 Commits

Author SHA1 Message Date
Kevin Phoenix 23503e7919 Use black (#291)
* Use black

* Fix the lint error
2023-01-13 14:23:57 -07:00
Zachary Wimer cd758543f1 Code Quality: trailing whitespace, pyupgrade, prefer builtin constructors (#288)
* trailing whitespace, pyupgrade, prefer builtin constructors

* lint
2022-12-20 21:12:37 -07:00
Fish 51a4121953 Make lifting faster. (#141)
See https://github.com/angr/angr/pull/1092 for more details.

* The initial commit.

* Redo the lifting logic to avoid redundant IRSB copying.

* Move get_defaultexit_target() from Python to C to speed things up.

* Add a check to make sure LibVEX_Lift() does not return NULL.

* Implement IRSB.instruction_addresses.

* Implement IRSB.has_statements.

* Fix IRSB.addr.

* Fix a NULL-deref in pyvex.c.

* Postprocessor: Do not remove NoOp statements.

Otherwise it will cause a mismatch between statement indices and the
indices in IRSB.exit_statements (which are generated in PyVEX C).

* FixesPostProcessor: Get the IRSB address correctly.

* Remove NoOp statements in the C world.

* Restore the IRSB size calculation.

* Make sure exit_statements is not None before accessing.

* Enable tests for PyVEX itself.

* Implement ARM call jumpkind fixer in C for a better performance.

* Implement MIPS32 post-processing in C world.

* Add a missing undefine.

* Fix test.py.

* Add stddef.h to pyvex.c.

* Implement data reference collection in pyvex_c.

* Lint the code.

* Expose PyVEXError.

* More linting.

* oops

* Expose get_type_size and get_type_spec_size.

* Expose IRTypeEnv.

* Postprocessor: Support NeedStatementsNotification.

* Reorganize lifting/__init__.py.

* Remove the IRSB.addr property, replace with raw attribute

* Make check against MAX_DATA_REFS more explicit

* Move from data ref tuples to a DataRef class

* Lint block.py: Define data_refs and _instruction_addresses in __init__

* Make pyvex.lift positional arguments match pyvex.IRSB

* The kosher way to do this is .lift()

* Split pyvex.c into several smaller C files

(committing as fish to preserve authorship)
2018-07-27 05:45:12 +08:00
Fish 9a8fcf21e5 Rename .lift to .lifting to avoid the lift() method shadowing the lift module. (#127)
* Rename .lift to .lifting to avoid the lift() method shadowing the lift module.

* Tidy the code and make future development easier.

- Remove all absolute import of pyvex.
- Remove all absolute import of Python modules that should be relative
  imports.
- Split lifting.__init__.py into separate files.
- Delay an import from angr to avoid circular import.
2018-03-19 23:20:20 -07:00