PmFrame_s Struct Reference

#include <frame.h>

List of all members.

Public Attributes

PmObjDesc_t od
struct PmFrame_sfo_back
pPmFunc_t fo_func
PmMemSpace_t fo_memspace:8
uint8_t const * fo_ip
pPmBlock_t fo_blockstack
pPmDict_t fo_attrs
pPmDict_t fo_globals
pPmObj_tfo_sp
uint8_t fo_isImport:1
pPmObj_t fo_locals [1]


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.


Member Data Documentation

Local attributes dict (non-fast locals)

struct PmFrame_s* PmFrame_s::fo_back [read]

Ptr to previous frame obj

Linked list of blocks

Ptr to fxn obj

Global attributes dict (pts to root frame's globals

uint8_t const* PmFrame_s::fo_ip

Instrxn ptr (pts into memspace)

Frame can be an import-frame that handles RETURN differently

Array of local vars and stack (space appended at alloc)

Mem space where func's CO comes from

Points to next empty slot in fo_locals (1 past TOS)

Obligatory obj descriptor


The documentation for this struct was generated from the following file:

Generated on Wed Feb 24 13:37:03 2010 for Python-on-a-chip by  doxygen 1.5.9