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;