1
0
mirror of https://github.com/golang/go synced 2024-11-20 02:34:42 -07:00

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 stringiter2(string, int) (retk int, retv int);
func ifaceI2E(iface any) (ret any); func ifaceI2E(iface any) (ret any);
func ifaceE2I(sigi *byte, iface any) (ret any); func ifaceE2I(typ *byte, iface any) (ret any);
func ifaceT2E(sigt *byte, elem any) (ret any); func ifaceT2E(typ *byte, elem any) (ret any);
func ifaceE2T(sigt *byte, elem any) (ret any); func ifaceE2T(typ *byte, elem any) (ret any);
func ifaceE2I2(sigi *byte, iface any) (ret any, ok bool); func ifaceE2I2(typ *byte, iface any) (ret any, ok bool);
func ifaceE2T2(sigt *byte, elem any) (ret any, ok bool); func ifaceE2T2(typ *byte, elem any) (ret any, ok bool);
func ifaceT2I(sigi *byte, sigt *byte, elem any) (ret any); func ifaceT2I(typ1 *byte, typ2 *byte, elem any) (ret any);
func ifaceI2T(sigt *byte, iface any) (ret any); func ifaceI2T(typ *byte, iface any) (ret any);
func ifaceI2T2(sigt *byte, iface any) (ret any, ok bool); func ifaceI2T2(typ *byte, iface any) (ret any, ok bool);
func ifaceI2I(sigi *byte, iface any) (ret any); func ifaceI2I(typ *byte, iface any) (ret any);
func ifaceI2Ix(sigi *byte, iface any) (ret any); func ifaceI2Ix(typ *byte, iface any) (ret any);
func ifaceI2I2(sigi *byte, iface any) (ret any, ok bool); func ifaceI2I2(typ *byte, iface any) (ret any, ok bool);
func ifaceeq(i1 any, i2 any) (ret bool); func ifaceeq(i1 any, i2 any) (ret bool);
func efaceeq(i1 any, i2 any) (ret bool); func efaceeq(i1 any, i2 any) (ret bool);
func ifacethash(i1 any) (ret uint32); func ifacethash(i1 any) (ret uint32);

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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