Ian Lance Taylor
c332ff42fe
Don't check array bounds if we have been told not to.
...
Fixes range.go test for 6g.
R=rsc
CC=golang-dev
https://golang.org/cl/189093
2010-01-15 13:51:57 -08:00
Russ Cox
fdb030d86f
6g etc: groundwork for eliminating redundant bounds checks.
...
drop check in range over array.
drop check in [256]array indexed by byte.
R=ken2
https://golang.org/cl/163088
2009-12-02 17:30:07 -08:00
Kai Backman
c3cf8d663a
s/AJMP/AB/ to fix build breakage.
...
R=rsc
https://golang.org/cl/155069
2009-11-16 11:58:28 -08:00
Russ Cox
ef46a9ddac
gc: fix up floating point NaN comparisons
...
Fixes #167 .
R=ken2
https://golang.org/cl/155062
2009-11-15 17:24:14 -08:00
Kai Backman
fd7d803535
fix argument order bug for float
...
R=rsc
http://go/go-review/1025006
2009-11-06 13:51:17 -08:00
Kai Backman
1d0b65d33f
added missing sgen reverse character copy code.
...
R=rsc
http://go/go-review/1018006
2009-10-30 09:38:30 -07:00
Kai Backman
58ee1f5d54
shift for non-64 bit integers.
...
R=rsc
http://go/go-review/1015017
2009-10-27 22:38:45 -07:00
Kai Backman
1228112b50
bug162, large indices on nil references
...
R=rsc
http://go/go-review/1013016
2009-10-26 21:49:32 -07:00
Kai Backman
68d5c51287
fix conditional branch instructions for unsigned ints and
...
float. fix sgen endianess in sgen character copying.
go/test: passes 97% (336/345)
R=rsc
http://go/go-review/1015007
2009-10-24 22:47:25 -07:00
Kai Backman
f860bc0f4e
fixed len/cap for chan. disable gc for now.
...
go/test: passes 93% (323/345)
R=rsc
http://go/go-review/1015006
2009-10-23 20:31:03 -07:00
Kai Backman
a9e03ae52a
fix broken code produced for ominus
...
go/test: passes 89% (308/345)
R=rsc
APPROVED=rsc
DELTA=10 (5 added, 0 deleted, 5 changed)
OCL=36005
CL=36021
2009-10-23 10:58:29 -07:00
Kai Backman
dde4090372
removed tempalloc/tempfree and replaced with tempname
...
go/test: passes 88% (304/345)
R=rsc
APPROVED=rsc
DELTA=67 (3 added, 54 deleted, 10 changed)
OCL=35910
CL=35910
2009-10-19 22:47:25 -07:00
Kai Backman
545dbd810c
fix OINDEX address generation, leftover misunderstanding about
...
how scale works on amd64/386
go/test: passes 85% (294/342)
R=rsc
APPROVED=rsc
DELTA=27 (26 added, 1 deleted, 0 changed)
OCL=35815
CL=35818
2009-10-15 22:16:31 -07:00
Kai Backman
6d0983ae46
64bit and float code generation. fmt compiles but
...
reflect is broken so fmt doesn't work.
go/test: passes 83% (285/342)
R=rsc
APPROVED=rsc
DELTA=415 (240 added, 29 deleted, 146 changed)
OCL=35576
CL=35588
2009-10-11 20:01:11 -07:00
Kai Backman
6084dcdd07
floating point calc, added a few more packages that pass
...
go/test: passes 80% (274/340)
R=rsc
APPROVED=rsc
DELTA=61 (59 added, 0 deleted, 2 changed)
OCL=35506
CL=35517
2009-10-09 07:37:49 -07:00
Kai Backman
620ec45c5f
cleaned up cgen() to be a bit more straightforward.
...
R=rsc
APPROVED=rsc
DELTA=104 (46 added, 56 deleted, 2 changed)
OCL=35392
CL=35394
2009-10-06 14:48:39 -07:00
Kai Backman
5afce0ca85
64 bit cmp and some sgen tweaks
...
go/test: passes 75% (256/339)
R=rsc
APPROVED=rsc
DELTA=142 (53 added, 4 deleted, 85 changed)
OCL=35367
CL=35375
2009-10-06 09:47:46 -07:00
Kai Backman
3e5a817d07
a few more code generation bugs and an interface alignment issue.
...
go/test: passes 74% (251/339)
R=rsc
APPROVED=rsc
DELTA=40 (34 added, 0 deleted, 6 changed)
OCL=35254
CL=35275
2009-10-02 09:06:51 -07:00
Kai Backman
a1b4796394
fixed a few calls to gcmp and some really bothched OINDEX code
...
(how did that happen?)
go/test: passes 70% (238/339)
R=rsc
APPROVED=rsc
DELTA=18 (10 added, 0 deleted, 8 changed)
OCL=35185
CL=35188
2009-09-30 18:56:37 -07:00
Kai Backman
399d23d4f4
load binary op arguments into registers
...
go/test: passes 69% (237/339)
R=rsc
APPROVED=rsc
DELTA=12 (3 added, 9 deleted, 0 changed)
OCL=35178
CL=35180
2009-09-30 14:28:18 -07:00
Kai Backman
24bfaaf07a
- added gcmp for proper ACMP generation, changed all call
...
sites plus optimized constant code a bit (one less register
used).
- changed conditional branches, might need a re-tweak later
- gave up on agen OINDEX and copied/fixed the version in 8g
go/test: passes 66% (225/339)
R=rsc
APPROVED=rsc
DELTA=148 (67 added, 32 deleted, 49 changed)
OCL=35040
CL=35055
2009-09-28 15:40:13 -07:00
Kai Backman
8ce5f6e14a
fix bad code generation.
...
go/test: passes 64% (215/337) tests
metric updated, had total number of tests wrong. number of
failing tests is down from 129 to 122.
R=rsc
APPROVED=rsc
DELTA=228 (12 added, 5 deleted, 211 changed)
OCL=34897
CL=34899
2009-09-22 13:13:23 -07:00
Kai Backman
6b0bd43fe4
fix code generation of CMP to use registers properly. also fix
...
one case of uninitialized memory and some output.
R=rsc
APPROVED=rsc
DELTA=73 (43 added, 1 deleted, 29 changed)
OCL=34743
CL=34772
2009-09-17 23:07:52 -07:00
Kai Backman
4c952153aa
use register intermediate
...
R=rsc
APPROVED=rsc
DELTA=21 (7 added, 5 deleted, 9 changed)
OCL=34607
CL=34663
2009-09-15 16:12:47 -07:00
Russ Cox
1a0860b93f
make 5g, 8g build again by disabling init code.
...
R=ken
OCL=34604
CL=34604
2009-09-14 14:27:19 -07:00
Russ Cox
89f69bb3be
gc: handle iface == nil in back end
...
R=ken
OCL=33778
CL=33781
2009-08-24 15:20:37 -07:00
Kai Backman
f50e7b156e
mostly 64 bit support.
...
- fixed a number of places where we tried to allocate 64bit
regs. added honeypot in regalloc to catch these in the future.
- implemented quad copying in sgen
- cgen64.c, add, mul
- clearfat done
- D_REGREG output from 5g (linker already knew about them)
- gmove done
- optoas almost done, last bit probably not needed
- D_SHIFT support in list.c
R=rsc
APPROVED=rsc
DELTA=963 (711 added, 112 deleted, 140 changed)
OCL=33619
CL=33688
2009-08-21 16:29:19 -07:00
Kai Backman
8811896597
more work on adding in pieces. fixed my bad assumptions about
...
signed and unsigned integer conversions.
R=rsc
APPROVED=rsc
DELTA=398 (40 added, 230 deleted, 128 changed)
OCL=33546
CL=33569
2009-08-19 20:17:09 -07:00
Kai Backman
382a19c3de
pkg/sort compiling and some progress on syscall. mostly
...
re-enabling and massaging code.
R=rsc
APPROVED=rsc
DELTA=2496 (1880 added, 330 deleted, 286 changed)
OCL=33487
CL=33504
2009-08-18 19:20:33 -07:00
Russ Cox
ff3a73b407
typechecking checkpoint.
...
started to move typechecking to another file.
can build entire tree still, but lots of work
is duplicated. much to clean up.
R=ken
OCL=32536
CL=32543
2009-07-30 16:53:08 -07:00
Russ Cox
189153ed13
fix error that gcc thinks is a warning
...
R=ken
OCL=32264
CL=32386
2009-07-28 17:02:05 -07:00
Russ Cox
30228a3bc6
avoid register computing len(x), cap(x)
...
for slice or string x.
R=ken
OCL=32249
CL=32249
2009-07-27 15:55:27 -07:00
Kai Backman
0e2cce70cb
tiny naming cleanup
...
R=rsc
APPROVED=rsc
DELTA=17 (0 added, 0 deleted, 17 changed)
OCL=31503
CL=31579
2009-07-13 22:04:24 -07:00
Kai Backman
908cd8f857
cleaned up data generation in 5g, reverted 5l handling of D_ADDR.
...
R=rsc
APPROVED=rsc
DELTA=46 (0 added, 5 deleted, 41 changed)
OCL=31241
CL=31243
2009-07-06 23:04:56 -07:00
Kai Backman
86987055a3
agen, sgen, cgen_callret, cgen_asop, D_ADDR handling, gmove
...
8bit and 16bit, some optoas, replaced Addr.index with
Addr.name
empty function compiles, mutex compiles
R=rsc
APPROVED=rsc
DELTA=908 (83 added, 41 deleted, 784 changed)
OCL=31127
CL=31188
2009-07-06 06:42:37 -07:00
Kai Backman
b2871b727e
working on bgen
...
- removed smallint optimizations
- lifted raddr from 5c
- add back %R, was used in gc/* causing -g to crash
- changed naddr OREGISTER to emit D_REG instead of D_OREG
R=rsc
APPROVED=rsc
DELTA=74 (38 added, 28 deleted, 8 changed)
OCL=30799
CL=30822
2009-06-26 22:04:30 -07:00
Russ Cox
0aef57e37f
fix a 6g crash after type errors.
...
do not bother warning about marks left
on stack after syntax errors.
leave OCONV nodes in tree to avoid type errors
arising from multiple walks.
R=ken
OCL=30639
CL=30662
2009-06-23 15:30:59 -07:00
Kai Backman
63e1b714de
Rebooted 5g effort from 6g. Tons of minor fixes and tweaks to
...
get the code going.
R=rsc
APPROVED=rsc
DELTA=4752 (1723 added, 948 deleted, 2081 changed)
OCL=29403
CL=29530
2009-05-28 14:25:54 -07:00
Kai Backman
eac5db7f4c
Copied 8g/6g into 5g. Used sharp tools to coax a .5 file out
...
of 5g. 5l balks at the output and running 5g with -S shows
the true extent of the disaster. Still, better than
yesterday. Maybe.
Tested on the canonical:
package main
func main() {
}
R=rsc
APPROVED=rsc
DELTA=4182 (4181 added, 0 deleted, 1 changed)
OCL=27601
CL=28175
2009-05-01 13:21:53 -07:00