Mercurial > repos > rhope
diff runtime/object.h @ 66:d4b44ae2e34a
New variant of C backend works now
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 06 Jun 2010 20:29:10 -0400 |
parents | 04baa003de5a |
children | c40c3d399133 |
line wrap: on
line diff
--- a/runtime/object.h Tue Jun 01 01:13:54 2010 -0400 +++ b/runtime/object.h Sun Jun 06 20:29:10 2010 -0400 @@ -42,17 +42,17 @@ } multisize; #pragma pack(push,1) -typedef struct calldata { - object *params[1]; +struct calldata { struct calldata *lastframe; + uint32_t func; uint16_t num_params; - uint16_t resume; - uint32_t func; + uint16_t callspace; + object *params[1]; }; #pragma pack(pop) #define OBegin typedef struct { -#define Object(name) } nt_ ## name; typedef struct { object SP_header; nt_ ## name payload; } t_ ## name; +#define Object(name) } nt_ ## name; typedef struct { object SP_header; nt_ ## name payload; } t_ ## name; #define MObject(name) } nt_ ## name; typedef struct { multisize SP_header; nt_ ## name payload; } t_ ## name; #define Box(nakedtype,fieldname,objectname) typedef struct{ object SP_header; nakedtype fieldname; } t_ ## objectname;