aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/runtime.h
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-01-26 09:56:42 -0800
committerRuss Cox <rsc@golang.org>2009-01-26 09:56:42 -0800
commita7f6d4066e871916931af4b99f1d5a9021dbfeb9 (patch)
tree0527d7d0346358f9ef8027efed0a9c5fea057641 /src/runtime/runtime.h
parent18b05c1a8d9fc3c14a384df4bd78063de3b1d61a (diff)
downloadgo-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.h15
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*);