python-on-a-chip online compiler
PmFrame_s Struct Reference
Frame. More...
#include <frame.h>
Data Fields | |
PmObjDesc_t | od |
Obligatory obj descriptor. | |
struct PmFrame_s * | fo_back |
Ptr to previous frame obj. | |
pPmFunc_t | fo_func |
Ptr to fxn obj. | |
PmMemSpace_t | fo_memspace:8 |
Mem space where func's CO comes from. | |
uint8_t const * | fo_ip |
Instrxn ptr (pts into memspace) | |
pPmBlock_t | fo_blockstack |
Linked list of blocks. | |
pPmDict_t | fo_attrs |
Local attributes dict (non-fast locals) | |
pPmDict_t | fo_globals |
Global attributes dict (pts to root frame's globals. | |
pPmObj_t * | fo_sp |
Points to next empty slot in fo_locals (1 past TOS) | |
uint8_t | fo_isImport:1 |
Frame can be an import-frame that handles RETURN differently. | |
uint8_t | fo_isInit:1 |
Flag to indicate class initailzer frame; handle RETURN differently. | |
pPmObj_t | fo_locals [1] |
Array of local vars and stack (space appended at alloc) |
Detailed Description
Frame.
A struct that holds the execution frame of a function, including the stack, local vars and pointer to the code object.
This struct doesn't declare the stack. frame_new() is responsible for allocating the extra memory at the tail of fo_locals[] to hold both the locals and stack.
Definition at line 83 of file frame.h.
Field Documentation
uint8_t fo_isImport |
uint8_t fo_isInit |
Generated on Tue Jul 12 2022 23:13:47 by 1.7.2