Mercurial > repos > rhope
annotate runtime/blueprint.c @ 104:2d2da148d844
Performance improvement for string comparisons
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 25 Aug 2010 03:19:57 +0000 |
parents | d4b44ae2e34a |
children | 43cc42df26cc |
rev | line source |
---|---|
39 | 1 #include "blueprint.h" |
2 #include "builtin.h" | |
66
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
3 #include "context.h" |
49
3e20ed8959c4
Added initial FFI implementation, Array type and 64-bit integers
Mike Pavone <pavone@retrodev.com>
parents:
39
diff
changeset
|
4 #include <stddef.h> |
39 | 5 |
6 typedef struct | |
7 { | |
8 blueprint * bp; | |
9 } l_Build; | |
10 | |
11 object * make_Blueprint(int32_t type_id) | |
12 { | |
13 t_Blueprint * obj; | |
14 object * ret = new_object(TYPE_BLUEPRINT); | |
15 obj = (t_Blueprint *)ret; | |
49
3e20ed8959c4
Added initial FFI implementation, Array type and 64-bit integers
Mike Pavone <pavone@retrodev.com>
parents:
39
diff
changeset
|
16 obj->bp = type_id ? get_blueprint_byid(type_id) : NULL; |
39 | 17 return ret; |
66
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
18 } |
49
3e20ed8959c4
Added initial FFI implementation, Array type and 64-bit integers
Mike Pavone <pavone@retrodev.com>
parents:
39
diff
changeset
|
19 |
66
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
20 int32_t _internal_blueprint_eq(object * left, object * right) |
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
21 { |
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
22 t_Blueprint * l = (t_Blueprint *)left; |
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
23 t_Blueprint * r = (t_Blueprint *)right; |
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
24 return l->bp == r->bp; |
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
25 } |
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
26 |
d4b44ae2e34a
New variant of C backend works now
Mike Pavone <pavone@retrodev.com>
parents:
49
diff
changeset
|
27 |