interface speedups and fixes.
more caching, better hash functions, proper locking.
fixed a bug in interface comparison too.
R=ken
DELTA=177 (124 added, 10 deleted, 43 changed)
OCL=23491
CL=23493
diff --git a/test/cmp1.go b/test/cmp1.go
index 82e932f..d1a1c7a 100644
--- a/test/cmp1.go
+++ b/test/cmp1.go
@@ -41,7 +41,7 @@
var ic interface{} = c;
var id interface{} = d;
var ie interface{} = e;
-
+
// these comparisons are okay because
// string compare is okay and the others
// are comparisons where the types differ.
@@ -53,6 +53,13 @@
istrue(ic == id);
istrue(ie == ie);
+ // 6g used to let this go through as true.
+ var g uint64 = 123;
+ var h int64 = 123;
+ var ig interface{} = g;
+ var ih interface{} = h;
+ isfalse(ig == ih);
+
// map of interface should use == on interface values,
// not memory.
// TODO: should m[c], m[d] be valid here?