|
Concrete Python
git-339c971
|
#include <concrete/execution.hpp>
Inheritance diagram for ExecutionFrame:
Collaboration diagram for ExecutionFrame: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.
1.7.6.1