- 18 Aug, 2017 32 commits
-
-
Ilya Tocar authored
We can add a constant to loaction in memory with 1 instruction, as opposed to load+add+store, so add a new op and relevent ssa rules. Triggers in e. g. encoding/json isValidNumber: NumberIsValid-6 36.4ns ± 0% 35.2ns ± 1% -3.32% (p=0.000 n=6+10) Shaves ~2.5 kb from go tool. Change-Id: I7ba576676c2522432360f77b290cecb9574a93c3 Reviewed-on: https://go-review.googlesource.com/54431 Run-TryBot: Ilya Tocar <ilya.tocar@intel.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Daniel Martí authored
All of these are uints of different sizes, so checking >= 0 or < 0 are effectively no-ops. Found with staticcheck. Change-Id: I16ac900eb7007bc8f9018b302136d42e483a4180 Reviewed-on: https://go-review.googlesource.com/56950Reviewed-by: Matt Layher <mdlayher@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Matt Layher <mdlayher@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
This will reduce duplication when evacuate is specialized. Change-Id: I34cdfb7103442d3e0ea908c970fb46334b86d5c4 Reviewed-on: https://go-review.googlesource.com/56934 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Avelino <t@avelino.xxx> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
Minor refactoring. This is a step towards specializing evacuate for mapfast key types. Change-Id: Icffe2759b7d38e5c008d03941918d5a912ce62f6 Reviewed-on: https://go-review.googlesource.com/56933 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Josh Bleecher Snyder authored
Since oldbucket == h.nevacuate, we can just increment h.nevacuate here. This removes oldbucket from scope, which will be useful shortly. Change-Id: I70f81ec3995f17845ebf5d77ccd20ea4338f23e6 Reviewed-on: https://go-review.googlesource.com/56932 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Avelino <t@avelino.xxx> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
The number of times that alg has to be spilled and restored makes it better to just reload it. Change-Id: I2674752a889ecad59dab54da1d68fad03db1ca85 Reviewed-on: https://go-review.googlesource.com/56931 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
The new code is not quite equivalent to the old, in that if newbit was very large it might have altered the new tophash. The old behavior is unnecessary and probably undesirable. Change-Id: I7fb3222520cb61081a857adcddfbb9078ead7122 Reviewed-on: https://go-review.googlesource.com/56930 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Marvin Stenger authored
Clean-up changes in no particular order: - use uint8 instead of int for readOp - remove duplicated code in ReadFrom() - introduce (*Buffer).empty() - remove naked returns Change-Id: Ie6e673c20c398f980f8be0448969a36ad4778804 Reviewed-on: https://go-review.googlesource.com/42816Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Cherry Zhang authored
Normally 64-bit div/mod is turned into runtime calls on 32-bit arch, but the front end leaves power-of-two constant division and hopes the SSA backend turns into a shift or AND. The SSA rule is (Mod64u <t> n (Const64 [c])) && isPowerOfTwo(c) -> (And64 n (Const64 <t> [c-1])) But isPowerOfTwo returns true only for positive int64, which leaves out 1<<63 unhandled. Add a special case for 1<<63. Fixes #21517. Change-Id: I02d27dc7177d4af0ee8d7f5533714edecddf8c95 Reviewed-on: https://go-review.googlesource.com/56890Reviewed-by: Keith Randall <khr@golang.org>
-
Kevin Burke authored
I'm writing a matching implementation of the time package and missed the "add one day in a leap year" block. This test would have caught my error. I understand we can't add test cases for every Date but it seems like "tripped up someone attempting to reimplement this" is a good indicator it may trip up people in the future. Change-Id: I4c3b51e52e269215ec0e52199afe604482326edb Reviewed-on: https://go-review.googlesource.com/56490Reviewed-by: Matt Layher <mdlayher@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Matt Layher <mdlayher@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
Fixes #21486. Change-Id: I01794f008404f0e2d8a1408309ae6055513c5b49 Reviewed-on: https://go-review.googlesource.com/57030 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
isharipo authored
Instructions added in https://golang.org/cl/18853 2nd change out of 3 to cover AMD64 SSSE3 instruction set in Go asm. This commit does not actually add any new instructions, only enables some test cases. Change-Id: I9596435b31ee4c19460a51dd6cea4530aac9d198 Reviewed-on: https://go-review.googlesource.com/56835 Run-TryBot: Ilya Tocar <ilya.tocar@intel.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ilya Tocar <ilya.tocar@intel.com>
-
Russ Cox authored
Will debug soon but wanted to fix builders. Change-Id: I921d58d1272370f3102ba1f86ad535f4c0f6b8db Reviewed-on: https://go-review.googlesource.com/56970 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Keith Randall authored
After the key and value arrays, we have an overflow pointer. So there's no way a past-the-end key or value pointer could point past the end of the containing bucket. So we don't need this additional protection. Update #21459 Change-Id: I7726140033b06b187f7a7d566b3af8cdcaeab0b0 Reviewed-on: https://go-review.googlesource.com/56772 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Martin Möhrmann <moehrmann@google.com> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Avelino <t@avelino.xxx>
-
Russ Cox authored
Package.Internal.Imports is enough in nearly all cases, and not maintaining a separate Package.Internal.Deps avoids the two lists ending up out of sync. (In some synthesized packages created during go test, only Internal.Imports is initialized.) Change-Id: I83f6a3ec6e6cbd75382f1fa0e439d31feec32d5a Reviewed-on: https://go-review.googlesource.com/56278Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Before it was obj, but if you don't have everything paged in that sounds a bit like an object file. Use objdir, which is more clearly a directory and also matches the Action.Objdir struct field. Change-Id: I268042800f9ca05721814d7f18c728acb4831232 Reviewed-on: https://go-review.googlesource.com/56277Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Update BinaryOnly test by adding import _ "fmt". Change-Id: I3a1dcfb83a27d8ff50a658060a46e1a3f481f6c7 Reviewed-on: https://go-review.googlesource.com/56276Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
ImportPaths is also the name of a top-level function. It is confusing to have a capitalized local variable. Change-Id: I1313e05ade4934d4ee250a67e5af6d1bd6229aca Reviewed-on: https://go-review.googlesource.com/56275 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Now that we have t.Helper, might as well use it to make the reported failure lines more helpful. Change-Id: I2a0c64e9ca7bdc0eaf2b62f9f855c41467767084 Reviewed-on: https://go-review.googlesource.com/56274 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Dave Cheney <dave@cheney.net>
-
Russ Cox authored
When we make the go command pay attention to content instead of time, we want this test to continue working. Change-Id: Ib7d9d0d62bfe87810d71bdfc4f29561a8c70eccc Reviewed-on: https://go-review.googlesource.com/56273 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Using a fake CC fails today if runtime/cgo is stale, because the build will try to rebuild runtime/cgo using the fake CC, and the fake CC is not a working C compiler. Worse, in the future, when the go command is sensitive to details like the fact that different CCs produce different outputs, putting in the fake CC will make runtime/cgo look stale even if it was formerly up-to-date. Fix both problems by not overriding CC and instead looking at the command being run to make sure the flags are quoted as expected. Change-Id: I4417e35cfab33a07546cc90748ddb6119d8fdb2d Reviewed-on: https://go-review.googlesource.com/56272 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
This makes the construction of pmain.Internal.Imports consistently ordered. Change-Id: I82348a18c7824378aa7e5bc5b6bcd550d4b758da Reviewed-on: https://go-review.googlesource.com/56271 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ben Shi authored
There are two changes in this CL. 1. Add new forms of MOVH/MOVHS/MOVHU. MOVHS R0<<0(R1), R2 // ldrsh MOVH R0<<0(R1), R2 // ldrsh MOVHU R0<<0(R1), R2 // ldrh MOVHS R2, R5<<0(R1) // strh MOVH R2, R5<<0(R1) // strh MOVHU R2, R5<<0(R1) // strh 2. Simpify "MVN $0xffffffaa, Rn" to "MOVW $0x55, Rn". It is originally assembled to two instructions. "MOVW offset(PC), R11" "MVN R11, Rn" Change-Id: I8e863dcfb2bd8f21a04c5d627fa7beec0afe65fb Reviewed-on: https://go-review.googlesource.com/53690 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
pvoicu authored
Fixes #21518 Change-Id: Idd67e3f0410d0ce991b34dcc0c8f15e0d5c529c9 Reviewed-on: https://go-review.googlesource.com/56850Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Austin Clements <austin@google.com> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Lakshay Garg authored
This commit defines the inverse of error function (erfinv) in the math package. The function is based on the rational approximation of percentage points of normal distribution available at https://www.jstor.org/stable/pdf/2347330.pdf. Fixes #6359 Change-Id: Icfe4508f623e0574c7fffdbf7aa929540fd4c944 Reviewed-on: https://go-review.googlesource.com/46990 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Brian Kessler authored
Updates #13745 Recognize z.Mul(x, x) as squaring for Floats and use the internal z.sqr(x) method for nat on the mantissa. Change-Id: I0f792157bad93a13cae1aecc4c10bd20c6397693 Reviewed-on: https://go-review.googlesource.com/56774Reviewed-by: Robert Griesemer <gri@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brian Kessler authored
updates #13745 A squared rational is always positive and can not be reduced since the numerator and denominator had no previous common factors. The nat multiplication can be performed using the internal sqr method. Change-Id: I558f5b38e379bfd26ff163c9489006d7e5a9cfaa Reviewed-on: https://go-review.googlesource.com/56776Reviewed-by: Robert Griesemer <gri@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Martin Möhrmann authored
Change-Id: I1929ea7e4ed88631ef729472ffe474016efec3e8 Reviewed-on: https://go-review.googlesource.com/56370Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Martin Möhrmann <moehrmann@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Daniel Martí authored
Found with mvdan.cc/unindent. Prioritized the ones with the biggest wins for now. Change-Id: I2b032e45cdd559fc9ed5b1ee4c4de42c4c92e07b Reviewed-on: https://go-review.googlesource.com/56470 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Alex Brainman authored
Another attempt to fix build Change-Id: I26137c115ad4b5f5a69801ed981c146adf6e824c Reviewed-on: https://go-review.googlesource.com/56750Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Alex Brainman authored
Hopefully fixes build. Change-Id: If0629b95b923a65e4507073cf7aa44a5e178fc0f Reviewed-on: https://go-review.googlesource.com/56711Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
-
Christopher Nelson authored
Change-Id: Id717054cb3c4537452f8ff848445b0c20196a373 Reviewed-on: https://go-review.googlesource.com/33579 TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
- 17 Aug, 2017 8 commits
-
-
Hiroshi Ioka authored
Updates #21487 Change-Id: Ia549a87a8a305cc80da11ea9bd904402f1a14689 Reviewed-on: https://go-review.googlesource.com/56321Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Hiroshi Ioka authored
Change-Id: I7f7b1e7ef832d53a93562b08ae914d023247c2c0 Reviewed-on: https://go-review.googlesource.com/56312 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Keith Randall authored
Just to get rid of lots of .Name() stutter in printf calls. Change-Id: I86cf00b3f7b2172387a1c6a7f189c1897fab6300 Reviewed-on: https://go-review.googlesource.com/56630 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
Martin Möhrmann authored
Use mallogc instead of newarray to save some overhead since makechan already checks for _MaxMem constraints. Flattens the if else construct that determines if buf and hchan struct should be allocated in one mallocgc call and where buf should point to. Uses maxSliceCap to avoid divisions similar to makeslice. name old time/op new time/op delta MakeChan/Byte 82.0ns ± 8% 81.4ns ± 7% ~ (p=0.643 n=10+10) MakeChan/Int 97.9ns ± 2% 96.6ns ± 2% -1.40% (p=0.009 n=10+10) MakeChan/Ptr 128ns ± 3% 120ns ± 1% -6.63% (p=0.000 n=10+10) MakeChan/Struct/0 66.7ns ± 4% 66.4ns ± 2% ~ (p=0.697 n=10+10) MakeChan/Struct/32 136ns ± 1% 130ns ± 0% -4.42% (p=0.000 n=10+10) MakeChan/Struct/40 150ns ± 1% 150ns ± 1% ~ (p=0.725 n=10+10) Change-Id: Ibb5675d0843a072aae2bfa58ecd39cf4cd926533 Reviewed-on: https://go-review.googlesource.com/55132 Run-TryBot: Martin Möhrmann <moehrmann@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Martin Möhrmann authored
Stack allocated hmap structs are explicitly zeroed before being passed by pointer to makemap. Heap allocated hmap structs are created with newobject which also zeroes on allocation. Therefore, setting the hmap fields to 0 or nil is redundant since they will have been zeroed when hmap was allocated. Change-Id: I5fc55b75e9dc5ba69f5e3588d6c746f53b45ba66 Reviewed-on: https://go-review.googlesource.com/56291Reviewed-by: Keith Randall <khr@golang.org>
-
Kyle Shannon authored
Fix a missed change from: https://golang.org/cl/56190 pointed out on the fossil mailing list shortly after submission of the change mentioned above. See: http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg25736.html This change adds fossil to the general regular expression that is checked last in the import path check. For #10010 Change-Id: I6b711cdb1a8d4d767f61e1e28dc29dce529e0fad Reviewed-on: https://go-review.googlesource.com/56491Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Bryan C. Mills authored
We're making two extra round-trips to C to malloc and free strings that originate in Go and don't escape. Skip those round-trips by allocating null-terminated slices in Go memory instead. Change-Id: I9e4c5ad999a7924ba50b82293c52073ec75518be Reviewed-on: https://go-review.googlesource.com/56530 Run-TryBot: Bryan Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Updates #21253 Change-Id: Iece71a27207b578618cafb378dac2362517363d0 Reviewed-on: https://go-review.googlesource.com/52531 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-