-
Notifications
You must be signed in to change notification settings - Fork 37.7k
Wrap EvalScript in a ScriptExecution class #10729
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
Conversation
Rebased |
Concept ACK, will review |
Rebased |
@@ -278,7 +278,12 @@ int FindAndDelete(CScript& script, const CScript& b) | |||
return nFound; | |||
} | |||
|
|||
bool EvalScript(std::vector<std::vector<unsigned char> >& stack, const CScript& script, unsigned int flags, const BaseSignatureChecker& checker, SigVersion sigversion, ScriptError* serror) | |||
ScriptExecution::ScriptExecution(StackType& stack_in, const CScript& script_in, unsigned int flags_in, const BaseSignatureChecker& checker_in, SigVersion sigversion_in) : | |||
script(script_in), stack(stack_in), flags(flags_in), checker(checker_in), sigversion(sigversion_in), pc(script.begin()), pbegincodehash(script.begin()), nOpCount(0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should vfExec
and altstack
be initialized too?
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
utACK, unless I'm missing something, this should not change behavior at all. |
The last travis run for this pull request was 286 days ago and is thus outdated. To trigger a fresh travis build, this pull request should be closed and re-opened. |
Abandoning this until there's some indication anyone cares |
When we last discussed making scripts debuggable (sometime after #3901), the plan was to instead trace execution rather than single-step through it.
This is the first step toward that goal. The full implementation can be found on my
script_debugger
branch.