LEFT | RIGHT |
(no file at all) | |
1 // Copyright 2009 The Go Authors. All rights reserved. | 1 // Copyright 2009 The Go Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
4 | 4 |
5 #include <bio.h> | 5 #include <bio.h> |
6 | 6 |
7 #undef OAPPEND | 7 #undef OAPPEND |
8 | 8 |
9 // avoid <ctype.h> | 9 // avoid <ctype.h> |
10 #undef isblank | 10 #undef isblank |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 { | 120 { |
121 short reg; // OREGISTER | 121 short reg; // OREGISTER |
122 short bval; // bool value CTBOOL | 122 short bval; // bool value CTBOOL |
123 Mpint* xval; // int CTINT, rune CTRUNE | 123 Mpint* xval; // int CTINT, rune CTRUNE |
124 Mpflt* fval; // float CTFLT | 124 Mpflt* fval; // float CTFLT |
125 Mpcplx* cval; // float CTCPLX | 125 Mpcplx* cval; // float CTCPLX |
126 Strlit* sval; // string CTSTR | 126 Strlit* sval; // string CTSTR |
127 } u; | 127 } u; |
128 }; | 128 }; |
129 | 129 |
| 130 typedef struct Bvec Bvec; |
130 typedef struct Pkg Pkg; | 131 typedef struct Pkg Pkg; |
131 typedef struct Sym Sym; | 132 typedef struct Sym Sym; |
132 typedef struct Node Node; | 133 typedef struct Node Node; |
133 typedef struct NodeList NodeList; | 134 typedef struct NodeList NodeList; |
134 typedef struct Type Type; | 135 typedef struct Type Type; |
135 typedef struct Label Label; | 136 typedef struct Label Label; |
136 | 137 |
137 struct Type | 138 struct Type |
138 { | 139 { |
139 uchar etype; | 140 uchar etype; |
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
689 #define NVAR (BITS*sizeof(uint32)*8) | 690 #define NVAR (BITS*sizeof(uint32)*8) |
690 | 691 |
691 typedef struct Bits Bits; | 692 typedef struct Bits Bits; |
692 struct Bits | 693 struct Bits |
693 { | 694 { |
694 uint32 b[BITS]; | 695 uint32 b[BITS]; |
695 }; | 696 }; |
696 | 697 |
697 EXTERN Bits zbits; | 698 EXTERN Bits zbits; |
698 | 699 |
| 700 struct Bvec |
| 701 { |
| 702 int32 n; // number of bits |
| 703 uint32 b[]; |
| 704 }; |
| 705 |
699 typedef struct Var Var; | 706 typedef struct Var Var; |
700 struct Var | 707 struct Var |
701 { | 708 { |
702 vlong offset; | 709 vlong offset; |
703 Node* node; | 710 Node* node; |
704 int width; | 711 int width; |
705 char name; | 712 char name; |
706 char etype; | 713 char etype; |
707 char addr; | 714 char addr; |
708 }; | 715 }; |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
977 int Qconv(Fmt *fp); | 984 int Qconv(Fmt *fp); |
978 Bits band(Bits a, Bits b); | 985 Bits band(Bits a, Bits b); |
979 int bany(Bits *a); | 986 int bany(Bits *a); |
980 int beq(Bits a, Bits b); | 987 int beq(Bits a, Bits b); |
981 int bitno(int32 b); | 988 int bitno(int32 b); |
982 Bits blsh(uint n); | 989 Bits blsh(uint n); |
983 Bits bnot(Bits a); | 990 Bits bnot(Bits a); |
984 int bnum(Bits a); | 991 int bnum(Bits a); |
985 Bits bor(Bits a, Bits b); | 992 Bits bor(Bits a, Bits b); |
986 int bset(Bits a, uint n); | 993 int bset(Bits a, uint n); |
| 994 |
| 995 /* |
| 996 * bv.c |
| 997 */ |
| 998 Bvec* bvalloc(int32 n); |
| 999 void bvset(Bvec *bv, int32 i); |
| 1000 void bvres(Bvec *bv, int32 i); |
| 1001 int bvget(Bvec *bv, int32 i); |
| 1002 int bvisempty(Bvec *bv); |
| 1003 int bvcmp(Bvec *bv1, Bvec *bv2); |
987 | 1004 |
988 /* | 1005 /* |
989 * closure.c | 1006 * closure.c |
990 */ | 1007 */ |
991 Node* closurebody(NodeList *body); | 1008 Node* closurebody(NodeList *body); |
992 void closurehdr(Node *ntype); | 1009 void closurehdr(Node *ntype); |
993 void typecheckclosure(Node *func, int top); | 1010 void typecheckclosure(Node *func, int top); |
994 Node* walkclosure(Node *func, NodeList **init); | 1011 Node* walkclosure(Node *func, NodeList **init); |
995 void typecheckpartialcall(Node*, Node*); | 1012 void typecheckpartialcall(Node*, Node*); |
996 Node* walkpartialcall(Node*, NodeList**); | 1013 Node* walkpartialcall(Node*, NodeList**); |
(...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1484 #pragma varargck type "T" Type* | 1501 #pragma varargck type "T" Type* |
1485 #pragma varargck type "lT" Type* | 1502 #pragma varargck type "lT" Type* |
1486 #pragma varargck type "V" Val* | 1503 #pragma varargck type "V" Val* |
1487 #pragma varargck type "Y" char* | 1504 #pragma varargck type "Y" char* |
1488 #pragma varargck type "Z" Strlit* | 1505 #pragma varargck type "Z" Strlit* |
1489 | 1506 |
1490 /* | 1507 /* |
1491 * racewalk.c | 1508 * racewalk.c |
1492 */ | 1509 */ |
1493 void racewalk(Node *fn); | 1510 void racewalk(Node *fn); |
LEFT | RIGHT |