Concrete Python
git-339c971
|
#include <concrete/execution.hpp>
Classes | |
struct | Block |
struct | Data |
Public Member Functions | |
ExecutionFrame (const ExecutionFrame &other) throw () | |
ExecutionFrame () throw () | |
void | destroy () throw () |
Object | result () |
template<typename Visitor > | |
void | visit (Visitor &v) const |
Protected Types | |
enum | { MaxBlocks } |
Protected Member Functions | |
ExecutionFrame (unsigned int address) throw () | |
template<typename T > | |
T | load_bytecode () |
void | jump_absolute (unsigned int target) |
void | jump_forward (unsigned int delta) |
void | push (const Object &object) |
Object | peek () const |
Object | pop () |
void | push_block (unsigned int delta) |
const Block & | peek_block () const |
void | pop_block () |
Static Protected Member Functions | |
static ExecutionFrame | New (const ExecutionFrame &parent, const CodeObject &code, const DictObject &dict) |
Private Member Functions | |
Data * | data () const |
Function call state.
ExecutionFrame | ( | unsigned int | address | ) | throw () [explicit, protected] |
Cast an Arena offset into a typed pointer.
ExecutionFrame | ( | const ExecutionFrame & | other | ) | throw () |
Another reference.
ExecutionFrame | ( | ) | throw () |
Type-specific null pointer.
ExecutionFrame::Data * data | ( | ) | const [private] |
Direct short-term access to Arena memory. Valid until the next memory allocation.
void jump_absolute | ( | unsigned int | target | ) | [protected] |
Replace the current bytecode position.
void jump_forward | ( | unsigned int | delta | ) | [protected] |
Advance the current bytecode position.
T load_bytecode | ( | ) | [protected] |
Read from and advance the current bytecode position.
ExecutionFrame New | ( | const ExecutionFrame & | parent, |
const CodeObject & | code, | ||
const DictObject & | dict | ||
) | [static, protected] |
Create a frame. It's not yet attached to an executor.
const ExecutionFrame::Block & peek_block | ( | ) | const [protected] |
void push_block | ( | unsigned int | delta | ) | [protected] |
Add a Block referring to the current bytecode position at the top of the block stack.
void visit | ( | Visitor & | v | ) | const |
Visit all object references in this and its parent frames.