summaryrefslogtreecommitdiff
path: root/src/cmd/6g/gsubr.c
AgeCommit message (Collapse)AuthorFilesLines
2015-01-15Imported Upstream version 1.4upstream/1.4Tianon Gravi1-23/+6
2014-06-19Imported Upstream version 1.3upstream/1.3Michael Stapelberg1-33/+71
2013-12-03Imported Upstream version 1.2upstream/1.2Michael Stapelberg1-50/+48
2013-05-14Imported Upstream version 1.1upstream/1.1Michael Stapelberg1-14/+10
2013-03-04Imported Upstream version 1.1~hg20130304upstream/1.1_hg20130304Michael Stapelberg1-116/+181
2012-04-06Imported Upstream version 1upstream/1Ondřej Surý1-21/+78
2011-09-13Imported Upstream version 60upstream/60Ondřej Surý1-0/+2159
2011-09-13Imported Upstream version 60Ondřej Surý1-2159/+0
2011-08-03Imported Upstream version 59upstream/59Ondřej Surý1-0/+13
2011-06-30Imported Upstream version 58upstream/58Ondřej Surý1-9/+36
2011-06-16Imported Upstream version 57.2upstream/57.2Ondřej Surý1-0/+38
2011-02-14Imported Upstream version 2011-02-01.1upstream/2011-02-01.1Ondřej Surý1-1/+1
2011-01-17Imported Upstream version 2011.01.12upstream/2011.01.12Ondřej Surý1-39/+110
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/+18
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-3/+3
R=ken2, r CC=golang-dev http://codereview.appspot.com/871042 Committer: Russ Cox <rsc@golang.org>
2010-03-09identical complex implementationKen Thompson1-1/+1
for 6g and 8g. can also be used for 5g. 5g is still a stub. R=rsc CC=golang-dev http://codereview.appspot.com/362041
2010-03-02more on type complex.Ken Thompson1-0/+7
getting close. R=rsc CC=golang-dev http://codereview.appspot.com/224105
2010-02-21all done except -Ken Thompson1-28/+2
complex divide float(complex) conversion 8g 5g etc tests R=rsc CC=golang-dev http://codereview.appspot.com/218044
2010-02-19fixed bug in mpconst float multiply by 0.Ken Thompson1-0/+32
more complex -- constants, variables and print. R=rsc CC=golang-dev http://codereview.appspot.com/217061
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>
2010-01-20part 2 of sudoaddable optimizationKen Thompson1-17/+42
R=rsc CC=golang-dev http://codereview.appspot.com/190088
2010-01-19start of better addressing ofKen Thompson1-8/+32
arrays/slices in structures R=rsc CC=golang-dev http://codereview.appspot.com/190077
2009-12-11bug in 6g optimizerKen Thompson1-0/+2
8g still needs fixing R=rsc http://codereview.appspot.com/176057
2009-12-026g etc: groundwork for eliminating redundant bounds checks.Russ Cox1-11/+12
drop check in range over array. drop check in [256]array indexed by byte. R=ken2 http://codereview.appspot.com/163088
2009-11-15gc: fix up floating point NaN comparisonsRuss Cox1-4/+0
Fixes issue 167. R=ken2 http://codereview.appspot.com/155062
2009-10-20bug162, over and overRuss Cox1-44/+65
R=ken OCL=35919 CL=35919
2009-10-19bug190.Russ Cox1-1/+0
also eliminate float80 dregs R=ken OCL=35894 CL=35896
2009-09-10fix bug206.Russ Cox1-2/+2
delay calls to savex as long as possible. R=ken OCL=34535 CL=34546
2009-08-20symbol bugs.Russ Cox1-3/+1
do not emit unreachable data symbols. R=austin DELTA=103 (71 added, 4 deleted, 28 changed) OCL=33325 CL=33622
2009-08-14no debug symbols for internal-only method types.Russ Cox1-0/+1
now 15% overhead instead of 30% in binaries. R=ken OCL=33235 CL=33288
2009-08-136g/6l: add go type information to symbol table.Russ Cox1-1/+2
archive size +70% binary size +30% old wreck.mtv=; ls -l /Users/rsc/bin/{godoc,gofmt} -rwxr-xr-x 1 rsc eng 1487922 Aug 13 13:21 /Users/rsc/bin/godoc -rwxr-xr-x 1 rsc eng 995995 Aug 13 13:21 /Users/rsc/bin/gofmt wreck.mtv=; du -sh $GOROOT/pkg/ 9.5M /home/rsc/go/pkg/ wreck.mtv=; new wreck.mtv=; ls -l /Users/rsc/bin/{godoc,gofmt} -rwxr-xr-x 1 rsc eng 2014390 Aug 13 14:25 /Users/rsc/bin/godoc -rwxr-xr-x 1 rsc eng 1268705 Aug 13 14:25 /Users/rsc/bin/gofmt wreck.mtv=; du -sh $GOROOT/pkg 16M /home/rsc/go/pkg wreck.mtv=; R=ken OCL=33217 CL=33220
2009-08-12mechanism for putting go types into 6.out symbol table.Russ Cox1-0/+3
no types yet. R=ken OCL=33142 CL=33146
2009-08-091. integer division by a constant done.Ken Thompson1-249/+20
2. moved functions from 6g to gc for portability to other families. 3. added rotate-carry instructions to peek and reg. R=rsc OCL=32946 CL=32946
2009-08-08plateau in divide by a constantKen Thompson1-4/+28
still to do - overflow, mod R=rsc OCL=32927 CL=32927
2009-08-07more work on divide by constant.Ken Thompson1-0/+195
no real change -- disabled because of bugs R=rsc OCL=32923 CL=32923
2009-08-06divide by a constant power of 2Ken Thompson1-0/+52
R=rsc OCL=32858 CL=32858
2009-07-27avoid register computing len(x), cap(x)Russ Cox1-0/+14
for slice or string x. R=ken OCL=32249 CL=32249
2009-06-066g: add TODO about float constants backRuss Cox1-0/+1
R=ken OCL=29984 CL=29997
2009-05-28better 64-bit handling in 8g.Russ Cox1-1/+1
fewer moves, fewer stupid LEALs. powser1 runs (with evaln commented out). beginnings of floating point. R=ken OCL=29540 CL=29543
2009-05-27clean up gmove:Russ Cox1-491/+324
* conversions all in one place. * no separate load, store phases; direct memory addressing when possible (this is the x86 after all!). avoids extra registers, extra MOVQs. * fixes int32 -> uint64 bug (was zero-extending) R=ken OCL=29482 CL=29484
2009-05-231. check for dups in complex literalsKen Thompson1-2/+15
structtype{a:1, a:2} maptypetype{"xx":1, "xx":2} arraytypetype{5:1, 5:2} 2. bug in registerization concerning alias of a struct and one of its elements 3. code optimization of struct.field (which exposed bug in 2) R=r OCL=29315 CL=29315
2009-05-086g:Russ Cox1-2/+2
new type equality restrictions better handling of renamed packages "sys" is no longer available to programs R=ken OCL=28553 CL=28578
2009-05-066g: generate string data as individual symbols,Russ Cox1-7/+1
so that 6l can discard strings used by dead code. also, for short strings, generate DUPOK global symbols so that references to, say, "%s: %s" in multiple files result in only a single symbol. R=ken OCL=28361 CL=28361
2009-05-03more code fiddlingKen Thompson1-4/+33
R=r OCL=28201 CL=28201
2009-04-23Clear upper bits of 64-bit indexing register when using types smaller than ↵Ben Eitzen1-2/+5
64 bits. APPROVED=ken OCL=27811 CL=27823
2009-04-09change representation of stringsKen Thompson1-5/+5
R=r OCL=27293 CL=27293
2009-03-31move tiny gsubr functions together at the top of the file.Russ Cox1-75/+75
delete unused mkenam file R=ken OCL=26940 CL=26940
2009-03-30move portable object routines (especiallyRuss Cox1-1/+30
signature generation) into gc. R=ken OCL=26933 CL=26933