runtime: use new reflect data structures (CL 31107)

in place of sigi, sigt.

R=ken
OCL=31118
CL=31277
This commit is contained in:
Russ Cox 2009-07-07 11:02:54 -07:00
parent ce2e450c6b
commit c7513eac88
5 changed files with 257 additions and 541 deletions

View File

@ -36,17 +36,17 @@ func stringiter(string, int) int;
func stringiter2(string, int) (retk int, retv int);
func ifaceI2E(iface any) (ret any);
func ifaceE2I(sigi *byte, iface any) (ret any);
func ifaceT2E(sigt *byte, elem any) (ret any);
func ifaceE2T(sigt *byte, elem any) (ret any);
func ifaceE2I2(sigi *byte, iface any) (ret any, ok bool);
func ifaceE2T2(sigt *byte, elem any) (ret any, ok bool);
func ifaceT2I(sigi *byte, sigt *byte, elem any) (ret any);
func ifaceI2T(sigt *byte, iface any) (ret any);
func ifaceI2T2(sigt *byte, iface any) (ret any, ok bool);
func ifaceI2I(sigi *byte, iface any) (ret any);
func ifaceI2Ix(sigi *byte, iface any) (ret any);
func ifaceI2I2(sigi *byte, iface any) (ret any, ok bool);
func ifaceE2I(typ *byte, iface any) (ret any);
func ifaceT2E(typ *byte, elem any) (ret any);
func ifaceE2T(typ *byte, elem any) (ret any);
func ifaceE2I2(typ *byte, iface any) (ret any, ok bool);
func ifaceE2T2(typ *byte, elem any) (ret any, ok bool);
func ifaceT2I(typ1 *byte, typ2 *byte, elem any) (ret any);
func ifaceI2T(typ *byte, iface any) (ret any);
func ifaceI2T2(typ *byte, iface any) (ret any, ok bool);
func ifaceI2I(typ *byte, iface any) (ret any);
func ifaceI2Ix(typ *byte, iface any) (ret any);
func ifaceI2I2(typ *byte, iface any) (ret any, ok bool);
func ifaceeq(i1 any, i2 any) (ret bool);
func efaceeq(i1 any, i2 any) (ret bool);
func ifacethash(i1 any) (ret uint32);

View File

@ -70,6 +70,7 @@ OFILES=\
sys.$O\
thread.$O\
traceback.$O\
type.$O\
$(OFILES_$(GOARCH))\
HFILES=\

File diff suppressed because it is too large Load Diff

View File

@ -76,10 +76,10 @@ printf(int8 *s, ...)
sys·printint(*(int64*)arg);
break;
case 'x':
sys·printhex(*(int32*)arg);
sys·printhex(*(uint32*)arg);
break;
case 'X':
sys·printhex(*(int64*)arg);
sys·printhex(*(uint64*)arg);
break;
case 'p':
sys·printpointer(*(void**)arg);

View File

@ -56,9 +56,9 @@ typedef struct Usema Usema;
typedef struct SigTab SigTab;
typedef struct MCache MCache;
typedef struct Iface Iface;
typedef struct Itype Itype;
typedef struct Itab Itab;
typedef struct Eface Eface;
typedef struct Sigt Sigt;
typedef struct Type Type;
typedef struct Defer Defer;
/*
@ -117,12 +117,12 @@ struct String
};
struct Iface
{
Itype* type;
Itab* tab;
void* data;
};
struct Eface
{
Sigt* type;
Type* type;
void* data;
};