- 13 Jun, 2012 1 commit
-
-
Russ Cox authored
««« backport 967ae8baf398 cmd/gc: fix small integer bounds check bug R=ken2 CC=golang-dev https://golang.org/cl/6254046 »»»
-
- 22 Mar, 2012 2 commits
-
-
Ian Lance Taylor authored
R=bradfitz, gri, lvd CC=golang-dev https://golang.org/cl/5874053
-
Ian Lance Taylor authored
Fixes #3369. R=golang-dev, gri, lvd, r CC=golang-dev https://golang.org/cl/5876044
-
- 19 Mar, 2012 1 commit
-
-
Anthony Martin authored
The two optimizations for small structs and arrays were missing the implicit cast from ideal bool. Fixes #3351. R=rsc, lvd CC=golang-dev https://golang.org/cl/5848062
-
- 08 Mar, 2012 1 commit
-
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/5783047
-
- 29 Feb, 2012 1 commit
-
-
Anthony Martin authored
The two string comparison optimizations were missing the implicit cast from ideal bool. Fixes #3119. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/5696071
-
- 22 Feb, 2012 1 commit
-
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/5688064
-
- 13 Feb, 2012 1 commit
-
-
Anthony Martin authored
8g/cgen.c print format type mismatch 8l/asm.c resoff set and not used gc/pgen.c misleading comparison INT > 0x80000000 gc/reflect.c dalgsym must be static to match forward declaration gc/subr.c assumed_equal set and not used hashmem's second argument is not used gc/walk.c duplicated (unreachable) code R=rsc CC=golang-dev https://golang.org/cl/5651079
-
- 11 Feb, 2012 1 commit
-
-
Russ Cox authored
If the values being compared have different concrete types, then they're clearly unequal without needing to invoke the actual interface compare routine. This speeds tests for specific values, like if err == io.EOF, by about 3x. benchmark old ns/op new ns/op delta BenchmarkIfaceCmp100 843 287 -65.95% BenchmarkIfaceCmpNil100 184 182 -1.09% Fixes #2591. R=ken2 CC=golang-dev https://golang.org/cl/5651073
-
- 06 Feb, 2012 1 commit
-
-
Luuk van Dijk authored
Fixes #2821. R=rsc CC=golang-dev https://golang.org/cl/5606061
-
- 25 Jan, 2012 1 commit
-
-
Russ Cox authored
Pulling function calls out to happen before the expression being evaluated was causing illegal reorderings even without inlining; with inlining it got worse. This CL adds a separate ordering pass to move things with a fixed order out of expressions and into the statement sequence, where they will not be reordered by walk. Replaces lvd's CL 5534079. Fixes #2740. R=lvd CC=golang-dev https://golang.org/cl/5569062
-
- 23 Jan, 2012 1 commit
-
-
Luuk van Dijk authored
Fixes #2674. R=rsc CC=golang-dev https://golang.org/cl/5574045
-
- 19 Dec, 2011 1 commit
-
-
Russ Cox authored
Keeps -u tracking simple. R=ken2 CC=golang-dev https://golang.org/cl/5495094
-
- 13 Dec, 2011 1 commit
-
-
Russ Cox authored
To allow these types as map keys, we must fill in equal and hash functions in their algorithm tables. Structs or arrays that are "just memory", like [2]int, can and do continue to use the AMEM algorithm. Structs or arrays that contain special values like strings or interface values use generated functions for both equal and hash. The runtime helper func runtime.equal(t, x, y) bool handles the general equality case for x == y and calls out to the equal implementation in the algorithm table. For short values (<= 4 struct fields or array elements), the sequence of elementwise comparisons is inlined instead of calling runtime.equal. R=ken, mpimenov CC=golang-dev https://golang.org/cl/5451105
-
- 09 Dec, 2011 2 commits
-
-
Russ Cox authored
Copied from 5400043 since they stand alone from inlining. R=lvd CC=golang-dev https://golang.org/cl/5479046
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/5444054
-
- 05 Dec, 2011 1 commit
-
-
Russ Cox authored
Equality on structs will require arbitrary code for type equality, so change algorithm in type data from uint8 to table pointer. In the process, trim top-level map structure from 104/80 bytes (64-bit/32-bit) to 24/12. Equality on structs will require being able to call code generated by the Go compiler, and C code has no way to access Go return values, so change the hash and equal algorithm functions to take a pointer to a result instead of returning the result. R=ken CC=golang-dev https://golang.org/cl/5453043
-
- 02 Dec, 2011 1 commit
-
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/5450067
-
- 11 Nov, 2011 1 commit
-
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/5376076
-
- 04 Nov, 2011 1 commit
-
-
Luuk van Dijk authored
Fixes #873 Fixes #2162 R=rsc CC=golang-dev https://golang.org/cl/5341043
-
- 31 Oct, 2011 1 commit
-
-
Luuk van Dijk authored
Got rid of all the magic mystery globals. Now for %N, %T, and %S, the flags +,- and # set a sticky debug, sym and export mode, only visible in the new fmt.c. Default is error mode. Handle h and l flags consistently with the least side effects, so we can now change things without worrying about unrelated things breaking. fixes #2361 R=rsc CC=golang-dev https://golang.org/cl/5316043
-
- 26 Oct, 2011 1 commit
-
-
Russ Cox authored
R=ken, r CC=golang-dev https://golang.org/cl/5293046
-
- 18 Oct, 2011 1 commit
-
-
Russ Cox authored
The old m[x] = 0, false syntax will be deleted in a month or so, once people have had time to change their code (there is a gofix in a separate CL). R=ken2 CC=golang-dev https://golang.org/cl/5265048
-
- 13 Oct, 2011 2 commits
-
-
Russ Cox authored
Fixes #693. R=ken2 CC=golang-dev https://golang.org/cl/5265045
-
Dmitriy Vyukov authored
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/5151043
-
- 12 Oct, 2011 1 commit
-
-
Luuk van Dijk authored
Fixes #2274 R=rsc, gri, dsymonds, bradfitz, lvd CC=golang-dev https://golang.org/cl/5149045
-
- 02 Sep, 2011 1 commit
-
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/4967052
-
- 29 Aug, 2011 1 commit
-
-
Lucio De Re authored
gc/bits.c . improved format with associated cast; gc/closure.c gc/dcl.c gc/range.c gc/reflect.c gc/sinit.c . dropped unnecessary assignments; gc/gen.c . dropped unnecessary assignment; . added static qualifier to local function definition; gc/go.h . added varargck pragmas; gc/lex.c . used {} instead of ; in if statement to suppress warning; . replaced exit(0) with exits(0); . added compilation conditions for SIGBUS/SIGSEGV; . dropped unnecessary assignment; gc/mparith2.c . dropped four unnecessary assignments/initialisations; gc/obj.c . added type cast to local pointer; gc/pgen.c . added cast and related print format; gc/subr.c . replaced exit(1) with exits("error"); . replaced unlink() with remove(); . renamed local cistrmp() as ucistrmp() to remove conflict with Plan 9 function by the same name; gc/swt.c . added braces instead of ; as empty statment; gc/typecheck.c . added static qualifier to local function definition; . dropped unnecessary assignments; gc/walk.c . dropped unnecessary assignments; . added static qualifier to local function definitions; R=rsc CC=golang-dev https://golang.org/cl/4964046
-
- 28 Aug, 2011 1 commit
-
-
Russ Cox authored
-s now means *disable* escape analysis. Fix escape leaks for struct/slice/map literals. Add ... tracking. Rewrite new(T) and slice literal into stack allocation when safe. Add annotations to reflect. Reflect is too chummy with the compiler, so changes like these affect it more than they should. R=lvd, dave, gustavo CC=golang-dev https://golang.org/cl/4954043
-
- 25 Aug, 2011 2 commits
-
-
Russ Cox authored
#include "go.h" (or "gg.h") becomes #include <u.h> #include <libc.h> #include "go.h" so that go.y can #include <stdio.h> after <u.h> but before "go.h". This is necessary on Plan 9. R=ken2 CC=golang-dev https://golang.org/cl/4971041
-
Russ Cox authored
Found with gcc 4.6 -Wunused -Wextra but should be applicable to Plan 9 too. R=ken2 CC=golang-dev https://golang.org/cl/4958044
-
- 17 Aug, 2011 2 commits
-
-
Russ Cox authored
The spec has defined nil chans this way for months. I'm behind. R=ken2 CC=golang-dev https://golang.org/cl/4897050
-
Russ Cox authored
The spec has defined nil maps this way for months. I'm behind. R=ken2 CC=golang-dev https://golang.org/cl/4901052
-
- 21 Jul, 2011 1 commit
-
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/4794049
-
- 14 Jul, 2011 1 commit
-
-
Luuk van Dijk authored
Fixes #2056. R=rsc CC=golang-dev https://golang.org/cl/4709042
-
- 13 Jun, 2011 1 commit
-
-
Stephen Ma authored
Fixes #1952. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4611041
-
- 03 Jun, 2011 1 commit
-
-
Luuk van Dijk authored
also inlined a typechecking function in dcl away. R=rsc CC=golang-dev https://golang.org/cl/4550115
-
- 02 Jun, 2011 1 commit
-
-
Luuk van Dijk authored
R=rsc CC=golang-dev https://golang.org/cl/4528116
-
- 31 May, 2011 2 commits
-
-
Russ Cox authored
Fixes #1900. R=ken2 CC=golang-dev https://golang.org/cl/4561053
-
Luuk van Dijk authored
before: runtime_test.BenchmarkCallClosure 5000000 499 ns/op runtime_test.BenchmarkCallClosure1 5000000 681 ns/op after: runtime_test.BenchmarkCallClosure 500000000 5 ns/op runtime_test.BenchmarkCallClosure1 10000000 160 ns/op R=rsc CC=golang-dev https://golang.org/cl/4515167
-