1
0
mirror of https://github.com/golang/go synced 2024-10-06 16:41:21 -06:00
Commit Graph

145 Commits

Author SHA1 Message Date
Russ Cox
20595ac4b0 many interface bug fixes.
also, after
	func g() (int, int)
	func f(int, int)
allow
	f(g())
and
	func h() (int, int) { return g() }

R=ken
DELTA=356  (252 added, 26 deleted, 78 changed)
OCL=22319
CL=22325
2009-01-08 14:30:00 -08:00
Russ Cox
1b1f1b53ea correct signature generation decision
for non-pointer types with methods.

R=r
DELTA=37  (13 added, 14 deleted, 10 changed)
OCL=22217
CL=22219
2009-01-07 13:29:03 -08:00
Russ Cox
d8c7980514 comment sudoaddable;
remove unused second parameter.

R=ken
OCL=22126
CL=22126
2009-01-06 11:23:58 -08:00
Russ Cox
2d259c817a add comments and delete dead code
R=ken
OCL=22078
CL=22080
2009-01-05 17:32:23 -08:00
Ken Thompson
2b33a134a8 regfree
R=r
OCL=21685
CL=21687
2008-12-20 16:07:56 -08:00
Ken Thompson
7cfe782a69 LEAQ bug
R=r
OCL=21684
CL=21684
2008-12-20 16:05:12 -08:00
Russ Cox
c3077f7606 [] and struct in interfaces.
other [] cleanup.

convert() is gone.

R=r
DELTA=352  (144 added, 68 deleted, 140 changed)
OCL=21660
CL=21662
2008-12-19 17:11:54 -08:00
Ken Thompson
a91a0a6a7a array compare (except = != nil) are illegal
R=r
OCL=21637
CL=21637
2008-12-19 14:26:52 -08:00
Ken Thompson
6fa74e0973 portability bug
cant assign to closed array

R=r
OCL=21634
CL=21634
2008-12-19 14:04:25 -08:00
Ken Thompson
c9954c63a8 bug in [const]
R=r
OCL=21569
CL=21569
2008-12-18 22:01:46 -08:00
Ken Thompson
dcc064fe94 cmp [] to nil
R=r
OCL=21567
CL=21567
2008-12-18 21:33:45 -08:00
Ken Thompson
4026500d18 arrays
R=r
OCL=21564
CL=21564
2008-12-18 20:06:28 -08:00
Ken Thompson
8f53bc0612 new convention, direction bit is
always left cleared. changed
compiler generated memcpy and
memset to assume CLD.

R=r
OCL=21215
CL=21215
2008-12-15 15:07:35 -08:00
Ken Thompson
42d89ac02c even more code improvement
R=r
OCL=21160
CL=21160
2008-12-14 18:45:00 -08:00
Ken Thompson
23fc0ac061 more code optimization
R=r
OCL=21159
CL=21159
2008-12-14 17:06:06 -08:00
Ken Thompson
719b088697 code generation
R=r
OCL=21146
CL=21146
2008-12-13 16:41:47 -08:00
Ken Thompson
937ac13f26 code improvement
R=r
OCL=21144
CL=21144
2008-12-13 13:16:14 -08:00
Russ Cox
cb64ec5bb6 only generate non-trivial signatures in the
file in which they occur.  avoids duplicate
trampoline generation across multiple files.

R=ken
OCL=20976
CL=20980
2008-12-11 11:54:33 -08:00
Ken Thompson
a4459c5520 bug
R=r
OCL=20940
CL=20940
2008-12-10 16:23:29 -08:00
Ken Thompson
1d4daa2d39 foundation for import unsafe
R=r
OCL=20794
CL=20794
2008-12-08 19:46:39 -08:00
Ken Thompson
a0a14b98fa empty switches -- bug128
R=r
OCL=20520
CL=20522
2008-12-04 16:05:40 -08:00
Ken Thompson
c8a66a98ff small code improvement to
used scaled indexing

R=r
OCL=20308
CL=20310
2008-12-02 19:54:51 -08:00
Ken Thompson
9a5c7eab16 better code for += -= ^= |= and &=
R=r
OCL=19953
CL=19953
2008-11-24 17:51:26 -08:00
Ken Thompson
8e3fe10ee3 1. retract general field names
2. array bounds bug
3. ... optimization bug

