- 21 May, 2018 6 commits
-
-
Alberto Donizetti authored
We have a workaround in place in the runtime (see CL 16853 and CL 111176) to keep arm and arm64 Go binaries working under QEMU in user-emulation mode (Issue #13024). This change adds a regression test about arm/arm64 QEMU emulation to cmd/go. Change-Id: Ic67f476e7c30a7d7852d9b01834f1dcabfac2ff7 Reviewed-on: https://go-review.googlesource.com/111477Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
Fixes #25476 Change-Id: I5a81cdf7d0ef9a22b0267732f27bcc2ef76eaa29 Reviewed-on: https://go-review.googlesource.com/113817Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Daniel Martí authored
First, the regions sort was buggy, as its last comparison was ineffective. Second, the insyscall and insyscallRuntime fields were unsigned, so the check for them being negative was pointless. Make them signed instead, to also prevent the possibility of underflows when decreasing numbers that might realistically be 0. Third, the color constants were all untyped strings except the first one. Be consistent with their typing. Change-Id: I4eb8d08028ed92589493c2a4b9cc5a88d83f769b Reviewed-on: https://go-review.googlesource.com/113895 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Alberto Donizetti authored
Fixes #25477 Change-Id: I6f724bb855cfffa21de090c1fcb04d58d7cdd9d8 Reviewed-on: https://go-review.googlesource.com/113839Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Michael Munday authored
The function signatures in the comments used a C-like style. Using Go function signatures is cleaner. Change-Id: I1a093ed8fe5df59f3697c613cf3fce58bba4f5c1 Reviewed-on: https://go-review.googlesource.com/113876 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Michael Munday authored
Use the math/bits functions to calculate the number of leading/ trailing zeros, bit length and the population count. The math/bits package is built as part of the bootstrap process so we do not need to provide an alternative implementation for Go versions prior to 1.9. Passes toolstash-check -all. Change-Id: I393b4cc1c8accd0ca7cb3599d3926fa6319b574f Reviewed-on: https://go-review.googlesource.com/113336 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 20 May, 2018 1 commit
-
-
Keith Randall authored
Use mach_absolute_time and mach_timebase_info to get nanosecond-level timing information from libc on Darwin. The conversion code from Apple's arbitrary time unit to nanoseconds is really annoying. It would be nice if we could replace the internal runtime "time" with arbitrary units and put the conversion to nanoseconds only in the places that really need it (so it isn't in every nanotime call). It's especially annoying because numer==denom==1 for all the machines I tried. Makes it hard to test the conversion code :( Update #17490 Change-Id: I6c5d602a802f5c24e35184e33d5e8194aa7afa86 Reviewed-on: https://go-review.googlesource.com/110655 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 19 May, 2018 2 commits
-
-
Keith Randall authored
A few libc_ calls were missing stack switches. Unfortunately, adding the stack switches revealed a deeper problem. systemstack() is fundamentally flawed because when you do systemstack(func() { ... }) There's no way to mark the anonymous function as nosplit. At first I thought it didn't matter, as that function runs on the g0 stack. But nosplit is still required, because some syscalls are done when stack bounds are not set up correctly (e.g. in a signal handler, which runs on the g0 stack, but g is still pointing at the g stack). Instead use asmcgocall and funcPC, so we can be nosplit all the way down. Mid-stack inlining now pushes darwin over the nosplit limit also. Leaving that as a TODO. Update #23168 This might fix the cause of occasional darwin hangs. Update #25181 Update #17490 Change-Id: If9c3ef052822c7679f5a1dd192443f714483327e Reviewed-on: https://go-review.googlesource.com/111258Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ali Rizvi-Santiago authored
This parses the import table properly which allows for debug/pe to extract import symbols from pecoffs linked with an import table in a section named something other than ".idata" The section names in a pecoff object aren't guaranteed to actually mean anything, so hardcoding a search for the ".idata" section is not guaranteed to find the import table in all shared libraries. This resulted in debug/pe being unable to read import symbols from some libraries. The proper way to locate the import table is to validate the number of data directory entries, locate the import entry, and then use the va to identify the section containing the import table. This patch does exactly this. Fixes #16103. Change-Id: I3ab6de7f896a0c56bb86c3863e504e8dd4c8faf3 GitHub-Last-Rev: ce8077cb154f18ada7a86e152ab03de813937816 GitHub-Pull-Request: golang/go#25193 Reviewed-on: https://go-review.googlesource.com/110555 Run-TryBot: Alex Brainman <alex.brainman@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
- 18 May, 2018 5 commits
-
-
David Chase authored
There's a glitch in how attributes from procs that do not generate code are combined, and the workaround for this glitch appeared in two places. "One big pile is better than two little ones." Updates #25426. Change-Id: I252f9adc5b77591720a61fa22e6f9dda33d95350 Reviewed-on: https://go-review.googlesource.com/113717 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Richard Musiol authored
This commit improves wasm_exec.js to give more control to the code that uses this helper: - Allow to load and run more than one Go program at the same time. - Move WebAssembly.instantiate out of wasm_exec.js so the caller can optimize for load-time performance, e.g. by using instantiateStreaming. - Allow caller to provide argv, env and exit callback. Updates #18892 Change-Id: Ib582e6f43848c0118ea5c89f2e24b371c45c2050 Reviewed-on: https://go-review.googlesource.com/113515Reviewed-by: Agniva De Sarker <agniva.quicksilver@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Robert Griesemer authored
This prevents a crash in go/types due to a nil condition in an 'if' statement. There's more we can do to make go/types more robust but this will address the immediate cause and also makes sure that the parser returns a valid AST in this case. Fixes #25438. Change-Id: Ie55dc2c722352a5ecb17af6a16983741e8a8b515 Reviewed-on: https://go-review.googlesource.com/113735 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Dominik Honnef <dominik@honnef.co> Reviewed-by: Alan Donovan <adonovan@google.com>
-
Daniel Martí authored
The check has worked this way for a long time, but it has never been well documented. For #25453. Change-Id: If603e53348ba51f73b2f449b943c6f97f64aa3eb Reviewed-on: https://go-review.googlesource.com/113755 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Ian Lance Taylor authored
Without this running go vet -compiler=gccgo causes vet to fail. The vet tool does need to know the compiler, but it is passed in vetConfig.Compiler. Change-Id: If857be4f336f6d7c425972fabcf82fae2cdc8a90 Reviewed-on: https://go-review.googlesource.com/113715 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 17 May, 2018 7 commits
-
-
HAMANO Tsukasa authored
ASN.1 has an private class, but current implementation does not support it. Change-Id: I3ebf07a048831869572f75223cb17d4c115caef7 GitHub-Last-Rev: b3c69ad091218acfa0bb0e34111cceae69586eb9 GitHub-Pull-Request: golang/go#25195 Reviewed-on: https://go-review.googlesource.com/110561 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Filippo Valsorda <filippo@golang.org>
-
isharipo authored
If go toolchain is not built with GOEXPERIMENT=fieldtrack, skip fieldtrack pass in the linker as it does full symtab traversal. For linking "hello world" example from net/http: name old time/op new time/op delta Linker-4 530ms ± 2% 525ms ± 2% -1.03% (p=0.028 n=17+19) Fixes #20318 Updates #14624 Change-Id: I99336513db77d13f95f47d27339d76f01c42a5da Reviewed-on: https://go-review.googlesource.com/113635 Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
isharipo authored
Fixes invalid encoding of VPERMQ and VPERMPD that use negative immediate argument. Fixes #25418 Updates #25420 Change-Id: Idd8180c4c632a76b76f3a68efd5f930d94431994 Reviewed-on: https://go-review.googlesource.com/113615 Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Ilya Tocar <ilya.tocar@intel.com>
-
Elias Naur authored
CL 113095 tried to deflake net tests on iOS by skipping the test that uses the most sockets. That didn't work well enough and will be reverted in CL 113555. The flakes appeared after the iOS exec harness started to forward environment variables, causing testenv.Builder to be non-empty on the iOS builder. This CL attempts to fix the flakes with the more conservative strategy of skipping tests that only run on builders. The skipped tests happen to be those requiring external network access; it's plausible that the iOS builder network isn't reliable enough to run the many parallel DNS lookups and dial outs, while keeping the number of open file descriptors below the 250 limit. Change-Id: I9cafdaf2845dd6f3844c4819dcaaaa5970f5da15 Reviewed-on: https://go-review.googlesource.com/113575 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Zhou Peng authored
Change-Id: Icbff14b52e040826bc6de704942ff2f8e0164e3e Reviewed-on: https://go-review.googlesource.com/113596Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Elias Naur authored
This reverts commit 3027932a. Reason for revert: It didn't work well enough; a replacement CL that skips external net tests altogether on iOS is coming. Change-Id: Ib2c5656cee92bcae744f9c99fbcb9f9f2baa0694 Reviewed-on: https://go-review.googlesource.com/113555 Run-TryBot: Elias Naur <elias.naur@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Hana (Hyang-Ah) Kim authored
The file is not used ('go tool' uses cmd/pprof/pprof.go instead) and the external package import in this file causes test failure. Fixes #25367 Change-Id: I71fbf8a3631efb1bd9e459b8247e5f7a6683894c Reviewed-on: https://go-review.googlesource.com/113295Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 16 May, 2018 6 commits
-
-
Gustav Westling authored
This change adds functionality to properly handle NoPadding in NewDecoder. Removes the following expectations when using NoPadding: * the input message length is a multiple of 8 * the input message length is 0, or longer than 7 characters Fixes #25332 Change-Id: I7c38160df23f7e8da4f85a5629530016e7bf71f3 GitHub-Last-Rev: 68ab8d2291df5c69e647620f8ef82cc90e06db28 GitHub-Pull-Request: golang/go#25394 Reviewed-on: https://go-review.googlesource.com/113215 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
So we can have builders running go test -short=false. Updates golang/go#12508 Change-Id: If90f0f6d9f89268c33b1d1876139ad551fecd3d8 Reviewed-on: https://go-review.googlesource.com/113435Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Bryan C. Mills <bcmills@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Tobias Klauser authored
Fixes #25423 Change-Id: I6bed0726b8f4c7d607a3df271b2ab1006e96fa75 Reviewed-on: https://go-review.googlesource.com/113356 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Zhou Peng authored
This block of code once was commented by the original author, but commenting code looks a little annoying. However, the debugSelect flag is just for the situation that debug code will be compiled when debuging, when release this code will be eliminated by the compiler. Change-Id: I7b94297e368b515116ef44a36058214ddddf9adb Reviewed-on: https://go-review.googlesource.com/113395Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Tobias Klauser authored
After CL 113016 the "a" article is no longer necessary. Change-Id: I5a80a210bd2b9eedd73d5f9f3f338d7f22c29ea6 Reviewed-on: https://go-review.googlesource.com/113355Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Alberto Donizetti authored
When a variable of type int is compared with sizeof's return value, gcc warns: comparison between signed and unsigned integer expressions Change the type of a couple loop indices that looped over sizeof from int to size_t to silence the warnings. Fixes #25411 Change-Id: I2c7858f84237e77945651c7b1b6a75b97edcef65 Reviewed-on: https://go-review.googlesource.com/113335 Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 15 May, 2018 6 commits
-
-
Rob Pike authored
Fixes #24487 Change-Id: Ic523e469f7f67f376edd2fca6e07d35bb11b2db9 Reviewed-on: https://go-review.googlesource.com/113016Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Michael Munday authored
Before: unexpected at 2721:load with unexpected source op v3278unexpected at 2775:load with unexpected source op v3281unexpected at 2249:load with unexpected source op v3289unexpected at 2875:load with unexpected source op v3278unexpected at 2232:load with unexpected source op v286unexpected at 2231:load with unexpected source op v3291unexpected at 2784:load with unexpected source op v3289unexpected at 2785:load with unexpected source op v3291 After: debug info generation: v2721: load with unexpected source op: Phi (v3278) debug info generation: v2775: load with unexpected source op: Phi (v3281) debug info generation: v2249: load with unexpected source op: Phi (v3289) debug info generation: v2875: load with unexpected source op: Phi (v3278) debug info generation: v2232: load with unexpected source op: Phi (v286) debug info generation: v2231: load with unexpected source op: Phi (v3291) debug info generation: v2784: load with unexpected source op: Phi (v3289) debug info generation: v2785: load with unexpected source op: Phi (v3291) Updates #25404. Change-Id: Ib97722848d27ca18bdcd482a610626bc3c6def7d Reviewed-on: https://go-review.googlesource.com/113275 Run-TryBot: Michael Munday <mike.munday@ibm.com> Run-TryBot: Heschi Kreinick <heschi@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Heschi Kreinick <heschi@google.com>
-
Michael Munday authored
This change updates the vendored copy of golang.org/x/crypto to commit 1a580b3eff7814fc9b40602fd35256c63b50f491. An import of golang.org/x/sys/cpu was replaced with an import of internal/cpu as required by https://github.com/golang/go/issues/24843#issuecomment-383194779. The following bash command can be used to replicate this import update: find `pwd` -name '*.go' -exec sed -i 's/golang\.org\/x\/sys\/cpu/internal\/cpu/g' '{}' \; Change-Id: Ic80d361f940a96c70e4196f594d791c63421d73c Reviewed-on: https://go-review.googlesource.com/113175Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
isharipo authored
The preallocated memory size is comparable to bytes.Buffer bootstraping array length (bytes.Buffer was used before rewrite to strings.Builder). Without preallocation, encodeWord does more than one allocation for almost any possible input. The regression happens because bytes.Buffer did a 80-bytes allocation at the beginning of encodeWord while strings.Builder did several smaller allocations (started with cap=0). Comparison with reported regression: name old time/op new time/op delta QEncodeWord-4 781ns ± 1% 593ns ± 1% -24.08% (p=0.008 n=5+5) name old alloc/op new alloc/op delta QEncodeWord-4 152B ± 0% 80B ± 0% -47.37% (p=0.008 n=5+5) name old allocs/op new allocs/op delta QEncodeWord-4 5.00 ± 0% 2.00 ± 0% -60.00% (p=0.008 n=5+5) Comparison with buffer solution (like before strings.Builder, but without sync pool for buffer re-using): name old time/op new time/op delta QEncodeWord-4 595ns ± 1% 593ns ± 1% ~ (p=0.460 n=5+5) name old alloc/op new alloc/op delta QEncodeWord-4 160B ± 0% 80B ± 0% -50.00% (p=0.008 n=5+5) name old allocs/op new allocs/op delta QEncodeWord-4 2.00 ± 0% 2.00 ± 0% ~ (all equal) We avoid allocation in buf.String(), as expected. Fixes #25379 Change-Id: I19763f0e593a27390c1a549b86ce6507b489046b Reviewed-on: https://go-review.googlesource.com/113235 Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Richard Musiol authored
This commit addresses a FIXME left in the code of wasm_exec.js to properly get the upper 32 bit of a JS number to be stored as an 64-bit integer. A bitshift operation is not possible, because in JavaScript bitshift operations only operate on the lower 32 bits. Change-Id: I8f627fd604e592682d9d322942a4852db64a7f66 Reviewed-on: https://go-review.googlesource.com/113076Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Richard Musiol authored
This commit changes wasm_exec.js so it only puts the single name "go" into the global namespace. Other names became private or were turned into a property/method of "go". Change-Id: I633829dfd3c06936f092c0a14b9978bf855e41fe Reviewed-on: https://go-review.googlesource.com/112980Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Agniva De Sarker <agniva.quicksilver@gmail.com>
-
- 14 May, 2018 7 commits
-
-
Elias Naur authored
The iOS builder recently gained access to the GO_BUILDER_NAME environment variable, which in turn enabled some net tests that were previously guarded by testenv.Builder() == "". Some such tests have been disabled because they don't work; others have increased the pressure on open file descriptors, pushing the low iOS limit of 250. Since many net tests run with t.Parallel(), the "too many open files" error hit many different tests, so instead of playing whack-a-mole, lower the file descriptor demand by skipping the most file descriptor hungry test, TestTCPSpuriousConnSetupCompletionWithCancel. Before: $ GO_BUILDER_NAME=darwin-arm64 GOARCH=arm64 go test -short -v net ... Socket statistical information: ... (inet4, stream, default): opened=5245 connected=193 listened=75 accepted=177 closed=5399 openfailed=0 connectfailed=5161 listenfailed=0 acceptfailed=143 closefailed=0 ... After: $ GO_BUILDER_NAME=darwin-arm64 GOARCH=arm64 go test -short -v net ... Socket statistical information: ... (inet4, stream, default): opened=381 connected=194 listened=75 accepted=169 closed=547 openfailed=0 connectfailed=297 listenfailed=0 acceptfailed=134 closefailed=0 ... Fixes #25365 (Hopefully). Change-Id: I8343de1b687ffb79001a846b1211df7aadd0535b Reviewed-on: https://go-review.googlesource.com/113095 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
-
David du Colombier authored
TestStmtLines has been added in CL 102435. This test is failing on Plan 9 because executables don't have a DWARF symbol table. Fixes #25387. Change-Id: I6ae7cba0e8ad4ab569a29ea8920b7849acfb9846 Reviewed-on: https://go-review.googlesource.com/113115 Run-TryBot: David du Colombier <0intro@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
David Chase authored
This test measures "line churn" which was minimized to help improve the debugger experience. With proper is_stmt markers, this is no longer necessary, and it is more accurate (for profiling) to allow line numbers to vary willy-nilly. "Debugger experience" is now better measured by cmd/compile/internal/ssa/debug_test.go This CL made the obsoleting change: https://go-review.googlesource.com/c/go/+/102435 Change-Id: I874ab89f3b243b905aaeba7836118f632225a667 Reviewed-on: https://go-review.googlesource.com/113155 Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Diogo Pinela authored
Since subtests and subbenchmarks run in a separate goroutine, and thus a separate stack, this entails capturing the stack trace at the point tb.Run is called. The work of getting the file and line information from this stack is only done when needed, however. Continuing the search into the parent test also requires temporarily holding its mutex. Since Run does not hold it while waiting for the subtest to complete, there should be no risk of a deadlock due to this. Fixes #24128 Change-Id: If0bb169f3ac96bd48794624e619ade7edb599f83 Reviewed-on: https://go-review.googlesource.com/108658 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
-
Alberto Donizetti authored
When running a benchmark multiple times, instead of re-computing the value of b.N each time, use the value found by the first run. For go test -bench=. -benchtime 3s -count 2 p_test.go on the benchmark in the linked issue; before: BenchmarkBenchmark-4 500 10180593 ns/op --- BENCH: BenchmarkBenchmark-4 p_test.go:13: single call took 10.111079ms p_test.go:13: single call took 1.017298685s p_test.go:13: single call took 5.090096124s BenchmarkBenchmark-4 500 10182164 ns/op --- BENCH: BenchmarkBenchmark-4 p_test.go:13: single call took 10.098169ms p_test.go:13: single call took 1.017712905s p_test.go:13: single call took 5.090898517s PASS ok command-line-arguments 12.244s and after: BenchmarkBenchmark-4 500 10177076 ns/op --- BENCH: BenchmarkBenchmark-4 p_test.go:13: single call took 10.091301ms p_test.go:13: single call took 1.016943125s p_test.go:13: single call took 5.088376028s BenchmarkBenchmark-4 500 10171497 ns/op --- BENCH: BenchmarkBenchmark-4 p_test.go:13: single call took 10.140245ms p_test.go:13: single call took 5.085605921s PASS ok command-line-arguments 11.218s Fixes #23423 Change-Id: Ie66a8c5ac43881eb8741e14105db28745b4d56d3 Reviewed-on: https://go-review.googlesource.com/110775Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Giovanni Bajo authored
In prove, reuse posets between different functions by storing them in the per-worker cache. Allocation count regression caused by prove improvements is down from 5% to 3% after this CL. Updates #25179 Change-Id: I6d14003109833d9b3ef5165fdea00aa9c9e952e8 Reviewed-on: https://go-review.googlesource.com/110455 Run-TryBot: Giovanni Bajo <rasky@develer.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
Giovanni Bajo authored
prove uses the poset datastructure in a DFS walk, and always undoes it back to its pristine status. Before this CL, poset's undo of a new node creation didn't fully deallocate the node, which means that at the end of prove there was still some allocated memory pending. This was not a problem until now because the posets used by prove were discarded after each function, but it would prevent recycling them between functions (as a followup CL does). Change-Id: I1c1c99c03fe19ad765395a43958cb256f686765a Reviewed-on: https://go-review.googlesource.com/112976 Run-TryBot: Giovanni Bajo <rasky@develer.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: David Chase <drchase@google.com>
-