1
0
mirror of https://github.com/golang/go synced 2024-10-05 00:11:21 -06:00
go/src/cmd/gc
Keith Randall 24699fb05c runtime: get rid of concatstring's vararg C argument.
Pass as a slice of strings instead.  For 2-5 strings, implement
dedicated routines so no slices are needed.

static call counts in the go binary:
 2 strings: 342 occurrences
 3 strings:  98
 4 strings:  30
 5 strings:  13
6+ strings:  14

Why?  C varags, bad for stack scanning and copying.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/36380043
2013-12-03 10:39:19 -08:00
..
align.c cmd/gc: squelch spurious "invalid recursive type" error 2013-09-09 13:03:59 -04:00
bisonerrors cmd/gc: make bisonerrors compatible with GNU Bison 3.0 2013-07-30 04:31:15 +02:00
bits.c gc: format nits 2011-11-07 11:42:08 -05:00
builtin.c runtime: get rid of concatstring's vararg C argument. 2013-12-03 10:39:19 -08:00
bv.c build: remove various uses of C undefined behavior 2013-09-09 15:07:23 -04:00
closure.c cmd/gc: fix method values whose receiver is an unnamed interface. 2013-08-29 10:00:58 +02:00
const.c cmd/gc: remove mentions of "ideal" from error messages. 2013-08-16 12:40:02 +10:00
cplx.c cmd/gc: silence valgrind error 2013-03-13 16:12:38 -04:00
dcl.c cmd/gc: re-word some error messages 2013-10-10 22:43:34 -04:00
doc.go cmd/godoc: use go/build to determine package and example files 2013-02-19 11:19:58 -08:00
esc.c cmd/gc: support x[i:j:k] 2013-07-01 20:32:36 -04:00
export.c cmd/gc: more detail in import conflict error message 2013-09-09 12:30:53 -04:00
fmt.c runtime: pass key/value to map accessors by reference, not by value. 2013-12-02 13:05:04 -08:00
gen.c cmd/gc: eliminate redundant &x.Field nil checks 2013-09-17 16:54:22 -04:00
go.errors cmd/gc: better error messages for C-style if statements. 2013-08-19 11:49:59 +10:00
go.h runtime: pass key/value to map accessors by reference, not by value. 2013-12-02 13:05:04 -08:00
go.y cmd/gc: qualified embedded fields with owner package. 2013-10-02 12:27:33 -04:00
init.c cmd/gc: do not generate code for var _ = ... unless necessary 2012-12-30 12:01:53 -05:00
inl.c cmd/gc: save local var list before inlining 2013-06-11 20:23:21 -07:00
lex.c cmd/gc: support -installsuffix in the compiler and builder 2013-10-03 13:48:47 +10:00
Makefile build: update Makefile to track source code dependencies better 2012-03-13 03:31:11 +08:00
md5.c build: remove various uses of C undefined behavior 2013-09-09 15:07:23 -04:00
md5.h
mkbuiltin cmd/gc: update runtime.go for new map implementation. 2013-03-27 21:51:07 +01:00
mkbuiltin1.c cmd/gc: silence clang warning 2013-10-29 11:50:18 -04:00
mkopnames gc: use octal escapes in mkopnames 2012-01-31 18:15:42 -08:00
mparith1.c cmd/gc: implement latest rules for checking make sizes 2013-02-03 14:28:44 -05:00
mparith2.c build: remove various uses of C undefined behavior 2013-09-09 15:07:23 -04:00
mparith3.c gc: make constant arith errors a little more friendly 2012-02-11 00:50:56 -05:00
obj.c libbio, all cmd: consistently use BGETC/BPUTC instead of Bgetc/Bputc 2013-08-30 15:46:12 +04:00
order.c cmd/gc: move genembedtramp into portable code 2013-06-11 09:41:49 -04:00
pgen.c runtime: don't use ... formal argument to deferreturn. 2013-12-02 13:07:15 -08:00
popt.c cmd/gc: fix set but not used error 2013-09-18 10:15:52 +10:00
popt.h cmd/gc: eliminate redundant &x.Field nil checks 2013-09-17 16:54:22 -04:00
racewalk.c cmd/gc: inline copy in frontend to call memmove directly. 2013-09-12 00:15:28 +02:00
range.c runtime: pass key/value to map accessors by reference, not by value. 2013-12-02 13:05:04 -08:00
reflect.c runtime: pass key/value to map accessors by reference, not by value. 2013-12-02 13:05:04 -08:00
runtime.go runtime: get rid of concatstring's vararg C argument. 2013-12-03 10:39:19 -08:00
select.c cmd/gc: fix eval order in select 2012-12-22 16:46:01 -05:00
sinit.c cmd/gc: fix detection of initialization loop. 2013-08-29 10:16:09 +02:00
subr.c cmd/gc: do not report fields when looking for methods 2013-09-16 15:55:16 -04:00
swt.c cmd/gc: print expression in 'duplicate case in switch' error 2013-09-20 15:15:43 -04:00
typecheck.c cmd/gc: inline copy in frontend to call memmove directly. 2013-09-12 00:15:28 +02:00
unsafe.c cmd/gc: fix some overflows in the compiler 2013-04-29 22:44:40 -07:00
unsafe.go gc: delete old unsafe functions 2012-02-13 15:37:35 -05:00
walk.c runtime: get rid of concatstring's vararg C argument. 2013-12-03 10:39:19 -08:00
y.tab.c cmd/gc: qualified embedded fields with owner package. 2013-10-02 12:27:33 -04:00
y.tab.h cmd/gc: qualified embedded fields with owner package. 2013-10-02 12:27:33 -04:00
yerr.h cmd/gc: qualified embedded fields with owner package. 2013-10-02 12:27:33 -04:00