R=r
OCL=19927
CL=19927
2008-11-24 14:01:12 -08:00
Ken Thompson
a6182dab47 indexing optimizations and bug fix
R=r
OCL=19886
CL=19886
2008-11-23 17:26:49 -08:00
Ken Thompson
e081f25c3e reg and peep
R=r
OCL=19871
CL=19871
2008-11-22 17:58:53 -08:00
Russ Cox
9a6fd41a01 silence gcc warnings: missing prototypes and unused variables
R=ken
OCL=19583
CL=19583
2008-11-19 09:49:06 -08:00
Ken Thompson
64718ec262 oops
R=r
OCL=19566
CL=19566
2008-11-18 19:27:15 -08:00
Ken Thompson
2dd16a3208 first cut at optimizing
R=r
OCL=19564
CL=19564
2008-11-18 19:24:37 -08:00
Ken Thompson
93c8d3c41b another shift bug
R=r
OCL=19525
CL=19525
2008-11-18 17:15:42 -08:00
Ken Thompson
b7f01f9f41 silence compiler warning
R=r
OCL=19382
CL=19382
2008-11-17 12:55:22 -08:00
Ken Thompson
e875055461 switch
R=r
OCL=19288
CL=19288
2008-11-14 16:24:27 -08:00
Russ Cox
792145723e width fixes.
* check for uncomputed struct offsets
* distinguish function structs from ordinary structs
* make sure function structs are not examined in isolation

R=ken
OCL=19005
CL=19005
2008-11-11 13:46:55 -08:00
Ken Thompson
79f5697b02 byte multiply
R=r
OCL=18830
CL=18830
2008-11-07 16:05:17 -08:00
Ken Thompson
dc78c64f23 byte multiply
R=r
OCL=18807
CL=18807
2008-11-07 14:20:32 -08:00
Russ Cox
ec81145565 s/gins/gbranch/
R=ken
OCL=18713
CL=18713
2008-11-06 15:05:19 -08:00
Russ Cox
0eda21a2fd change minimum sethi/ullman number to 1
to distinguish not computed (0) vs trivial (1).

add missing ullmancalc on function args.

R=ken
OCL=18711
CL=18711
2008-11-06 14:50:58 -08:00
Russ Cox
1983121bbb 6g interface changes:
* allow conversion between nil interface and any type.
	* mark signatures as DUPOK so that multiple .6 can
	  contain sigt.*[]byte and only one gets used.

R=ken
OCL=18538
CL=18542
2008-11-05 11:27:50 -08:00
Russ Cox
c249a8de32 rename various magic names.
sigi and sigt:
	sys·sigi_inter -> sigi·inter
	sys·sigt_int -> sigt·int
	Package·sigt_Type -> sigt·Package.Type

	local type T in file x.go T_x -> T·x
	second one T_x_1 -> T·x·1

	method names M on T  T_M -> T·M

correctly handle local embedded types

init functions are the only place left that use underscores

R=ken
OCL=18377
CL=18377
2008-11-03 15:36:08 -08:00
Ken Thompson
250ec1665a unsigned divide by fn()
R=r
OCL=18351
CL=18351
2008-11-03 13:27:16 -08:00
Ken Thompson
d2472eb812 >>= and <<= shift bug
R=r
OCL=18322
CL=18322
2008-11-01 17:53:12 -07:00
Ken Thompson
74427c6346 DOTDOTDOT
R=r
OCL=18317
CL=18317
2008-11-01 16:36:46 -07:00
Ken Thompson
fd922c875d shift bug
R=r
OCL=18166
CL=18166
2008-10-30 14:32:04 -07:00
Ken Thompson
4a3ce5f19e sigt_int
R=r
OCL=18030
CL=18030
2008-10-29 13:40:00 -07:00
Ken Thompson
c21d9a1ec9 the end of life as we know it
int is new type

R=r
OCL=18023
CL=18023
2008-10-29 12:46:44 -07:00
Ken Thompson
b642cf8c00 embedded methods
R=r
OCL=17851
CL=17851
2008-10-25 13:31:25 -07:00
Ken Thompson
b379d54dea another step toward interface subtypes
put explicit ./ on some runtime tests

R=r
OCL=17839
CL=17839
2008-10-24 20:14:28 -07:00
Russ Cox
ad48706a24 do not use fake names on anonymous function return values
R=ken
OCL=17679
CL=17679
2008-10-22 17:45:47 -07:00
Russ Cox
44b0ecc5ca 6g: use full type in sigt[0].name
sys: add sys.reflect
runtime: add canfail flag for later

R=ken
OCL=17583
CL=17583
2008-10-21 15:38:26 -07:00
Ian Lance Taylor
907fea6b54 Link against -lm so that we can find the function "floor".
R=rsc
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=17375
CL=17375
2008-10-17 15:52:49 -07:00