summaryrefslogtreecommitdiff
path: root/src/cmd/5g/gsubr.c
AgeCommit message (Collapse)AuthorFilesLines
2011-06-30Imported Upstream version 58upstream/58Ondřej Surý1-0/+3
2011-06-16Imported Upstream version 57.2upstream/57.2Ondřej Surý1-0/+58
2011-04-20Imported Upstream version 2011.03.07.1upstream/2011.03.07.1Ondřej Surý1-0/+1
2011-01-17Imported Upstream version 2011.01.12upstream/2011.01.12Ondřej Surý1-61/+160
2010-06-29code gen bug in len(nil) and cap(nil)Ken Thompson1-0/+4
fixes issue 892 R=rsc CC=golang-dev http://codereview.appspot.com/1745042
2010-05-20fix issue 798Ken Thompson1-0/+6
cannot allocate an audomatic temp while real registers are allocated. there is a chance that the automatic will be allocated to one of the allocated registers. the fix is to not registerize such variables. R=rsc CC=golang-dev http://codereview.appspot.com/1202042
2010-04-01runtime: turn run time errors checks into panicsRuss Cox1-2/+2
R=ken2, r CC=golang-dev http://codereview.appspot.com/871042 Committer: Russ Cox <rsc@golang.org>
2010-02-01gc: add ... T, rework plain ...Russ Cox1-1/+0
No longer a distinct type; now a property of func types. R=ken2 CC=golang-dev http://codereview.appspot.com/197042
2010-01-22eliminate the package global name space assumption in object filesRuss Cox1-2/+2
5g/6g/8g: add import statements to export metadata, mapping package path to package name. recognize "" as the path of the package in export metadata. use "" as the path of the package in object symbol names. 5c/6c/8c, 5a/6a/8a: rewrite leading . to "". so that ·Sin means Sin in this package. 5l/6l/8l: rewrite "" in symbol names as object files are read. gotest: handle new symbol names. gopack: handle new import lines in export metadata. Collectively, these changes eliminate the assumption of a global name space in the object file formats. Higher level pieces such as reflect and the computation of type hashes still depend on the assumption; we're not done yet. R=ken2, r, ken3 CC=golang-dev http://codereview.appspot.com/186263 Committer: Russ Cox <rsc@golang.org>
2009-12-026g etc: groundwork for eliminating redundant bounds checks.Russ Cox1-1/+1
drop check in range over array. drop check in [256]array indexed by byte. R=ken2 http://codereview.appspot.com/163088
2009-10-27shift for non-64 bit integers.Kai Backman1-0/+1
R=rsc http://go/go-review/1015017
2009-10-26bug162, large indices on nil referencesKai Backman1-13/+59
R=rsc http://go/go-review/1013016
2009-10-24 fix conditional branch instructions for unsigned ints andKai Backman1-12/+24
float. fix sgen endianess in sgen character copying. go/test: passes 97% (336/345) R=rsc http://go/go-review/1015007
2009-10-19removed tempalloc/tempfree and replaced with tempnameKai Backman1-36/+0
go/test: passes 88% (304/345) R=rsc APPROVED=rsc DELTA=67 (3 added, 54 deleted, 10 changed) OCL=35910 CL=35910
2009-10-19bug190.Russ Cox1-1/+0
also eliminate float80 dregs R=ken OCL=35894 CL=35896
2009-10-19function literalsKai Backman1-4/+10
go/test: passes 86% (297/343) R=rsc APPROVED=rsc DELTA=14 (10 added, 1 deleted, 3 changed) OCL=35881 CL=35884
2009-10-15fix minor typo in float conversionsKai Backman1-2/+2
R=rsc APPROVED=rsc DELTA=2 (0 added, 0 deleted, 2 changed) OCL=35820 CL=35820
2009-10-15fix OINDEX address generation, leftover misunderstanding aboutKai Backman1-1/+10
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-15test/64bit.go passes but doesn't generate properly yet.Kai Backman1-1/+4
R=rsc APPROVED=rsc DELTA=235 (98 added, 38 deleted, 99 changed) OCL=35789 CL=35813
2009-10-12changed 5c 64 bit word ordering to little endian so it matchesKai Backman1-0/+28
5g. fixes to 64 bit code gen. added (finally) function to do shifts properly. go/test: passes 83% (287/342) R=rsc APPROVED=rsc DELTA=156 (50 added, 53 deleted, 53 changed) OCL=35589 CL=35616
2009-10-1164bit and float code generation. fmt compiles butKai Backman1-22/+40
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-0664 bit cmp and some sgen tweaksKai Backman1-3/+27
go/test: passes 75% (256/339) R=rsc APPROVED=rsc DELTA=142 (53 added, 4 deleted, 85 changed) OCL=35367 CL=35375
2009-10-02a few more code generation bugs and an interface alignment issue.Kai Backman1-1/+4
go/test: passes 74% (251/339) R=rsc APPROVED=rsc DELTA=40 (34 added, 0 deleted, 6 changed) OCL=35254 CL=35275
2009-10-01generate float registers correctly.Kai Backman1-4/+6
go/test: passes 71% (242/339) R=rsc APPROVED=rsc DELTA=9 (5 added, 0 deleted, 4 changed) OCL=35233 CL=35243
2009-09-29fix munging of pointer.Kai Backman1-1/+0
go/test: passes 69% (235/339) R=rsc APPROVED=rsc DELTA=5 (4 added, 1 deleted, 0 changed) OCL=35107 CL=35109
2009-09-29fixed alignment issue resulting from confusion around theKai Backman1-4/+5
meaning of out args. go/test: passes 68% (231/339) R=rsc APPROVED=rsc DELTA=13 (7 added, 0 deleted, 6 changed) OCL=35072 CL=35080
2009-09-28- added gcmp for proper ACMP generation, changed all callKai Backman1-20/+23
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-22fix bad code generation.Kai Backman1-3/+7
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-17fix code generation of CMP to use registers properly. also fixKai Backman1-11/+20
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-15use register intermediateKai Backman1-13/+8
R=rsc APPROVED=rsc DELTA=21 (7 added, 5 deleted, 9 changed) OCL=34607 CL=34663
2009-08-2464bit literal RSHKai Backman1-1/+1
R=rsc APPROVED=rsc DELTA=85 (35 added, 0 deleted, 50 changed) OCL=33761 CL=33767
2009-08-21mostly 64 bit support.Kai Backman1-174/+183
- 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-19more work on adding in pieces. fixed my bad assumptions aboutKai Backman1-140/+117
signed and unsigned integer conversions. R=rsc APPROVED=rsc DELTA=398 (40 added, 230 deleted, 128 changed) OCL=33546 CL=33569
2009-08-18pkg/sort compiling and some progress on syscall. mostlyKai Backman1-445/+173
re-enabling and massaging code. R=rsc APPROVED=rsc DELTA=2496 (1880 added, 330 deleted, 286 changed) OCL=33487 CL=33504
2009-08-18slashed warningsKai Backman1-13/+14
R=rsc APPROVED=rsc DELTA=35 (2 added, 1 deleted, 32 changed) OCL=33436 CL=33453
2009-07-27avoid register computing len(x), cap(x)Russ Cox1-29/+41
for slice or string x. R=ken OCL=32249 CL=32249
2009-07-12fixed typo where output arguments where pushed on to R0Kai Backman1-10/+6
instead of SP. R=rsc APPROVED=rsc DELTA=13 (3 added, 7 deleted, 3 changed) OCL=31488 CL=31501
2009-07-06cleaned up data generation in 5g, reverted 5l handling of D_ADDR.Kai Backman1-2/+1
R=rsc APPROVED=rsc DELTA=46 (0 added, 5 deleted, 41 changed) OCL=31241 CL=31243
2009-07-06sudoaddable odotKai Backman1-7/+6
R=rsc APPROVED=rsc DELTA=7 (0 added, 1 deleted, 6 changed) OCL=31189 CL=31191
2009-07-06agen, sgen, cgen_callret, cgen_asop, D_ADDR handling, gmoveKai Backman1-477/+481
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-06-26working on bgenKai Backman1-1/+20
- 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-26more changes to make 5g code generation arm compatible.Kai Backman1-0/+4
R=rsc APPROVED=rsc DELTA=72 (12 added, 52 deleted, 8 changed) OCL=30748 CL=30793
2009-06-25fixes to 5g object file generation. arm specific regalloc.Kai Backman1-716/+647
R=rsc APPROVED=rsc DELTA=976 (164 added, 237 deleted, 575 changed) OCL=30705 CL=30743
2009-05-28Rebooted 5g effort from 6g. Tons of minor fixes and tweaks toKai Backman1-1219/+1252
get the code going. R=rsc APPROVED=rsc DELTA=4752 (1723 added, 948 deleted, 2081 changed) OCL=29403 CL=29530
2009-05-01Copied 8g/6g into 5g. Used sharp tools to coax a .5 file outKai Backman1-0/+1984
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