- 09 Oct, 2017 12 commits
-
-
Daniel Martí authored
* remove unnecessary explicit types * remove dead assignments * remove unused fields * unindent code using early continues * remove some unnecessary type conversions * remove some unused func parameters Change-Id: I202c67e92940beacbd80fc2dc179f9556dc5d9e5 Reviewed-on: https://go-review.googlesource.com/69118 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Keith Randall authored
The core dump reader would like a bunch of ideal int constants to be available in dwarf. Makes the go binary 0.9% bigger. Update #14517 Change-Id: I00cdfc7f53bcdc56fccba576c1d33010f03bdd95 Reviewed-on: https://go-review.googlesource.com/69270 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
David Chase authored
CL50610 broke the build for noopt (different inlining behavior) and clang (no gdb) so it needs to catch those cases and skip. The run/no-run logic was slightly cleaned up, the name of gdb on OSX was made more robust (tries gdb first, then ggdb), and the file names were canonicalized before loggging instead of in comparison to reduce gratuitous noise in diffs when things aren't otherwise equal. This probably doesn't fix problems on Alpine, but it should provide a cleaner and less confusing failure. Change-Id: I26c65bff5a8d3d60f1cd6ae02a282558c53dda67 Reviewed-on: https://go-review.googlesource.com/69371 Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org>
-
Daniel Martí authored
These have never had a use - not even going back to when they were added in C. Change-Id: I143b6902b3bacb1fa83c56c9070a8adb9f61a844 Reviewed-on: https://go-review.googlesource.com/69119Reviewed-by: Dave Cheney <dave@cheney.net> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Dave Cheney <dave@cheney.net> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Adam Langley authored
The '*' character is not allowed in ASN.1 PrintableString. However, due to wide-spread use, we permit it so that we can parse many certificates with wildcards. However, that also meant that generic strings with asterisks in would be encoded as PrintableString. This change makes the default for such strings to be UTF8String. Thus, while the code PrintableStrings containing '*', it will not generate them unless the string type was specified in the struct field tag. Change-Id: I2d458da36649427352eeaa50a1b6020108b2ccbd Reviewed-on: https://go-review.googlesource.com/68990Reviewed-by: Adam Langley <agl@golang.org>
-
griesemer authored
The old code was seriously broken: It assumed that a constant declaration without a type would always inherit the type of the previous declaration, but in fact it only inherits the type of the previous declaration when there's no type and no constant value. While fixing this bug, found that the result was not sorted deterministically in all situations due to a poor choice of order value (which led to spurious test failures since the tests assume deterministic outputs). Fixed that as well. Added new test cases and fixed some old (broken) tests. Fixes #16153. Change-Id: I95b480e019b0fd3538638caba02fe651c69e0513 Reviewed-on: https://go-review.googlesource.com/68730Reviewed-by: Alan Donovan <adonovan@google.com>
-
griesemer authored
Change-Id: I9c75dee7e4498cc11c08cad1ae34ff2af75f1469 Reviewed-on: https://go-review.googlesource.com/69071Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Gabriel Aszalos authored
The //go:nosplit directive was visible in GoDoc because the function that it preceeded (Gosched) is exported. This change moves the directive above the documentation, hiding it from the output. Change-Id: I281fd7573f11d977487809f74c9cc16b2af0dc88 Reviewed-on: https://go-review.googlesource.com/69120 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Josselin Costanzi authored
Optimize base64 decoding speed by adding 32-bits and 64-bits specialized methods that don't perform any error checking and fall back to the more complex decodeQuantum method when a non-base64 character is present. On a 64-bits cpu: name old time/op new time/op delta DecodeString/2-4 70.0ns ± 6% 69.2ns ± 0% ~ (p=0.169 n=5+8) DecodeString/4-4 91.3ns ± 2% 80.4ns ± 0% -11.89% (p=0.001 n=5+10) DecodeString/8-4 126ns ± 5% 106ns ± 0% -16.14% (p=0.000 n=5+7) DecodeString/64-4 652ns ±21% 361ns ± 0% -44.57% (p=0.000 n=5+7) DecodeString/8192-4 61.0µs ±13% 31.5µs ± 1% -48.38% (p=0.001 n=5+9) name old speed new speed delta DecodeString/2-4 57.2MB/s ± 6% 57.7MB/s ± 2% ~ (p=0.419 n=5+9) DecodeString/4-4 87.7MB/s ± 2% 99.5MB/s ± 0% +13.45% (p=0.001 n=5+10) DecodeString/8-4 94.8MB/s ± 5% 112.6MB/s ± 1% +18.82% (p=0.001 n=5+9) DecodeString/64-4 136MB/s ±19% 243MB/s ± 0% +78.17% (p=0.003 n=5+7) DecodeString/8192-4 180MB/s ±11% 347MB/s ± 1% +92.94% (p=0.001 n=5+9) Improves #19636 Change-Id: Ic10a454851093a7e1d46ca0c140deed73535d990 Reviewed-on: https://go-review.googlesource.com/38632 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Daniel Martí authored
The existing logic for whether the left and right parts of an assignment were equal only checked that the gofmt representation of the two was equal. This only checks that the ASTs were equal. However, that method is flawed. For example, if either of the expressions contains a function call, the expressions may actually be different even if their ASTs are the same. An obvious case is a func call to math/rand to get a random integer, such as the one added in the test. If either of the expressions may have side effects, simply skip the check. Reuse the logic from bool.go's hasSideEffects. Fixes #22174. Change-Id: Ied7f7543dc2bb8852e817230756c6d23bc801d90 Reviewed-on: https://go-review.googlesource.com/69116 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Elias Naur authored
Updates #19320. Change-Id: Id38df033e3f0873986e668c8ff3855b6e08407a9 Reviewed-on: https://go-review.googlesource.com/69114 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Fixes #22176 Change-Id: If47ec9a25da6b480868d8eeccc518dc97d48bda7 Reviewed-on: https://go-review.googlesource.com/69230Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
- 08 Oct, 2017 3 commits
-
-
Alex Brainman authored
Updates #11058 Change-Id: I2a8bf4403b680ab8bf06fff18291f3bf67261e27 Reviewed-on: https://go-review.googlesource.com/69090Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
-
David Crawshaw authored
Restores linker behavior that existed before CL 68930. Hopefully fixes the macOS 10.8 builder. Change-Id: Ib8d6923b59543008cf71c4625addb4e2045cedf6 Reviewed-on: https://go-review.googlesource.com/69170 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Marvin Stenger <marvin.stenger94@gmail.com>
-
Laurent Voisin authored
Change-Id: I6aee75a6ae1470dfc658d72a5b6508fb93503057 Reviewed-on: https://go-review.googlesource.com/69115Reviewed-by: Alberto Donizetti <alb.donizetti@gmail.com>
-
- 07 Oct, 2017 4 commits
-
-
David Chase authored
This attempts to choose better values for values that are rematerialized (uses the XPos of the consumer, not the original) and for unconditional branches (uses the last assigned XPos in the block). The JMP branches seem to sometimes end up with a PC in the destination block, I think because of register movement or rematerialization that gets placed in predecessor blocks. This may be acceptable because (eyeball-empirically) that is often the line number of the target block, so the line number flow is correct. Added proper test, that checks both -N -l and regular compilation. The test is also capable (for gdb, delve soon) of tracking variable printing based on comments in the source code. There's substantial room for improvement in debugger behavior. Updates #21098. Change-Id: I13abd48a39141583b85576a015f561065819afd0 Reviewed-on: https://go-review.googlesource.com/50610 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Marvin Stenger authored
Move some local declarations closer to their use, reducing their respective lifetimes, also improve few error messages. Follow up of CL 67370. Updates #22095 Change-Id: I6131159ae8de571015ef5459b33d5c186e543a37 Reviewed-on: https://go-review.googlesource.com/69110Reviewed-by: David Crawshaw <crawshaw@golang.org> Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Nigel Tao authored
Also add some b.ReportAllocs calls to other image codec benchmarks. Change-Id: I0f055dc76bffb66329c621a5f1ccd239f0cdd30b Reviewed-on: https://go-review.googlesource.com/68390Reviewed-by: Jed Denlea <jed@fastly.com> Reviewed-by: Nigel Tao <nigeltao@golang.org>
-
Alex Brainman authored
Otherwise we end up with testp?.exe files after the tests run. Updates #11058 Change-Id: Ieccfc42da6192622bdab1f9a411ccd50bb59fd5b Reviewed-on: https://go-review.googlesource.com/68770 Run-TryBot: Alex Brainman <alex.brainman@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 06 Oct, 2017 16 commits
-
-
David Crawshaw authored
For #22095 Change-Id: I660080279692b74669c45f42c28cccff71bd33b5 Reviewed-on: https://go-review.googlesource.com/68930Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
Also add -V=full to print a unique identifier of the specific tool being invoked. This will be used for content-based staleness. Also sort and clean up a few of the flag doc comments. Change-Id: I786fe50be0b8e5f77af809d8d2dab721185c2abd Reviewed-on: https://go-review.googlesource.com/68590 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Peter Wu authored
The BadCBCPadding255 test from bogo failed because at most 255 trailing bytes were checked, but for a padding of 255 there are 255 padding bytes plus 1 length byte with value 255. Change-Id: I7dd237c013d2c7c8599067246e31b7ba93106cf7 Reviewed-on: https://go-review.googlesource.com/68070Reviewed-by: Adam Langley <agl@golang.org> Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
griesemer authored
Increase MaxBase from 36 to 62 and extend the conversion alphabet with the upper-case letters 'A' to 'Z'. For int conversions with bases <= 36, the letters 'A' to 'Z' have the same values (10 to 35) as the corresponding lower-case letters. For conversion bases > 36 up to 62, the upper-case letters have the values 36 to 61. Added MaxBase to api/except.txt: Clients should not make assumptions about the value of MaxBase being constant. The core of the change is in natconv.go. The remaining changes are adjusted tests and documentation. Fixes #21558. Change-Id: I5f74da633caafca03993e13f32ac9546c572cc84 Reviewed-on: https://go-review.googlesource.com/65970Reviewed-by: Martin Möhrmann <moehrmann@google.com>
-
David Chase authored
From a compact specification of control flow graphs, generate complete set of possible assignment patterns to output y, and also generate an interpretable specification. Compiles (hoping for crash, or not) and then runs, where the run checks function output against interpreted output for various inputs observed to terminate in the interpreter. In ssa_test.go, added ability to generate a test and run (compile and run) the generated test, possibly with modified environment variables. The generated test is compiled including the -D=ssa/check/on flag, and if the interpreter terminates in a small number of steps, then it is also run to check the result. Change-Id: I392c828e36c543411b7733ca0799628452733276 Reviewed-on: https://go-review.googlesource.com/22751 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
griesemer authored
Change-Id: Icbe6885ffd3aa4e77441ab03a2b9a04a9276d5eb Reviewed-on: https://go-review.googlesource.com/68311Reviewed-by: Martin Möhrmann <moehrmann@google.com>
-
griesemer authored
Keep left-to-right order when referring to the number of variables and values involved. Fixes #22159. Change-Id: Iccca12d3222f9d5e049939a9ccec07513c393faa Reviewed-on: https://go-review.googlesource.com/68690Reviewed-by: Russ Cox <rsc@golang.org>
-
isharipo authored
Fix ytab table for EXTRACTPS. Related to https://go-review.googlesource.com/#/c/go/+/63490/. Change-Id: I11672d6bb731a204a08905f8321450f02c5bed76 Reviewed-on: https://go-review.googlesource.com/68950 Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com> Reviewed-by: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
isharipo authored
"VEX.vvvv" field (VSR, VEX-specified-register) made explicit in Optab encoding. vexNDS, vexNDD, vexDDS and vexNOVSR do nothing, this change does not produce any noticeable effect. Rationale behind this change: - keep more information inside optab entries - make encodings match SDM more closely - one less special rule to keep in mind Pvex optabs are updated based on the Intel SDM descriptions. Unused VEX combinations are removed; it is problematic to choose VSR combinations for them without actual Optabs that use them. The origin of this idea can be found in: https://go-review.googlesource.com/#/c/arch/+/66972/ Change-Id: I54634a72b44d61f4b924a1e45f2240aab7384dc2 Reviewed-on: https://go-review.googlesource.com/67890 Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
isharipo authored
Adds last missing SSE4 instruction. Also introduces additional ytab set 'yextractps'. See https://golang.org/cl/57470 that adds other SSE4 instructions but skips this one due to 'yextractps'. To make EXTRACTPS less "sloppy", Yu2 oclass added to forbid usage of invalid offset values in immediate operand. Part of the mission to add missing amd64 SSE4 instructions to Go asm. Change-Id: I0e67e3497054f53257dd8eb4c6268da5118b4853 Reviewed-on: https://go-review.googlesource.com/57490 TryBot-Result: Gobot Gobot <gobot@golang.org> Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com> Reviewed-by: Russ Cox <rsc@golang.org>
-
Aliaksandr Valialkin authored
This CL optimizes assembly for len() or cap() division by a power of 2 constants: func lenDiv(s []int) int { return len(s) / 16 } amd64 assembly before the CL: MOVQ "".s+16(SP), AX MOVQ AX, CX SARQ $63, AX SHRQ $60, AX ADDQ CX, AX SARQ $4, AX MOVQ AX, "".~r1+32(SP) RET amd64 assembly after the CL: MOVQ "".s+16(SP), AX SHRQ $4, AX MOVQ AX, "".~r1+32(SP) RET The CL relies on the fact that len() and cap() result cannot be negative. Trigger stats for the added SSA rules on linux/amd64 when running make.bash: 46 Div64 12 Mod64 The added SSA rules may trigger on more cases in the future when SSA values will be populated with the info on their lower bounds. For instance: func f(i int16) int16 { if i < 3 { return -1 } // Lower bound of i is 3 here -> i is non-negative, // so unsigned arithmetics may be used here. return i % 16 } Change-Id: I8bc6be5a03e71157ced533c01416451ff6f1a7f0 Reviewed-on: https://go-review.googlesource.com/65530Reviewed-by: Keith Randall <khr@golang.org>
-
David Crawshaw authored
Replace Buildmode with BuildMode and Linkmode with LinkMode. For #22095 Change-Id: I51a6f5719d107727bca29ec8e68e3e9d87e31e33 Reviewed-on: https://go-review.googlesource.com/68334 Run-TryBot: David Crawshaw <crawshaw@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
David Crawshaw authored
For #22095 Change-Id: Ie9ae84c758af99ac7daed26d0b3e3b0a47599edd Reviewed-on: https://go-review.googlesource.com/67315 Run-TryBot: David Crawshaw <crawshaw@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Alberto Donizetti authored
amd64 and 386 have rules to reduce multiplication by a positive power of two, but a more general reduction (both for positive and negative powers of two) is already performed by generic rules that were added in CL 36323 to replace walkmul (see lines 166:173 in generic.rules). The x86 and amd64 rules are never triggered during all.bash and can be removed, reducing rules duplication. The change also adds a few code generation tests for amd64 and 386. Change-Id: I566d48186643bd722a4c0137fe94e513b8b20e36 Reviewed-on: https://go-review.googlesource.com/68450 Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Afanasev Stanislav authored
This is only to aid in human debugging, and for that reason we maintain a panic, and not return an error. Fixes #22097 Change-Id: If72e4d1e47ec9125ca7bc97d5fe4cedb7f76ae72 Reviewed-on: https://go-review.googlesource.com/67970Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com> Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Jeff authored
Change-Id: I34008f56c191df0edcaafc20d569bbc6184f89fc Reviewed-on: https://go-review.googlesource.com/68470 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 05 Oct, 2017 5 commits
-
-
Marvin Stenger authored
This reverts https://golang.org/cl/66372. Updates #22148 Change-Id: I3e94af3dfc11a2883bf28e1d5e1f32f98760b3ee Reviewed-on: https://go-review.googlesource.com/68431Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Marvin Stenger authored
This reverts https://golang.org/cl/65930. Fixes #22148 Change-Id: Ie0712621ed89c43bef94417fc32de9af77607760 Reviewed-on: https://go-review.googlesource.com/68430Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Alex Brainman authored
TestUnexportedSymbols requires dup2 that my gcc installation does not have. TestSignalHandlersWithNotify fails with: undefined: syscall.SIGIO. TestSignalHandlers fails with: sched.h: No such file or directory. TestExportedSymbolsWithDynamicLoad fails with: dlfcn.h: No such file or directory. Also add t.Helper calls to better error messages. Updates #11058 Change-Id: I7eb514968464256b8337e45f57fcb7d7fe0e4693 Reviewed-on: https://go-review.googlesource.com/68410 TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Matthew Dempsky authored
ORETJMP doesn't need an ONAME if we just set the target method on Sym instead of Left. Conveniently, this is where fmt.go was looking for it anyway. Change the iface parameter and global compiling_wrappers to bool. Passes toolstash-check. Change-Id: I5333f8bcb4e06bf8161808041125eb95c439aafe Reviewed-on: https://go-review.googlesource.com/68252 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Cherry Zhang authored
C_PPAUTO was matching offsets that is a multiple 8. But this condition is dropped in CL 55610, causing unaligned offset between 256 and 504 mistakenly matched to some classes, e.g. C_UAUTO8K. This CL restores this condition, also fixes an error that C_PPAUTO shouldn't match C_PSAUTO, because the latter is not guaranteed to be multiple of 8. C_PPAUTO_8 is unnecessary, removed. Fixes #21992. Change-Id: I75d5a0e5f5dc3dae335721fbec1bbcd4a3b862f2 Reviewed-on: https://go-review.googlesource.com/65730Reviewed-by: David Chase <drchase@google.com>
-