Mercurial > repos > rhope
annotate runtime/blueprint.h @ 186:ba35ab624ec2
Add support for raw C function output from C backend as well as an option to use Boehm-GC instead of reference counting
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 07 Oct 2011 00:10:02 -0700 |
parents | 9fab36cc706b |
children |
rev | line source |
---|---|
39 | 1 #ifndef BLUEPRINT_H_ |
2 #define BLUEPRINT_H_ | |
3 | |
4 #include "object.h" | |
5 #include "func.h" | |
6 | |
42
aabda74c7a88
Fields can now be defined to have naked primitive types
Mike Pavone <pavone@retrodev.com>
parents:
39
diff
changeset
|
7 Box(blueprint *,bp,Blueprint) |
39 | 8 |
9 object * make_Blueprint(int32_t type_id); | |
66
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
10 |
49
3e20ed8959c4
Added initial FFI implementation, Array type and 64-bit integers
Mike Pavone <pavone@retrodev.com>
parents:
42
diff
changeset
|
11 int32_t _internal_blueprint_eq(object * left, object * right); |
163
9fab36cc706b
Add Raw Size method to blueprint to allow code to query the raw size of a type in bytes
Mike Pavone <pavone@retrodev.com>
parents:
87
diff
changeset
|
12 int32_t _internal_blueprint_rawsize(object * bp); |
39 | 13 |
186
ba35ab624ec2
Add support for raw C function output from C backend as well as an option to use Boehm-GC instead of reference counting
Mike Pavone <pavone@retrodev.com>
parents:
163
diff
changeset
|
14 #define ldec_Build lvar(blueprint *, bp) |
ba35ab624ec2
Add support for raw C function output from C backend as well as an option to use Boehm-GC instead of reference counting
Mike Pavone <pavone@retrodev.com>
parents:
163
diff
changeset
|
15 LocalsType(ldec_Build, Build) |
66
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
16 |
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
17 |
186
ba35ab624ec2
Add support for raw C function output from C backend as well as an option to use Boehm-GC instead of reference counting
Mike Pavone <pavone@retrodev.com>
parents:
163
diff
changeset
|
18 #define ldec_BlueprintSP_Of lvar(blueprint *, bp) |
ba35ab624ec2
Add support for raw C function output from C backend as well as an option to use Boehm-GC instead of reference counting
Mike Pavone <pavone@retrodev.com>
parents:
163
diff
changeset
|
19 LocalsType(ldec_BlueprintSP_Of ,BlueprintSP_Of) |
83
27bb051d631c
Initial implementation of Dictionary
Mike Pavone <pavone@retrodev.com>
parents:
66
diff
changeset
|
20 |
186
ba35ab624ec2
Add support for raw C function output from C backend as well as an option to use Boehm-GC instead of reference counting
Mike Pavone <pavone@retrodev.com>
parents:
163
diff
changeset
|
21 #define ldec_ID lvar(object *, id) |
ba35ab624ec2
Add support for raw C function output from C backend as well as an option to use Boehm-GC instead of reference counting
Mike Pavone <pavone@retrodev.com>
parents:
163
diff
changeset
|
22 LocalsType(ldec_ID, ID) |
ba35ab624ec2
Add support for raw C function output from C backend as well as an option to use Boehm-GC instead of reference counting
Mike Pavone <pavone@retrodev.com>
parents:
163
diff
changeset
|
23 |
ba35ab624ec2
Add support for raw C function output from C backend as well as an option to use Boehm-GC instead of reference counting
Mike Pavone <pavone@retrodev.com>
parents:
163
diff
changeset
|
24 #define ldec_BlueprintSP_FromSP_ID lvar(uint32_t, type) |
ba35ab624ec2
Add support for raw C function output from C backend as well as an option to use Boehm-GC instead of reference counting
Mike Pavone <pavone@retrodev.com>
parents:
163
diff
changeset
|
25 LocalsType(ldec_BlueprintSP_FromSP_ID, BlueprintSP_FromSP_ID) |
87
3c4325e6298f
Add First@Dictionary (need to find mem man bug)
Mike Pavone <pavone@retrodev.com>
parents:
83
diff
changeset
|
26 |
39 | 27 #endif //BLUEPRINT_H_ |