Mercurial > repos > rhope
diff runtime/object.h @ 56:d2f9b0a9403d
Initial experiment with goto and switch
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 08 Oct 2009 01:52:38 -0400 |
parents | 495dddadd058 |
children | b218af069da7 |
line wrap: on
line diff
--- a/runtime/object.h Tue Oct 06 23:13:47 2009 -0400 +++ b/runtime/object.h Thu Oct 08 01:52:38 2009 -0400 @@ -15,6 +15,7 @@ special_func copy; special_func cleanup; struct object *name; + uint32_t type_id; uint32_t first_methodid; uint32_t last_methodid; uint32_t first_getfieldid; @@ -39,17 +40,15 @@ uint32_t size; } multisize; - +#pragma pack(push,1) typedef struct calldata { - rhope_func tail_func; - struct context *ct; - void *locals; - struct calldata *call; - uint32_t original_methodid; - uint16_t num_params; - uint16_t resume; - object *params[1]; + object *params[1]; + struct calldata *lastframe; + uint16_t num_params; + uint16_t resume; + uint32_t func; } calldata; +#pragma pack(pop) #define OBegin typedef struct { object header; #define Object(name) } t_ ## name;