Mercurial > repos > rhope
view runtime/context.h @ 163:9fab36cc706b
Add Raw Size method to blueprint to allow code to query the raw size of a type in bytes
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 09 Jan 2011 23:03:30 -0500 |
parents | f2cb85c53ced |
children | ba35ab624ec2 |
line wrap: on
line source
#ifndef _CONTEXT_H_ #define _CONTEXT_H_ #include "thread.h" #include "plat_types.h" #include "func.h" #include "transaction.h" #define STACK_CHUNK_SIZE 4096-(sizeof(struct stackchunk *)*2+sizeof(char *)) typedef struct stackchunk { struct stackchunk * next; struct stackchunk * prev; char *free_space; char data[STACK_CHUNK_SIZE]; } stackchunk; typedef struct context { stackchunk *stack_begin; stackchunk *current_stack; transaction *transaction; struct context *runafter; calldata *resume_cdata; int32_t resumeable; } context; Box(context *,ct,Context); stackchunk * new_stack(); context * new_context(); void * alloc_stack(context * ct, uint32_t size); calldata * alloc_cdata(context * ct, calldata * lastframe, uint32_t num_params); void free_stack(context * ct, void * data); void free_context(context * c); void cqueue_init(); context * get_cqueue(); int32_t put_cqueue(context * ct); object * make_Context(context * ct); #endif //_CONTEXT_H_