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

94 Commits

Author SHA1 Message Date
Ken Thompson
52b0f77bf9 static initialization
structure set up - no change yet

R=r
OCL=28966
CL=28966
2009-05-16 13:29:08 -07:00
Ken Thompson
a5a878986c more code fiddling
R=r
OCL=28201
CL=28201
2009-05-03 15:17:03 -07:00
Ken Thompson
c18db5aa18 bug in shift of longer operand
by a shorter operand. the bits
in the difference were not cheared.

R=r
OCL=27705
CL=27705
2009-04-21 19:38:58 -07:00
Russ Cox
bac922c6e1 move portable code generation (basic statements) to gc.
R=ken
OCL=26929
CL=26929
2009-03-30 19:15:07 -07:00
Russ Cox
e5ba266e93 delete dregs: inarggen, genpanic, regret
R=ken
OCL=26916
CL=26918
2009-03-30 17:15:54 -07:00
Ken Thompson
48f6b516e2 bug 137
R=r
OCL=26142
CL=26142
2009-03-11 16:25:45 -07:00
Ken Thompson
bf983477a2 new switch implementation
in preparation of type switch.
no functional change (yet).

R=r
OCL=25784
CL=25788
2009-03-05 15:49:34 -08:00
Ken Thompson
751d13cbce bug 130 (go/defer) interface.method()
R=r
OCL=25356
CL=25356
2009-02-23 22:43:04 -08:00
Russ Cox
4a43198390 update compiler to new func rules
R=ken
OCL=23958
CL=23961
2009-01-30 14:39:42 -08:00
Russ Cox
391425ae55 if take address of local, move to heap.
heuristic to not print bogus strings.
fix one error message format.

R=ken
OCL=23849
CL=23851
2009-01-29 17:38:58 -08:00
Ken Thompson
1e1cc4eb57 defer
R=r
OCL=23592
CL=23592
2009-01-27 12:03:53 -08:00
Russ Cox
61590c4c44 disallow P.t for lowercase t and not our package P.
implement hiding lowercase methods m in
signatures by adding in a hash of the package name
to the type hash code.

remove remaining checks for internally-generated _ names:
they are all gone.

R=ken
OCL=23236
CL=23238
2009-01-21 14:51:57 -08:00
Russ Cox
a91af04c06 6g cleanup suggested by ken.
remove TPTR wrapper around TMAP, TCHAN, TSTRING.

R=ken
OCL=22406
CL=22409
2009-01-09 11:13:39 -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
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
719b088697 code generation
R=r
OCL=21146
CL=21146
2008-12-13 16:41:47 -08:00
Ken Thompson
a0a14b98fa empty switches -- bug128
R=r
OCL=20520
CL=20522
2008-12-04 16:05:40 -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
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
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
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
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
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
fd922c875d shift bug
R=r
OCL=18166
CL=18166
2008-10-30 14:32:04 -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
Russ Cox
74e2e087e2 change type names to go live at the name, so that
type T struct {
		next *T
	}

and

	type T *struct {
		next T
	}

are valid without needing forward declarations.

add "type T struct" syntax for forward struct declarations.

add "type T interface" syntax, but commented out
	(need to fix semicolons first)

R=ken
DELTA=452  (259 added, 115 deleted, 78 changed)
OCL=16580
CL=16584
2008-10-06 16:44:17 -07:00
Ken Thompson
f25843e65e bug 026
R=r
OCL=16494
CL=16494
2008-10-04 15:17:49 -07:00
Russ Cox
45f4e38506 silence gcc warnings
R=ken
OCL=16449
CL=16466
2008-10-03 16:23:02 -07:00
Ken Thompson
53a22770a7 names now println/panicln
bug fix in named-return

R=r
OCL=16377
CL=16377
2008-10-02 15:37:15 -07:00
Ken Thompson
d015f896bb clear output parameters
R=r
OCL=16345
CL=16345
2008-10-01 20:00:58 -07:00
Ken Thompson
970d6a14c4 initialization of
var a,b int;

R=r
OCL=16318
CL=16318
2008-10-01 14:16:57 -07:00
Ken Thompson
8231e94520 now method/interface code
R=r
OCL=15627
CL=15627
2008-09-22 12:16:19 -07:00
Ken Thompson
5d5e9f74cb bug - divide and mod of a byte
R=r
OCL=15370
CL=15370
2008-09-15 15:03:10 -07:00
Ken Thompson
904d4045d3 1 got rid if static 'fn wo return' test
2 added dynamic calls to throw for array bounds
  and 'fn wo return'
3 small optimization on index[constant]

R=r
OCL=15281
CL=15281
2008-09-12 16:48:35 -07:00
Ken Thompson
d30c9a4be5 implement discussed function wo return statement
R=r
OCL=15166
CL=15166
2008-09-11 15:23:01 -07:00
Ken Thompson
d40f032d18 fixed bug in certain
evaluation of complex literals

R=r
OCL=15036
CL=15036
2008-09-09 15:47:31 -07:00
Ken Thompson
193eac7917 bugs 29, 61, 62, 74
fixedbugs 49 now (correctly) fails
bugs 32, 41, 68, 77 shouldnt be bugs

R=r
OCL=14842
CL=14842
2008-09-04 17:15:15 -07:00
Ken Thompson
1423bf3dc4 structure literals
R=r
OCL=14735
CL=14735
2008-09-02 19:11:25 -07:00
Ken Thompson
33ee52727f fixed labels/break/continue/goto
R=r
OCL=14675
CL=14675
2008-08-29 20:30:19 -07:00
Ken Thompson
53010efe01 shift operations to new spec
R=r
OCL=14641
CL=14641
2008-08-28 19:59:42 -07:00