diff options
| author | Russ Cox <rsc@golang.org> | 2009-01-26 09:56:42 -0800 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2009-01-26 09:56:42 -0800 |
| commit | a7f6d4066e871916931af4b99f1d5a9021dbfeb9 (patch) | |
| tree | 0527d7d0346358f9ef8027efed0a9c5fea057641 /src/runtime/runtime.h | |
| parent | 18b05c1a8d9fc3c14a384df4bd78063de3b1d61a (diff) | |
| download | go-a7f6d4066e871916931af4b99f1d5a9021dbfeb9.tar.xz | |
implement new restrictions on what
can be compared/hashed.
R=r
DELTA=351 (201 added, 80 deleted, 70 changed)
OCL=23423
CL=23481
Diffstat (limited to 'src/runtime/runtime.h')
| -rw-r--r-- | src/runtime/runtime.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/runtime/runtime.h b/src/runtime/runtime.h index bc6b2f76d5..47103e253a 100644 --- a/src/runtime/runtime.h +++ b/src/runtime/runtime.h @@ -226,18 +226,17 @@ struct Func */ enum { - ASIMP = 0, + AMEM, + ANOEQ, ASTRING, - APTR, AINTER, - AARRAY, - ASTRUCT, + Amax }; /* * external data */ -extern Alg algarray[]; +extern Alg algarray[Amax]; extern string emptystring; G* allg; int32 goidgen; @@ -299,6 +298,10 @@ void* stackalloc(uint32); void stackfree(void*); MCache* allocmcache(void); void mallocinit(void); +bool ifaceeq(Iface, Iface); +uint64 ifacehash(Iface); +uint64 nohash(uint32, void*); +uint32 noequal(uint32, void*, void*); #pragma varargck argpos printf 1 @@ -366,6 +369,7 @@ void notewakeup(Note*); #define sys_printfloat sys·printfloat #define sys_printhex sys·printhex #define sys_printint sys·printint +#define sys_printinter sys·printinter #define sys_printpc sys·printpc #define sys_printpointer sys·printpointer #define sys_printstring sys·printstring @@ -393,6 +397,7 @@ void* sys_getcallerpc(void*); void sys_printbool(bool); void sys_printfloat(float64); void sys_printint(int64); +void sys_printinter(Iface); void sys_printstring(string); void sys_printpc(void*); void sys_printpointer(void*); |
