summaryrefslogtreecommitdiff
path: root/6/asm.h
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2015-09-26 23:47:46 -0700
committerOri Bernstein <ori@eigenstate.org>2015-09-26 23:47:46 -0700
commitc74b0bc06994e9a4921131696a5714cf83642acc (patch)
tree415b1001ccfc44b55c7fa4d8a2d130ee38907ee2 /6/asm.h
parentbb4ff654b3f0ce2e067e707f83310af5ebc50679 (diff)
downloadmc-c74b0bc06994e9a4921131696a5714cf83642acc.tar.gz
Separate out the concepts of code and func ptrs.
In order to pass around functions with environments for closures, we need to refer to the type of a function pointer, as well as the type of code. This is ugly. When I rewrite the backend I should change it.
Diffstat (limited to '6/asm.h')
-rw-r--r--6/asm.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/6/asm.h b/6/asm.h
index 6fdf6aa..4c411a9 100644
--- a/6/asm.h
+++ b/6/asm.h
@@ -267,6 +267,7 @@ extern Loc **locmap; /* mapping from reg id => Loc * */
char *genlocallblstr(char *buf, size_t sz);
char *genlblstr(char *buf, size_t sz);
+Type *codetype(Type *ft);
Node *genlbl(Srcloc loc);
Loc *loclbl(Node *lbl);
Loc *locstrlbl(char *lbl);
@@ -303,8 +304,6 @@ size_t tyalign(Type *t);
size_t size(Node *n);
ssize_t tyoffset(Type *ty, Node *memb);
ssize_t offset(Node *aggr, Node *memb);
-int stacktype(Type *t);
-int floattype(Type *t);
int stacknode(Node *n);
int floatnode(Node *n);
void breakhere();