Russ Cox
9bac9d23d3
gc: index bounds tests and fixes
...
move constant index checking to front end
x[2:1] is a compile-time error now too
R=ken2
CC=golang-dev
https://golang.org/cl/1848056
2010-08-03 00:26:02 -07:00
Russ Cox
0decedf636
gc: various bug fixes
...
Fixes #935 .
Fixes #936 .
Fixes #941 .
R=ken2
CC=golang-dev
https://golang.org/cl/1867042
2010-07-20 23:45:33 -07:00
Russ Cox
4c0de303ce
gc: bug294
...
Fixes #800 .
R=ken2
CC=golang-dev
https://golang.org/cl/1855043
2010-07-15 16:42:32 -07:00
Russ Cox
ece6a8c549
gc: bug293
...
Fixes #846 .
R=ken2
CC=golang-dev
https://golang.org/cl/1862042
2010-07-15 16:14:06 -07:00
Russ Cox
31c07dfddf
gc: issue 901
...
Fixes #901 .
R=ken2
CC=golang-dev
https://golang.org/cl/1674049
2010-07-15 15:22:51 -07:00
Russ Cox
17f90c68c6
gc: fix handling of types inside function bodies
...
Fixes #849 .
Fixes #920 .
R=ken2
CC=golang-dev
https://golang.org/cl/1841042
2010-07-15 14:25:50 -07:00
Russ Cox
81c3e8cabc
gc: implement new len spec, range bug fix, optimization
...
Fixes #885 .
R=ken2
CC=golang-dev
https://golang.org/cl/1680048
2010-07-01 18:04:25 -07:00
Ken Thompson
33da9afc3e
optimization of static initialization
...
R=rsc
CC=golang-dev
https://golang.org/cl/1677049
2010-06-27 17:37:01 -07:00
Russ Cox
d5a80d0ba4
gc: no more ...
...
various cleanup, deleting unused code
R=ken2
CC=golang-dev
https://golang.org/cl/1663041
2010-06-14 11:24:51 -07:00
Russ Cox
76da2780c3
gc: less aggressive name binding, for better line numbers in errors
...
Cleans up a few other corner cases too.
R=ken2
CC=golang-dev
https://golang.org/cl/1592045
2010-06-12 11:17:24 -07:00
Russ Cox
565b5dc076
gc: new typechecking rules
...
* Code for assignment, conversions now mirrors spec.
* Changed some snprint -> smprint.
* Renamed runtime functions to separate
interface conversions from type assertions:
convT2I, assertI2T, etc.
* Correct checking of \U sequences.
Fixes #840 .
Fixes #830 .
Fixes #778 .
R=ken2
CC=golang-dev
https://golang.org/cl/1303042
2010-06-08 18:50:02 -07:00
Russ Cox
709c5b2481
gc: handle use of builtin function outside function call
...
tweaks & tests of last bug fix too.
R=ken2
CC=golang-dev
https://golang.org/cl/1207044
2010-05-20 22:57:08 -07:00
Russ Cox
b03d7f4d8f
gc: line number bug fix
...
R=ken2
CC=golang-dev
https://golang.org/cl/1243044
2010-05-20 22:19:50 -07:00
Ken Thompson
a3a0a5fdc3
allow data statements for simple
...
external variable assignements.
R=rsc
CC=golang-dev
https://golang.org/cl/1094041
2010-05-03 22:51:30 -07:00
Russ Cox
6361f52fc4
gc: be pickier about slice, chan, array, and map sizes
...
Fixes #589 .
R=ken2
CC=golang-dev
https://golang.org/cl/1032044
2010-05-01 13:15:42 -07:00
Russ Cox
253fd30e66
gc: bug271
...
Fixes #662 .
R=ken2
CC=golang-dev
https://golang.org/cl/978043
2010-04-30 13:27:08 -07:00
Russ Cox
560283c880
gc: bug270
...
Fixes #746 .
R=ken2
CC=golang-dev
https://golang.org/cl/1040042
2010-04-30 13:04:16 -07:00
Russ Cox
d9254d00f9
gc: zero unnamed return values on entry if func has defer
...
R=ken2
CC=golang-dev
https://golang.org/cl/891050
2010-04-12 14:28:27 -07:00
Russ Cox
c9293f0cc7
gc: compile s == "" as len(s) == 0
...
R=ken2
CC=golang-dev
https://golang.org/cl/840043
2010-04-11 15:24:44 -07:00
Russ Cox
f75d0d224f
runtime: turn run time errors checks into panics
...
R=ken2, r
CC=golang-dev
https://golang.org/cl/871042
2010-04-01 22:31:27 -07:00
Russ Cox
9b1507b050
gc: implement panic and recover
...
R=ken2, r, ken3
CC=golang-dev
https://golang.org/cl/831042
2010-03-31 11:46:01 -07:00
Russ Cox
01eaf780a8
gc: add panic and recover (still unimplemented in runtime)
...
main semantic change is to enforce single argument to panic.
runtime: change to 1-argument panic.
use String method on argument if it has one.
R=ken2, r
CC=golang-dev
https://golang.org/cl/812043
2010-03-30 10:53:16 -07:00
Russ Cox
3908c16ffe
gc: bug265
...
Fixes #700 .
R=ken2
CC=golang-dev
https://golang.org/cl/839041
2010-03-29 15:27:59 -07:00
Russ Cox
97d0e8fe6c
gc: allow taking address of out parameters
...
Fixes #186 .
R=ken2
CC=golang-dev
https://golang.org/cl/793041
2010-03-26 18:01:02 -07:00
Ken Thompson
623dfd1b07
depricate panicln
...
R=rsc
CC=golang-dev
https://golang.org/cl/743041
2010-03-24 16:53:54 -07:00
Russ Cox
4408659e81
gc: various map-related bug fixes
...
Fixes #687 .
R=ken2
CC=golang-dev
https://golang.org/cl/680042
2010-03-22 18:51:14 -07:00
Ken Thompson
f229c8b546
identical complex implementation
...
for 6g and 8g. can also be used
for 5g. 5g is still a stub.
R=rsc
CC=golang-dev
https://golang.org/cl/362041
2010-03-09 12:49:24 -08:00
Russ Cox
4f89dcdf99
5g/6g/8g: fix double function call in slice
...
Fixes #654 .
R=ken2
CC=golang-dev
https://golang.org/cl/310041
2010-03-08 14:19:28 -08:00
Ken Thompson
426099f42e
6g complex type usable
...
8g and 5g have stubs to ignore complex
R=rsc
CC=golang-dev
https://golang.org/cl/257042
2010-03-05 20:16:04 -08:00
Russ Cox
a9b9afa930
gc: fix crash on complicated arg to make slice.
...
Fixes #615 .
R=ken2
CC=golang-dev
https://golang.org/cl/255043
2010-03-05 19:29:14 -08:00
Russ Cox
ac499ed7a5
gc: better compilation of floating point +=
...
R=ken2
CC=golang-dev
https://golang.org/cl/255042
2010-03-05 15:35:09 -08:00
Russ Cox
f1550482fa
gc: fix imported and not used message - show path
...
R=ken2
CC=golang-dev
https://golang.org/cl/229046
2010-03-03 17:23:47 -08:00
Russ Cox
3910161307
gc: implement []int(string) and []byte(string)
...
R=ken2
CC=golang-dev
https://golang.org/cl/224060
2010-02-25 15:11:07 -08:00
Ken Thompson
f59cb49a5a
fixed bug in mpconst float multiply by 0.
...
more complex -- constants, variables and print.
R=rsc
CC=golang-dev
https://golang.org/cl/217061
2010-02-19 20:42:50 -08:00
Russ Cox
4589c34580
gc: fix this morning's bug fix
...
R=ken2
CC=golang-dev
https://golang.org/cl/216043
2010-02-18 18:31:13 -08:00
Ken Thompson
fc010adcd7
complex constant multiply and divide
...
R=rsc
CC=golang-dev
https://golang.org/cl/217041
2010-02-18 17:55:11 -08:00
Ken Thompson
713e3e1541
more complex - constants
...
import and export
R=rsc
CC=golang-dev
https://golang.org/cl/214050
2010-02-18 14:46:28 -08:00
Russ Cox
1734cb02e7
gc: recursive interface embedding
...
Fixes #287 .
R=ken2
CC=golang-dev
https://golang.org/cl/215048
2010-02-18 11:15:36 -08:00
Russ Cox
7b5789b584
gc: undo attempt at fixing recursive interface embedding
...
Fixes #582 .
Update #287
Status: Accepted
Bug fix was too intrusive; undo and reopen issue.
R=ken2
CC=golang-dev
https://golang.org/cl/209044
2010-02-16 17:44:15 -08:00
Russ Cox
44898c7b76
gc: bug250, bug251 - recursive interface types
...
Fixes #287 .
R=ken2
CC=golang-dev
https://golang.org/cl/199057
2010-02-01 23:58:49 -08:00
Russ Cox
674458e1c4
gc: bug246
...
R=ken2
CC=golang-dev
https://golang.org/cl/198057
2010-02-01 23:05:15 -08:00
Russ Cox
0bd41e2ff0
gc: bug242
...
R=ken2
CC=golang-dev
https://golang.org/cl/198053
2010-02-01 22:18:51 -08:00
Russ Cox
45515011cc
gc: final ...T bug for the day
...
R=ken2
CC=golang-dev
https://golang.org/cl/199046
2010-02-01 16:22:16 -08:00
Russ Cox
68796b0270
gc: add ... T, rework plain ...
...
No longer a distinct type; now a property of func types.
R=ken2
CC=golang-dev
https://golang.org/cl/197042
2010-02-01 00:25:59 -08:00
Russ Cox
a186b77b03
gc: implement defer print/println/panic/panicln
...
Fixes #219 .
R=ken2, r
CC=golang-dev
https://golang.org/cl/194097
2010-01-27 15:37:08 -08:00
Russ Cox
fe01d4c8a1
gc: const debug bool = false
...
R=ken2
CC=golang-dev
https://golang.org/cl/186232
2010-01-19 15:25:44 -08:00
Russ Cox
307a899d5b
gc: bug238
...
Fixes #471 .
R=ken2
CC=golang-dev
https://golang.org/cl/181184
2010-01-08 00:01:03 -08:00
Russ Cox
5f132b93eb
gc: various C nits, found by plan 9 compiler.
...
reported by erik quanstrom.
R=ken2
https://golang.org/cl/181071
2009-12-27 09:32:30 -08:00
Russ Cox
6a4b2492b3
gc: fix compiler crash
...
R=ken2
CC=dho
https://golang.org/cl/179097
2009-12-17 15:08:55 -08:00
Russ Cox
864c757a1c
gc/runtime: pass type structure to makeslice.
...
* inform garbage collector about memory with no pointers in it
1.9s gcc reverse-complement.c
reverse-complement.go
4.5s / 3.5s original, with/without bounds checks
3.5s / 3.3s bounds check reduction
3.3s / 2.8s smarter garbage collector
2.6s / 2.3s assembler bytes.IndexByte
2.5s / 2.1s even smarter garbage collector (this CL)
R=r
https://golang.org/cl/165064
2009-12-04 21:44:05 -08:00