Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Slots on all Expression objects #2394

Merged
merged 13 commits into from
Mar 12, 2021
Merged

Use Slots on all Expression objects #2394

merged 13 commits into from
Mar 12, 2021

Conversation

ekilmer
Copy link
Contributor

@ekilmer ekilmer commented Feb 28, 2021

More minimal PR after breaking it out of #1729

closes #1731

Notes:

  • Small refactor for easier testing of BitVecConcat. In an upcoming PR, we will switch all Expression objects to keyword arguments only.

  • Small refactor after setting some base Expression classes as abstract=True

  • Had to remove a regression test that involved a Pickled file, since I don't know how to recreate that file 😞

Copy link
Contributor

@sschriner sschriner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🙂

tests/other/test_smtlibv2.py Outdated Show resolved Hide resolved
tests/other/test_smtlibv2.py Show resolved Hide resolved
manticore/wasm/cli.py Outdated Show resolved Hide resolved
manticore/core/smtlib/expression.py Outdated Show resolved Hide resolved
manticore/core/smtlib/expression.py Show resolved Hide resolved
* master:
  Allow double-adding exact same config option (#2397)
Copy link
Contributor

@ehennenfent ehennenfent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me as a minimal changeset. I do think that the argument unpacking behavior is a little bit too confusing, but my requested fix for that would be to switch to keyword-only arguments. Let's try to merge #2395 very soon after this one.

manticore/core/smtlib/expression.py Show resolved Hide resolved
@ekilmer ekilmer merged commit 29061a2 into master Mar 12, 2021
@ekilmer ekilmer deleted the slotted branch March 12, 2021 14:27
ekilmer added a commit that referenced this pull request Apr 7, 2021
* master:
  Removed use of global solver from Native Memory (#2414)
  Support to use boolector as the SMT solver (#2410)
  Update CI and suggest to use pip3 instead of pip (#2409)
  Expressions use keyword-only arguments for init (#2395)
  Use Slots on all Expression objects (#2394)
  Allow double-adding exact same config option (#2397)
  Don't run OSX tests on PR
  Attempt to Fix solc Installation MacOS (#2392)
  Syscall specific hooks (#2389)
  TUI Support Infrastructure (#1620)
  Fix coveralls upload (#2387)
  docs: fix simple typo, straigth -> straight (#2381)
  Attempt to allow symbolic balances from the start (#1818)
  Fix state.cpu.PC member (#1825)
  Bump black and mypy (#1824)
ekilmer added a commit that referenced this pull request Apr 10, 2021
* master: (22 commits)
  Fix the generation of EVM tests (#2426)
  Disabled EVM events in testcases by default (#2417)
  added proper timeouts for cvc4 and boolector (#2418)
  Removed use of global solver from Native Memory (#2414)
  Support to use boolector as the SMT solver (#2410)
  Update CI and suggest to use pip3 instead of pip (#2409)
  Expressions use keyword-only arguments for init (#2395)
  Use Slots on all Expression objects (#2394)
  Allow double-adding exact same config option (#2397)
  Don't run OSX tests on PR
  Attempt to Fix solc Installation MacOS (#2392)
  Syscall specific hooks (#2389)
  TUI Support Infrastructure (#1620)
  Fix coveralls upload (#2387)
  docs: fix simple typo, straigth -> straight (#2381)
  Attempt to allow symbolic balances from the start (#1818)
  Fix state.cpu.PC member (#1825)
  Bump black and mypy (#1824)
  Manticore 0.3.5 (#1808)
  Fix yices timeout argument (#1817)
  ...
@ehennenfent ehennenfent mentioned this pull request May 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use __slots__ throughout the expression system
3 participants