Mercurial > repos > rhope
comparison runtime/object.h @ 53:70af7fa155d0
Cleaned up some C warnings and added a simple compile script
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 29 Apr 2010 04:32:54 +0000 |
parents | 3e20ed8959c4 |
children | 04baa003de5a |
comparison
equal
deleted
inserted
replaced
52:079200bc3e75 | 53:70af7fa155d0 |
---|---|
28 uint32_t last_convertfrom; | 28 uint32_t last_convertfrom; |
29 int32_t size; | 29 int32_t size; |
30 int32_t boxed_size; | 30 int32_t boxed_size; |
31 } blueprint; | 31 } blueprint; |
32 | 32 |
33 typedef struct object { | 33 struct object { |
34 rh_atomic32(refcount); | 34 rh_atomic32(refcount); |
35 blueprint *bprint; | 35 blueprint *bprint; |
36 } object; | 36 }; |
37 | 37 |
38 typedef struct { | 38 typedef struct { |
39 object base; | 39 object base; |
40 uint32_t size; | 40 uint32_t size; |
41 } multisize; | 41 } multisize; |
42 | 42 |
43 | 43 |
44 typedef struct calldata { | 44 struct calldata { |
45 rhope_func tail_func; | 45 rhope_func tail_func; |
46 struct context *ct; | 46 struct context *ct; |
47 void *locals; | 47 void *locals; |
48 struct calldata *call; | 48 struct calldata *call; |
49 uint32_t original_methodid; | 49 uint32_t original_methodid; |
50 uint16_t num_params; | 50 uint16_t num_params; |
51 uint16_t resume; | 51 uint16_t resume; |
52 object *params[1]; | 52 object *params[1]; |
53 } calldata; | 53 }; |
54 | 54 |
55 #define OBegin typedef struct { | 55 #define OBegin typedef struct { |
56 #define Object(name) } nt_ ## name; typedef struct { object SP_header; nt_ ## name payload; } t_ ## name; | 56 #define Object(name) } nt_ ## name; typedef struct { object SP_header; nt_ ## name payload; } t_ ## name; |
57 #define MObject(name) } nt_ ## name; typedef struct { multisize SP_header; nt_ ## name payload; } t_ ## name; | 57 #define MObject(name) } nt_ ## name; typedef struct { multisize SP_header; nt_ ## name payload; } t_ ## name; |
58 #define Box(nakedtype,fieldname,objectname) typedef struct{ object SP_header; nakedtype fieldname; } t_ ## objectname; | 58 #define Box(nakedtype,fieldname,objectname) typedef struct{ object SP_header; nakedtype fieldname; } t_ ## objectname; |