aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-02-23[dev.cc] cmd/internal/obj: set ctxt.Windows != 0 on windowsdev.ccRuss Cox
May fix windows build. Change-Id: Ic4e32a4478caf758da6b02bc9126ddacb0fc07e0 Reviewed-on: https://go-review.googlesource.com/5650 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Rob Pike <r@golang.org>
2015-02-23[dev.cc] cmd/5g etc: code cleanup: delay var decls and eliminate dead codeRuss Cox
Ran rsc.io/grind rev 6f0e601 on the source files. The cleanups move var declarations as close to the use as possible, splitting disjoint uses of the var into separate variables. They also remove dead code (especially in func sudoaddable), which helps with the var moving. There's more cleanup to come, but this alone cuts the time spent compiling html/template on my 2013 MacBook Pro from 3.1 seconds to 2.3 seconds. Change-Id: I4de499f47b1dd47a560c310bbcde6b08d425cfd6 Reviewed-on: https://go-review.googlesource.com/5637 Reviewed-by: Rob Pike <r@golang.org>
2015-02-23[dev.cc] cmd/6a, cmd/6g etc: replace C implementations with Go implementationsRuss Cox
Change-Id: I58e00a39cf63df07813d21453f91e68eef6a413c Reviewed-on: https://go-review.googlesource.com/5635 Reviewed-by: Rob Pike <r@golang.org>
2015-02-23[dev.cc] cmd/dist, cmd/go: stop building C implementations of compilers, ↵Russ Cox
assemblers Also stop building objwriter, which was only used by them. Change-Id: Ia2353abd9426026a81a263cb46a72dd39c360ce4 Reviewed-on: https://go-review.googlesource.com/5634 Reviewed-by: Rob Pike <r@golang.org>
2015-02-23[dev.cc] cmd/internal/gc: reconvert to pick up bug fixesRuss Cox
Convert using rsc.io/c2go rev a97ff47. Notable changes: - %% in format string now correctly preserved - reintroduce "signal handler" to hide internal faults after errors have been printed Change-Id: Ic5a94f1c3a8015a9054e21c8969b52d964a36c45 Reviewed-on: https://go-review.googlesource.com/5633 Reviewed-by: Rob Pike <r@golang.org>
2015-02-23[dev.cc] test: disable syntax error testsRuss Cox
These don't work with the new compiler, because the new compiler doesn't have the custom syntax errors that I built for the old compiler. It will, just not yet. (Issue #9968.) Change-Id: I658f7dab2c7f855340a501f9ae4479c097b28cd3 Reviewed-on: https://go-review.googlesource.com/5632 Reviewed-by: Rob Pike <r@golang.org>
2015-02-23[dev.cc] cmd/asm: add end to end test for amd64Rob Pike
Change-Id: I40839c2d1c0c105a5ba9aadcb55a13693bf4afa6 Reviewed-on: https://go-review.googlesource.com/5592 Reviewed-by: Russ Cox <rsc@golang.org>
2015-02-23[dev.cc] cmd/go: do not install tools while executing themRuss Cox
Change-Id: I3417efc203f555a0a6101701f387ead84f9a08d1 Reviewed-on: https://go-review.googlesource.com/5577 Reviewed-by: Rob Pike <r@golang.org>
2015-02-23[dev.cc] all: merge master (6a10f72) into dev.ccRuss Cox
To pick up darwin/arm fix and hopefully fix build. Change-Id: I06996d0b13b777e476f65405aee031482fc76439
2015-02-23math/big: don't return io.EOF on successful call of ParseFloatRobert Griesemer
Fixes $9938. Change-Id: Ie8680a875225748abd660fb26b4c25546e7b92d3 Reviewed-on: https://go-review.googlesource.com/5620 Reviewed-by: Alan Donovan <adonovan@google.com>
2015-02-23runtime: Add prefetch to allocation codeRick Hudson
The routine mallocgc retrieves objects from freelists. Prefetch the object that will be returned in the next call to mallocgc. Experiments indicate that this produces a 1% improvement when using prefetchnta and less when using prefetcht0, prefetcht1, or prefetcht2. Benchmark numbers indicate a 1% improvement over no prefetch, much less over prefetcht0, prefetcht1, and prefetcht2. These numbers were for the garbage benchmark with MAXPROCS=4 no prefetch >> 5.96 / 5.77 / 5.89 prefetcht0(uintptr(v.ptr().next)) >> 5.88 / 6.17 / 5.84 prefetcht1(uintptr(v.ptr().next)) >> 5.88 / 5.89 / 5.91 prefetcht2(uintptr(v.ptr().next)) >> 5.87 / 6.47 / 5.92 prefetchnta(uintptr(v.ptr().next)) >> 5.72 / 5.84 / 5.85 Change-Id: I54e07172081cccb097d5b5ce8789d74daa055ed9 Reviewed-on: https://go-review.googlesource.com/5350 Reviewed-by: Dmitry Vyukov <dvyukov@google.com> Reviewed-by: Austin Clements <austin@google.com>
2015-02-23go/token: document that column positions and file offsets are in bytesRobert Griesemer
Fixes #9948. Change-Id: I7b354fccd5e933eeeb2253a66acec050ebff6e41 Reviewed-on: https://go-review.googlesource.com/5611 Reviewed-by: Alan Donovan <adonovan@google.com>
2015-02-23math/big: incorporated feedback from prior TBR reviewsRobert Griesemer
Change-Id: Ida847365223ef09b4a3846e240b4bb6919cb0fe9 Reviewed-on: https://go-review.googlesource.com/5610 Reviewed-by: Alan Donovan <adonovan@google.com>
2015-02-23net/mail: move RFC 2047 code to internal/mimeAlexandre Cesaro
The code concerning quoted-printable encoding (RFC 2045) and its variant for MIME headers (RFC 2047) is currently spread in mime/multipart and net/mail. It is also not exported. This commit is the second step to fix that issue. It moves the RFC 2047 encoding and decoding functions from net/mail to internal/mime. The exported API is unchanged. Updates #4943 Change-Id: I5f58aa58e74bbe4ec91b2e9b8c81921338053b00 Reviewed-on: https://go-review.googlesource.com/2101 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2015-02-23cmd/go: link cgo into tests on darwin/armDavid Crawshaw
We currently have only one supported darwin/arm device, a locked iOS machine. It requires cgo binaries. Change-Id: If36a152e6a743e4a58ea3470e62cccb742630a5d Reviewed-on: https://go-review.googlesource.com/5443 Reviewed-by: Russ Cox <rsc@golang.org>
2015-02-23[dev.cc] misc/nacl: add testdata for cmd/internal/rsc.io/x86/x86asmRuss Cox
Should fix nacl build on dev.cc. Change-Id: I166a03b5f6903bd8bbce65af4e5f2899807bb6cc Reviewed-on: https://go-review.googlesource.com/5575 Reviewed-by: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org>
2015-02-23[dev.cc] runtime, syscall: add names to FP offsets in freebsd, netbsd arm ↵Russ Cox
assembly Makes them compatible with the new asm. Applied mechanically from vet diagnostics. Manual edits: the names for arguments in time·now(SB) in runtime/sys_*_arm.s. Change-Id: Ib295390d9509d306afc67714e3f50dc832256625 Reviewed-on: https://go-review.googlesource.com/5576 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Rob Pike <r@golang.org>
2015-02-23[dev.cc] cmd/new6g, etc: reconvert to add profilingRuss Cox
Converted from rsc.io/c2go rev a9bc7f2. Adds profiling support. Change-Id: Ie04f86b71e0713c7294416c77d349e0d93798403 Reviewed-on: https://go-review.googlesource.com/5574 Reviewed-by: Rob Pike <r@golang.org>
2015-02-23[dev.cc] all: merge master (48469a2) into dev.ccRuss Cox
Change-Id: I10f7950d173b302151f2a31daebce297b4306ebe
2015-02-23[dev.cc] cmd/go: fix expansion of cmdRuss Cox
This was supposed to be in the previous CL, but I forgot to 'git rw' it down. Change-Id: Ia5e14ca2c7640f08abbbed1a777a6cf04d71d0e7 Reviewed-on: https://go-review.googlesource.com/5570 Reviewed-by: Russ Cox <rsc@golang.org>
2015-02-23[dev.cc] doc/go1.5: mention cmd/go meaning of std changeRuss Cox
Change-Id: I259e88f019b6818c57caaa1ec236b7c2e2ae1382 Reviewed-on: https://go-review.googlesource.com/5551 Reviewed-by: Rob Pike <r@golang.org>
2015-02-23[dev.cc] cmd/go: fix expansion of 'std', add 'cmd'Russ Cox
The wildcard 'std' is defined in documentation to be all the packages in the Go standard library. It has also historically matched commands in the main repo, but as we implement core commands in Go, that becomes problematic. We need a wildcard that means just the library, and since 'std' is already documented to have that definition, make it so. Add a new wildcard 'cmd' for the commands in the main repo ($GOROOT). Commands that want both can say 'std cmd' (or 'cmd std') to get the effect of the old 'std'. Update make.bash etc to say both std and cmd most of the time. Exception: in race.bash, do not install race-enabled versions of the actual commands. This avoids trying to write binaries while using them, but more importantly it avoids enabling the race detector and its associated memory overhead for the already memory-hungry compilers. Change-Id: I26bb06cb13b636dfbe71a015ee0babeb270a0275 Reviewed-on: https://go-review.googlesource.com/5550 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Rob Pike <r@golang.org>
2015-02-23cmd/ld: fix warning on Plan 9David du Colombier
cpp: src/cmd/ld/lib.h:349 No newline at end of file Change-Id: Id21851963f7778364ba9337da3bacd312443f51f Reviewed-on: https://go-review.googlesource.com/5520 Reviewed-by: Minux Ma <minux@golang.org>
2015-02-23runtime: remove unneeded C header filesMatthew Dempsky
Change-Id: I239ae86cfebfece607dce39a96d9123cbacbee7d Reviewed-on: https://go-review.googlesource.com/5562 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Minux Ma <minux@golang.org>
2015-02-22net/http: Removed some unused constants in request.go.Aaron Jacobs
Change-Id: I05cdf357249166a45105703e9317793aa2088844 Reviewed-on: https://go-review.googlesource.com/5560 Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-02-22gdb: fix "gdb.error: No struct named reflect.rtype."Jan Kratochvil
With a trivial Golang-built program loaded in gdb-7.8.90.20150214-7.fc23.x86_64 I get this error: (gdb) source ./src/runtime/runtime-gdb.py Loading Go Runtime support. Traceback (most recent call last): File "./src/runtime/runtime-gdb.py", line 230, in <module> _rctp_type = gdb.lookup_type("struct reflect.rtype").pointer() gdb.error: No struct type named reflect.rtype. (gdb) q No matter if this struct should or should not be in every Golang-built binary this change should fix that with no disadvantages. Change-Id: I0c490d3c9bbe93c65a2183b41bfbdc0c0f405bd1 Reviewed-on: https://go-review.googlesource.com/5521 Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-02-22Call --> CallSlice in two spots. No logic change, docs only.Mark Bucciarelli
Change-Id: I6011e162214db2d65efc1ecdb5ec600ca8e5bfe9 Reviewed-on: https://go-review.googlesource.com/5542 Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-02-21[dev.cc] cmd/asm/internal/asm: fix test on naclRuss Cox
Need to add testdata to NaCl's testing file system. Change-Id: Ie9703b5475c7f87e737a06de85d1f88e2062f090 Reviewed-on: https://go-review.googlesource.com/5541 Reviewed-by: Russ Cox <rsc@golang.org>
2015-02-21[dev.cc] cmd/asm/internal/asm: fix test on windowsRuss Cox
Change-Id: Ia6cf3204d71740bc2b6e26c53ac5206e8a33a180 Reviewed-on: https://go-review.googlesource.com/5540 Reviewed-by: Russ Cox <rsc@golang.org>
2015-02-21[dev.cc] cmd/go: reenable verifyCompilerRuss Cox
Change-Id: Ic7367f2c6e6d4e6b802ce8436022412a1862ca58 Reviewed-on: https://go-review.googlesource.com/5472 Reviewed-by: Rob Pike <r@golang.org>
2015-02-21[dev.cc] cmd/new6g etc: reconvert from CRuss Cox
Reconvert using rsc.io/c2go rev 27b3f59. (Same as last conversion, but C sources have changed due to merging master into this branch.) Change-Id: Ib314bb9ac14a726ceb83e2ecf4d1ad2d0b331c38 Reviewed-on: https://go-review.googlesource.com/5471 Reviewed-by: Rob Pike <r@golang.org>
2015-02-21[dev.cc] cmd/asm: fix build: broken end to end testRob Pike
This time for sure. Change-Id: I77ed6b70d82a6f4ba371afba2f53c8b146ac110f Reviewed-on: https://go-review.googlesource.com/5530 Reviewed-by: Rob Pike <r@golang.org>
2015-02-21[dev.cc] cmd/asm: fix buildRob Pike
Representation in printout of MRC instruction differs between 32- and 64-bit machines. It's just a hex dump. Fix this one day, but for now just comment out the instruction. Change-Id: I4709390659e2e0f2d18ff6f8e762f97cdbfb4c16 Reviewed-on: https://go-review.googlesource.com/5424 Reviewed-by: Rob Pike <r@golang.org>
2015-02-21[dev.cc] cmd/asm: add end-to-end testRob Pike
Add trivial golden test that verifies output matches expectation. The input is based on the old grammar and is intended to cover the space of the input language. PPC64 and ARM only for now; others to follow. Change-Id: Ib5957822bcafd5b9d4c1dea1c03cc6ee1238f7ef Reviewed-on: https://go-review.googlesource.com/5421 Reviewed-by: Russ Cox <rsc@golang.org>
2015-02-21[dev.cc] cm/asm: fix up arm after cross-check with 5aRob Pike
As with the previous round for ppc64, this CL fixes a couple of things that 5a supported but asm did not, both simple. 1) Allow condition code on MRC instruction; this was marked as a TODO. 2) Allow R(n) notation in ARM register shifts. The code needs a rethink but the tests we're leading toward will make the rewrite easier to test and trust. Change-Id: I5b52ad25d177a74cf07e089dddfeeab21863c424 Reviewed-on: https://go-review.googlesource.com/5422 Reviewed-by: Russ Cox <rsc@golang.org>
2015-02-20[dev.cc] crypto/md5, crypto/sha1: restore a few SP referencesRuss Cox
Applying my post-submit comments from CL 5120. The rewrite there changed the code from writing to the stack frame to writing below the stack frame. Change-Id: Ie7e0563c0c1731fede2bcefeaf3c9d88a0cf4063 Reviewed-on: https://go-review.googlesource.com/5470 Reviewed-by: David Crawshaw <crawshaw@golang.org>
2015-02-20[dev.cc] cmd/asm: add ppc64le supportRuss Cox
Change-Id: I780ed76c9217d387a73fd7530af2f40948aa1fe4 Reviewed-on: https://go-review.googlesource.com/5452 Reviewed-by: Rob Pike <r@golang.org>
2015-02-20[dev.cc] cmd/go: install cmd/asm as a toolRuss Cox
cmd/dist was doing the right thing, but not cmd/go. Change-Id: I5412140cfc07e806152915cc49db7f63352d01ca Reviewed-on: https://go-review.googlesource.com/5451 Reviewed-by: Rob Pike <r@golang.org>
2015-02-20cmd/trace: add new commandDmitry Vyukov
Trace command allows to visualize and analyze traces. Run as: $ go tool trace binary trace.file The commands opens web browser with the main page, which contains links for trace visualization, blocking profiler, network IO profiler and per-goroutine traces. Also move trace parser from runtime/pprof/trace_parser_test.go to internal/trace/parser.go, so that it can be shared between tests and the command. Change-Id: Ic97ed59ad6e4c7e1dc9eca5e979701a2b4aed7cf Reviewed-on: https://go-review.googlesource.com/3601 Reviewed-by: Andrew Gerrand <adg@golang.org>
2015-02-20[dev.cc] runtime: print to stderr as well as android logdDavid Crawshaw
Restores stack traces in the android/arm builder. Change-Id: If637aa2ed6f8886126b77cf9cc8a0535ec7c4369 Reviewed-on: https://go-review.googlesource.com/5453 Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
2015-02-20runtime/race: update race runtime to rev 229396Dmitry Vyukov
Fixes #9720 Fixes #8053 Fixes https://code.google.com/p/thread-sanitizer/issues/detail?id=89 Change-Id: I7d598e53de86586bb9702d8e9276a4d6aece2dfc Reviewed-on: https://go-review.googlesource.com/4950 Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-02-20runtime: adjust program counters in race detectorDmitry Vyukov
In most cases we pass return PC to race detector, and race runtime subtracts one from them. However, in manual instrumentation in runtime we pass function start PC to race runtime. Race runtime can't distinguish these cases and so it does not subtract one from top PC. This leads to bogus line numbers in some cases. Make it consistent and always pass what looks like a return PC, so that race runtime can subtract one and still get PC in the same function. Also delete two unused functions. Update #8053 Change-Id: I4242dec5e055e460c9a8990eaca1d085ae240ed2 Reviewed-on: https://go-review.googlesource.com/4902 Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-02-20runtime: split gc_m into gcMark and gcSweepRuss Cox
This is a nice split but more importantly it provides a better way to fit the checkmark phase into the sequencing. Also factor out common span copying into gcSpanCopy. Change-Id: Ia058644974e4ed4ac3cf4b017a3446eb2284d053 Reviewed-on: https://go-review.googlesource.com/5333 Reviewed-by: Austin Clements <austin@google.com>
2015-02-20runtime: unroll gc_m loopRuss Cox
The loop made more sense when gc_m was not its own function. Change-Id: I71a7f21d777e69c1924e3b534c507476daa4dfdd Reviewed-on: https://go-review.googlesource.com/5332 Reviewed-by: Austin Clements <austin@google.com>
2015-02-20runtime: tidy GC driverRuss Cox
Change-Id: I0da26e89ae73272e49e82c6549c774e5bc97f64c Reviewed-on: https://go-review.googlesource.com/5331 Reviewed-by: Austin Clements <austin@google.com>
2015-02-20runtime: fix cputicks on x86Dmitry Vyukov
See the following issue for context: https://github.com/golang/go/issues/9729#issuecomment-74648287 In short, RDTSC can produce skewed results without preceding LFENCE/MFENCE. Information on this matter is very scrappy in the internet. But this is what linux kernel does (see rdtsc_barrier). It also fixes the test program on my machine. Update #9729 Change-Id: I3c1ffbf129fdfdd388bd5b7911b392b319248e68 Reviewed-on: https://go-review.googlesource.com/5033 Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-02-20[dev.cc] cmd/asm: implement FMADD for ppc64Rob Pike
Missed this one instruction in the previous pass. Change-Id: Ic8cdae4d3bfd626c6bbe0ce49fce28b53db2ad1c Reviewed-on: https://go-review.googlesource.com/5420 Reviewed-by: Russ Cox <rsc@golang.org>
2015-02-20[dev.cc] all: merge master (5868ce3) into dev.ccRuss Cox
This time for sure! Change-Id: I7e7ea24edb7c2f711489e162fb97237a87533089
2015-02-20[dev.cc] cmd/go: disable verifyCompilerRuss Cox
The merge brought in new C sources without Go updates. Change-Id: Iad08b58f894173a7b34396275b72db34f3031fe3 Reviewed-on: https://go-review.googlesource.com/5352 Reviewed-by: Russ Cox <rsc@golang.org>
2015-02-20path/filepath: add example for filepath.SplitAndrew Gerrand
Fixes #9928 Change-Id: Iab37051078755a132f211ad48e756422f7c55a39 Reviewed-on: https://go-review.googlesource.com/5416 Reviewed-by: Minux Ma <minux@golang.org>