diff options
author | Ben Smith <binjimin@gmail.com> | 2017-10-12 14:07:18 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-12 14:07:18 -0700 |
commit | 742c1d83a1d2e2d63398a8febcad6474b21f6fac (patch) | |
tree | 66694ee65ab3034ba7175baf08b2d62b8a648488 /src/binary-reader-logging.cc | |
parent | 9fc1661250adf19e3678bb44ee72b8cd85680de8 (diff) | |
download | wabt-742c1d83a1d2e2d63398a8febcad6474b21f6fac.tar.gz wabt-742c1d83a1d2e2d63398a8febcad6474b21f6fac.tar.bz2 wabt-742c1d83a1d2e2d63398a8febcad6474b21f6fac.zip |
Refactor interpreter execution (#650)
* Move `Thread::Run*` functions into `Executor`. The executor abstracts
over any execution, which will allow us to simulated multi-threaded
execution (which would be awkward to implement with an API on the
Thread object).
* Add `ExecResult` type which wraps an `interp::Result` and the results
from the function. There are too many things called `Result` now, so
perhaps some should be renamed. Not sure what to call them though.
* Expose some of the low-level functionality of `Thread` as public
member functions. This means that it is possible to get `Thread` into
an invalid state, but IMO that's OK since the assumption is that you
know what you're doing if you use the `Thread` API.
* Simplify value_stack and call_stack to use array indexes instead of
pointers.
* Remove the `call_stack_return_top`. This was used to handle calling
back and forth between the interpreter and the host, but this is not
currently done anywhere anymore. It's probably better to remove this
functionality until it is used (if ever).
Diffstat (limited to 'src/binary-reader-logging.cc')
0 files changed, 0 insertions, 0 deletions