- 19 Apr, 2017 10 commits
-
-
Todd Neal authored
goobj.importPathToPrefix is 3x faster than gc.pathToPrefix so rename and move it to cmd/internal/objabi which is already imported by both goobj and gc. Change-Id: I10eda5bce95ef6d5d888818c5c47258c2833ea45 Reviewed-on: https://go-review.googlesource.com/40875 Run-TryBot: Todd Neal <todd@tneal.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
xufei_Alex authored
Change-Id: I8e90012b3498c51aaeb2f70182debab52549afb4 Reviewed-on: https://go-review.googlesource.com/40930Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Dave Cheney authored
The last use of condOps was removed in c644a76e. Change-Id: I5383d0e7a9078fc17ca12ed032ecf8e7f4aa95d7 Reviewed-on: https://go-review.googlesource.com/41030 Run-TryBot: Dave Cheney <dave@cheney.net> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
David Chase authored
Replace derecursed postorder computation with one that mimics DFS traversal. Corrected outerinner function in loopfinder Leave enhanced checks in place. Change-Id: I657ba5e89c88941028d6d4c72e9f9056e30f1ce8 Reviewed-on: https://go-review.googlesource.com/40872 Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org>
-
Robert Griesemer authored
Follow-up on https://go-review.googlesource.com/#/c/39998/. Change-Id: I97f8e31ca923685198984ad64f952d6dc8208edf Reviewed-on: https://go-review.googlesource.com/40982 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Marvin Stenger <marvin.stenger94@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Robert Griesemer authored
Follow-up on https://go-review.googlesource.com/#/c/39998/ which dropped this information. The reported blocks are the innermost blocks containing a label jumped to from outside, not the outermost block as reported originally by cmd/compile. We could report the outermost block with a slighly more involved algorithm (need to track containing blocks for all unresolved forward gotos), but since gccgo also reports the innermost blocks, the current approach seems good enough. Change-Id: Ic0235b8fafe8d5f99dc9872b58e90e8d9e72c5db Reviewed-on: https://go-review.googlesource.com/40980 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Marvin Stenger <marvin.stenger94@gmail.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Todd Neal authored
zbootstrap.go was moved in 1e3570ac. This updates .gitignore to match. Change-Id: I7500e0abc8e60b6c36c6ae056b2f68b9d021fc6f Reviewed-on: https://go-review.googlesource.com/40993 Run-TryBot: Todd Neal <todd@tneal.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Robert Griesemer authored
Follow-up on https://go-review.googlesource.com/#/c/39998/. Change-Id: I8830eebd7ea7e02b7edda99e67b6d43529401201 Reviewed-on: https://go-review.googlesource.com/40974Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Robert Griesemer authored
Instead of a separate check control flow pass (checkcfg.go) operating on nodes, perform this check at parse time on the new syntax tree. Permits this check to be done concurrently, and doesn't depend on the specifics of the symbol's dclstack implementation anymore. The remaining dclstack uses will be removed in a follow-up change. - added CheckBranches Mode flag (so we can turn off the check if we only care about syntactic correctness, e.g. for tests) - adjusted test/goto.go error messages: the new branches checker only reports if a goto jumps into a block, but not which block (we may want to improve this again, eventually) - also, the new branches checker reports one variable that is being jumped over by a goto, but it may not be the first one declared (this is fine either way) - the new branches checker reports additional errors for fixedbugs/issue14006.go (not crucial to avoid those errors) - the new branches checker now correctly reports only variable declarations being jumped over, rather than all declarations (issue 8042). Added respective tests. Fixes #8042. Change-Id: I53b6e1bda189748e1e1fb5b765a8a64337c27d40 Reviewed-on: https://go-review.googlesource.com/39998Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Matthew Dempsky authored
Now only cmd/asm and cmd/compile depend on cmd/internal/obj. Changing the assembler backends no longer requires reinstalling cmd/link or cmd/addr2line. There's also now one canonical definition of the object file format in cmd/internal/objabi/doc.go, with a warning to update all three implementations. objabi is still something of a grab bag of unrelated code (e.g., flag and environment variable handling probably belong in a separate "tool" package), but this is still progress. Fixes #15165. Fixes #20026. Change-Id: Ic4b92fac7d0d35438e0d20c9579aad4085c5534c Reviewed-on: https://go-review.googlesource.com/40972 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
- 18 Apr, 2017 21 commits
-
-
Alexander Menzhinsky authored
Now cgo reads source files twice: for c prefix generation and parsing go code to an ast node. It can be narrowed down to single loop. Change-Id: Ie05452a3a12106aaab863244727390037e69e8e6 Reviewed-on: https://go-review.googlesource.com/40939Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
-
Josh Bleecher Snyder authored
Someday we should write errchk in Go. But not today. Fixes #20007 Change-Id: I61ccf3cfaa66a710782f8a2212a6a2b4040698da Reviewed-on: https://go-review.googlesource.com/40950 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Alexander Menzhinsky authored
Here we restrict using cgo builtin references because internally they're go functions as opposed to C usafe.Pointer values. Fixes #18889 Change-Id: I1e4332e4884063ccbaf9772c172d4462ec8f3d13 Reviewed-on: https://go-review.googlesource.com/40934Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Michael Hudson-Doyle authored
Just noticed this in passing. Change-Id: I58fa828ef58598209ed4cbe4abc6f9f02ffc4844 Reviewed-on: https://go-review.googlesource.com/40896 Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
David Lazar authored
TestMultiReaderFlatten determines the call depth by counting PCs returned by runtime.Callers. With inlining, this is incorrect because a PC can represent multiple calls. Furthermore, runtime.Callers might return an additional "skip" PC, which does not represent a real call. This modifies the test to use CallersFrames to determine the call depth. Now the test passes with -l=4. Change-Id: I284f3b1e0b2d194bd08c230c616914503e5a370d Reviewed-on: https://go-review.googlesource.com/40990 Run-TryBot: David Lazar <lazard@golang.org> Reviewed-by: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
David Lazar authored
Only the noinline pragma on testCallerFoo is needed to pass the test, but the second pragma makes the test robust to future changes to the inliner. Change-Id: I80b384380c598f52e0382f53b59bb47ff196363d Reviewed-on: https://go-review.googlesource.com/40877 Run-TryBot: David Lazar <lazard@golang.org> Reviewed-by: Austin Clements <austin@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
David Lazar authored
Otherwise, with -l=4, runtime.Callers gets inlined and the example prints too many frames. Now the example passes with -l=4. Change-Id: I9e420af9371724ac3ec89efafd76a658cf82bb4a Reviewed-on: https://go-review.googlesource.com/40876 Run-TryBot: David Lazar <lazard@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
David Lazar authored
This rewrites runtime.Caller in terms of stackExpander, which already handles inlined frames and partially skipped frames. This also has the effect of making runtime.Caller understand cgo frames if there is a cgo symbolizer. Updates #19348. Change-Id: Icdf4df921aab5aa394d4d92e3becc4dd169c9a6e Reviewed-on: https://go-review.googlesource.com/40270 Run-TryBot: David Lazar <lazard@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Josh Bleecher Snyder authored
CL 27254 changed hextable to a byte array for performance. CL 28219 fixed the compiler so that that is no longer necessary. As Kirill notes in #15808, a string is preferable as the linker can easily de-dup it. So go back. No performance changes. Change-Id: Ibef7d21d0f2507968a0606602c5dd57ed4a85b1b Reviewed-on: https://go-review.googlesource.com/40970 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Matthew Dempsky authored
Automated refactoring using github.com/mdempsky/unbed (to rewrite s.Foo to s.FuncInfo.Foo) and then gorename (to rename the FuncInfo field to just Func). Passes toolstash-check -all. Change-Id: I802c07a1239e0efea058a91a87c5efe12170083a Reviewed-on: https://go-review.googlesource.com/40670 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Josh Bleecher Snyder authored
This is a more thorough and cleaner fix than doing dead code elimination separately during inlining, escape analysis, and export. Unfortunately, it does add another full walk of the AST. The performance impact is very small, but not non-zero. If a label or goto is present in the dead code, it is not eliminated. This restriction can be removed once label/goto checking occurs much earlier in the compiler. In practice, it probably doesn't matter much. Updates #19699 Fixes #19705 name old alloc/op new alloc/op delta Template 39.2MB ± 0% 39.3MB ± 0% +0.28% (p=0.008 n=5+5) Unicode 29.8MB ± 0% 29.8MB ± 0% ~ (p=1.000 n=5+5) GoTypes 113MB ± 0% 113MB ± 0% -0.55% (p=0.008 n=5+5) SSA 1.25GB ± 0% 1.25GB ± 0% +0.02% (p=0.008 n=5+5) Flate 25.3MB ± 0% 25.3MB ± 0% -0.24% (p=0.032 n=5+5) GoParser 31.7MB ± 0% 31.8MB ± 0% +0.31% (p=0.008 n=5+5) Reflect 78.2MB ± 0% 78.3MB ± 0% ~ (p=0.421 n=5+5) Tar 26.6MB ± 0% 26.7MB ± 0% +0.21% (p=0.008 n=5+5) XML 42.2MB ± 0% 42.2MB ± 0% ~ (p=0.056 n=5+5) name old allocs/op new allocs/op delta Template 385k ± 0% 387k ± 0% +0.51% (p=0.016 n=5+5) Unicode 321k ± 0% 321k ± 0% ~ (p=1.000 n=5+5) GoTypes 1.14M ± 0% 1.14M ± 0% ~ (p=1.000 n=5+5) SSA 9.71M ± 0% 9.72M ± 0% +0.10% (p=0.008 n=5+5) Flate 234k ± 1% 234k ± 1% ~ (p=0.690 n=5+5) GoParser 315k ± 0% 317k ± 0% +0.71% (p=0.008 n=5+5) Reflect 980k ± 0% 983k ± 0% +0.30% (p=0.032 n=5+5) Tar 251k ± 0% 252k ± 0% +0.55% (p=0.016 n=5+5) XML 392k ± 0% 393k ± 0% +0.30% (p=0.008 n=5+5) Change-Id: Ia10ff4bbf5c6eae782582cc9cbc9785494d4fb83 Reviewed-on: https://go-review.googlesource.com/38773 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Sebastien Binet authored
This CL adds a simple explanation about what means the ptrdata field of the reflect.rtype type. Also document that rtype needs to be kept in sync with the runtime._type type that rtype mirrors. Change-Id: Icd9663a2e4bb94d922a2417cfe4537861d2ccc97 Reviewed-on: https://go-review.googlesource.com/40917Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Daniel Martí authored
If the bool value isn't used, there is no need to assign to underscore - there is a shorter form that only returns the value and behaves in the exact same way. Change-Id: Iaf801b8e966da6c2f565bc39e3bb028175c92d60 Reviewed-on: https://go-review.googlesource.com/40920 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Aliaksandr Valialkin authored
Rewrite indexLocal to achieve higher performance. Performance results on linux/amd64: name old time/op new time/op delta Pool-4 19.1ns ± 2% 10.1ns ± 1% -47.15% (p=0.000 n=10+8) PoolOverflow-4 3.11µs ± 1% 2.10µs ± 2% -32.66% (p=0.000 n=10+10) Performance results on linux/386: name old time/op new time/op delta Pool-4 20.0ns ± 2% 13.1ns ± 1% -34.59% (p=0.000 n=10+9) PoolOverflow-4 3.51µs ± 1% 2.49µs ± 0% -28.99% (p=0.000 n=10+8) Change-Id: I7d57a2d4cd47ec43d09ca1267bde2e3f05a9faa9 Reviewed-on: https://go-review.googlesource.com/40913Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
Left over from CL 39855. Change-Id: I9df8b5c631d5afbdbf2fb306876648d8541931d3 Reviewed-on: https://go-review.googlesource.com/40941 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Dave Cheney <dave@cheney.net> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Mikio Hara authored
Fixes #14222 Change-Id: I026fc9499fdefc33b8bb58b5963e2290adacbf63 Reviewed-on: https://go-review.googlesource.com/40895Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Mikio Hara authored
This change just picks a few constants from DragonfFly BSD 4.6 kernel and doesn't synchronize all the existing constants with the latest DragonFly BSD kernels. Updates #14222. Change-Id: Ie107a8bee1a09393b3b42b6f82489532f5d13290 Reviewed-on: https://go-review.googlesource.com/40894Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Josh Bleecher Snyder authored
This avoids concurrent runtime package lookups. Updates #15756 Change-Id: I9e2cbd042aba44923f0d03e6ca5b4eb60fa9e7ea Reviewed-on: https://go-review.googlesource.com/40853 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Josh Bleecher Snyder authored
A prior CL eliminated the last reference to Ctxt.Hash from the compiler. Change-Id: Ic97ff84ed1a14e0c93fb0e8ec0b2617c3397c0e8 Reviewed-on: https://go-review.googlesource.com/40699 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Josh Bleecher Snyder authored
It was a bit weird to have it at the top of pgen.go. This does half of the TODO at the top of the comment. Change-Id: I65140fa05673b2dbb6feddb8c1877f6d624a7844 Reviewed-on: https://go-review.googlesource.com/40698 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Josh Bleecher Snyder authored
The compiler handled gcargs and gclocals LSyms unusually. It generated placeholder symbols (makefuncdatasym), filled them in, and then renamed them for content-addressability. This is an important binary size optimization; the same locals information occurs over and over. This CL continues to treat these LSyms unusually, but in a slightly more explicit way, and importantly for concurrent compilation, in a way that does not require concurrent modification of Ctxt.Hash. Instead of creating gcargs and gclocals in the usual way, by creating a types.Sym and then an obj.LSym, we add them directly to obj.FuncInfo, initialize them in obj.InitTextSym, and deduplicate and add them to ctxt.Data at the end. Then the backend's job is simply to fill them in and rename them appropriately. Updates #15756 name old alloc/op new alloc/op delta Template 38.8MB ± 0% 38.7MB ± 0% -0.22% (p=0.016 n=5+5) Unicode 29.8MB ± 0% 29.8MB ± 0% ~ (p=0.690 n=5+5) GoTypes 113MB ± 0% 113MB ± 0% -0.24% (p=0.008 n=5+5) SSA 1.25GB ± 0% 1.24GB ± 0% -0.39% (p=0.008 n=5+5) Flate 25.3MB ± 0% 25.2MB ± 0% -0.43% (p=0.008 n=5+5) GoParser 31.7MB ± 0% 31.7MB ± 0% -0.22% (p=0.008 n=5+5) Reflect 78.2MB ± 0% 77.6MB ± 0% -0.80% (p=0.008 n=5+5) Tar 26.6MB ± 0% 26.3MB ± 0% -0.85% (p=0.008 n=5+5) XML 42.4MB ± 0% 41.9MB ± 0% -1.04% (p=0.008 n=5+5) name old allocs/op new allocs/op delta Template 378k ± 0% 377k ± 1% ~ (p=0.151 n=5+5) Unicode 321k ± 1% 321k ± 0% ~ (p=0.841 n=5+5) GoTypes 1.14M ± 0% 1.14M ± 0% -0.47% (p=0.016 n=5+5) SSA 9.71M ± 0% 9.67M ± 0% -0.33% (p=0.008 n=5+5) Flate 233k ± 1% 232k ± 1% ~ (p=0.151 n=5+5) GoParser 316k ± 0% 315k ± 0% -0.49% (p=0.016 n=5+5) Reflect 979k ± 0% 972k ± 0% -0.75% (p=0.008 n=5+5) Tar 250k ± 0% 247k ± 1% -0.92% (p=0.008 n=5+5) XML 392k ± 1% 389k ± 0% -0.67% (p=0.008 n=5+5) Change-Id: Idc36186ca9d2f8214b5f7720bbc27b6bb22fdc48 Reviewed-on: https://go-review.googlesource.com/40697 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
- 17 Apr, 2017 9 commits
-
-
Keith Randall authored
Makes math/bits.Rotate{Left,Right} fast on amd64. name old time/op new time/op delta RotateLeft-12 7.42ns ± 6% 5.45ns ± 6% -26.54% (p=0.000 n=9+10) RotateLeft8-12 4.77ns ± 5% 3.42ns ± 7% -28.25% (p=0.000 n=8+10) RotateLeft16-12 4.82ns ± 8% 3.40ns ± 7% -29.36% (p=0.000 n=10+10) RotateLeft32-12 4.87ns ± 7% 3.48ns ± 7% -28.51% (p=0.000 n=8+9) RotateLeft64-12 5.23ns ±10% 3.35ns ± 6% -35.97% (p=0.000 n=9+10) RotateRight-12 7.59ns ± 8% 5.71ns ± 1% -24.72% (p=0.000 n=10+8) RotateRight8-12 4.98ns ± 7% 3.36ns ± 9% -32.55% (p=0.000 n=10+10) RotateRight16-12 5.12ns ± 2% 3.45ns ± 5% -32.62% (p=0.000 n=10+10) RotateRight32-12 4.80ns ± 6% 3.42ns ±16% -28.68% (p=0.000 n=10+10) RotateRight64-12 4.78ns ± 6% 3.42ns ± 6% -28.50% (p=0.000 n=10+10) Update #18940 Change-Id: Ie79fb5581c489ed4d3b859314c5e669a134c119b Reviewed-on: https://go-review.googlesource.com/39711 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Austin Clements authored
The Frames API forces the PC slice to escape to the heap because it stores it in the Frames object. However, we'd like to use this API for call stack expansion internally in the runtime in places where it would be very good to avoid heap allocation. This commit makes this possible by pulling the bulk of the Frames implementation into an internal frameExpander API. The key difference between these APIs is that the frameExpander does not hold the PC slice; instead, the caller is responsible for threading the PC slice through the frameExpander API calls. This makes it possible to keep the PC slice on the stack. The Frames API then becomes a thin shim around the frameExpander that keeps the PC slice in the Frames object. Change-Id: If6b2d0b9132a2a905a0cf5deced9feddce76fc0e Reviewed-on: https://go-review.googlesource.com/40610 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Lazar <lazard@golang.org>
-
Andy Balholm authored
Reading a response with a status line like "HTTP/1.0 401 Unauthorized" (with two spaces after the version) has been returning an error. Now the extra space will be ignored. Fixes #19989 Change-Id: I0c88a6ef7562ba80e2e2635be2070dd1b5b671a7 Reviewed-on: https://go-review.googlesource.com/40933Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Michael Hudson-Doyle authored
Previously the "ABI hash" for a package (used to determine if a loaded shared library has the ABI expected by its loader) was the hash of the entire __.PKGDEF file. But that means it depends on the build ID generated by the go tool for the package, which means that if a file is added (even a .c or .h file!) to the package, the ABI changes, perhaps uncessarily. Fixes #19920 Change-Id: If919481e1a03afb350c8a9c7a0666bb90ee90270 Reviewed-on: https://go-review.googlesource.com/40401 Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Robert Griesemer authored
Added a paragraph and examples explaining when an implementation may use fused floating-point operations (such as FMA) and how to prevent operation fusion. For #17895. Change-Id: I64c9559fc1097e597525caca420cfa7032d67014 Reviewed-on: https://go-review.googlesource.com/40391Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Lynn Boger authored
While debugging a recent regression it was discovered that the assembler for ppc64x was not always generating the correct instruction for DS form loads and stores. When an instruction is DS form then the offset must be a multiple of 4, and if it isn't then bits outside the offset field were being incorrectly set resulting in unexpected and incorrect instructions. This change adds a check to determine when the opcode is DS form and then verifies that the offset is a multiple of 4 before generating the instruction, otherwise logs an error. This also changes a few asm files that were using unaligned offsets for DS form loads and stores. In the runtime package these were instructions intended to cause a crash so using aligned or unaligned offsets doesn't change that behavior. Change-Id: Ie3a7e1e65dcc9933b54de7a46a054da8459cb56f Reviewed-on: https://go-review.googlesource.com/40476Reviewed-by: Michael Hudson-Doyle <michael.hudson@canonical.com>
-
Mostyn Bramley-Moore authored
Avoid the use of constant absolute temp files in tests. This could produce flaky results, for example on multiuser development machines. Change-Id: Ia76157a0660fbe294bb31a46ded886cea5deec97 Reviewed-on: https://go-review.googlesource.com/40916Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Elias Naur authored
Some tests need the src/runtime/textflag.h file. Make sure it is included in iOS test runs. Change-Id: I5e0e7ebe85679686ef15a7d336f28ac9b68a587a Reviewed-on: https://go-review.googlesource.com/40915 Run-TryBot: Elias Naur <elias.naur@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Mostyn Bramley-Moore authored
The first part of this test tries to confirm that we can't create a TempFile in a non-existent directory, but does not ensure that the non-existent directory really does not exist. Instead, let's create an empty temp directory, and use a non-existent subdir of that. Change-Id: I176f14ed5f5a2d7a8c29d8f6949755db69d7dbb6 Reviewed-on: https://go-review.googlesource.com/40914Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-