- 21 Feb, 2015 6 commits
-
-
Russ Cox authored
Change-Id: Ic7367f2c6e6d4e6b802ce8436022412a1862ca58 Reviewed-on: https://go-review.googlesource.com/5472Reviewed-by: Rob Pike <r@golang.org>
-
Russ Cox authored
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/5471Reviewed-by: Rob Pike <r@golang.org>
-
Rob Pike authored
This time for sure. Change-Id: I77ed6b70d82a6f4ba371afba2f53c8b146ac110f Reviewed-on: https://go-review.googlesource.com/5530Reviewed-by: Rob Pike <r@golang.org>
-
Rob Pike authored
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/5424Reviewed-by: Rob Pike <r@golang.org>
-
Rob Pike authored
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/5421Reviewed-by: Russ Cox <rsc@golang.org>
-
Rob Pike authored
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/5422Reviewed-by: Russ Cox <rsc@golang.org>
-
- 20 Feb, 2015 15 commits
-
-
Russ Cox authored
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/5470Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Russ Cox authored
Change-Id: I780ed76c9217d387a73fd7530af2f40948aa1fe4 Reviewed-on: https://go-review.googlesource.com/5452Reviewed-by: Rob Pike <r@golang.org>
-
Russ Cox authored
cmd/dist was doing the right thing, but not cmd/go. Change-Id: I5412140cfc07e806152915cc49db7f63352d01ca Reviewed-on: https://go-review.googlesource.com/5451Reviewed-by: Rob Pike <r@golang.org>
-
David Crawshaw authored
Restores stack traces in the android/arm builder. Change-Id: If637aa2ed6f8886126b77cf9cc8a0535ec7c4369 Reviewed-on: https://go-review.googlesource.com/5453Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
-
Rob Pike authored
Missed this one instruction in the previous pass. Change-Id: Ic8cdae4d3bfd626c6bbe0ce49fce28b53db2ad1c Reviewed-on: https://go-review.googlesource.com/5420Reviewed-by: Russ Cox <rsc@golang.org>
-
Russ Cox authored
This time for sure! Change-Id: I7e7ea24edb7c2f711489e162fb97237a87533089
-
Russ Cox authored
The merge brought in new C sources without Go updates. Change-Id: Iad08b58f894173a7b34396275b72db34f3031fe3 Reviewed-on: https://go-review.googlesource.com/5352Reviewed-by: Russ Cox <rsc@golang.org>
-
Andrew Gerrand authored
Fixes #9928 Change-Id: Iab37051078755a132f211ad48e756422f7c55a39 Reviewed-on: https://go-review.googlesource.com/5416Reviewed-by: Minux Ma <minux@golang.org>
-
Mikio Hara authored
This changes fixes two issues with regard to handling routing messages as follows: - Misparsing on platforms (such as FreeBSD) supporting multiple architectures in the same kernel (kern.supported_archs="amd64 i386") - Misparsing with unimplemented messages such as route, interface address state notifications To fix those issues, this change implements all the required socket address parsers, adds a processor architecture identifying function to FreeBSD and tests. Fixes #9707. Fixes #8203. Change-Id: I7ed7b4a0b6f10f54b29edc681a2f35603f2d8d45 Reviewed-on: https://go-review.googlesource.com/4330Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ingo Oeser authored
Before Go 1.4, the traditional way to work with a private Github repository was to run something similar the following: ``` git config --global url."git@github.com:".insteadOf "https://github.com/" ``` It would allow go get and friends to transparently work as expected, automatically rewriting https URLs to use SSH for auth. This worked both when pushing and pulling. In Go 1.4 this broke, now requiring the use of `go get -f` instead of `go get` in order to fetch private repositories. This seems neither intended nor practical, as it requires changing a lot of tooling. So just use `git config remote.origin.url` instead of `git remote -v` as this reflects the actual substitution intended in the `insteadOf` config directive. Also remove now useless parsing. Also add a check against supported schemes to avoid errors in later commands using this URL and expecting such a scheme. Fixes #9697 Change-Id: I907327f83504302288f913a68f8222a5c2d673ee Reviewed-on: https://go-review.googlesource.com/3504Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Russ Cox authored
Change-Id: I678336daf99f7d7d19f99506f1a604de8e05bf43 Reviewed-on: https://go-review.googlesource.com/5400Reviewed-by: Russ Cox <rsc@golang.org>
-
Rob Pike authored
I created a .s file that covered every instruction and operand production in 9a/a.y and made sure that 9a and asm give bit-identical results for it. I found a few things, including one addressing mode (R1+R2) that was not present in the source we use. Fixed those I also found quite a few things where 9a's grammar accepts the instruction but liblink rejects it. These need to be sorted out, and I will do that separately. Once that's done, I'll turn my test file into a proper test. Change-Id: Ib093271b0f7ffd64ffed164ed2a820ebf2420e34 Reviewed-on: https://go-review.googlesource.com/5361Reviewed-by: Russ Cox <rsc@golang.org>
-
Rob Pike authored
Fix many incorrect FP references and a few other details. Some errors remain, especially in vlop, but fixing them requires semantics. For another day. Change-Id: Ib769fb519b465e79fc08d004a51acc5644e8b259 Reviewed-on: https://go-review.googlesource.com/5288Reviewed-by: Russ Cox <rsc@golang.org>
-
Russ Cox authored
Reconvert using rsc.io/c2go rev 27b3f59. Changes to converter: - fatal does not return, so no fallthrough after fatal in switch - many more function results and variables identified as bool - simplification of negated boolean expressions Change-Id: I3bc67da5e46cb7ee613e230cf7e9533036cc870b Reviewed-on: https://go-review.googlesource.com/5171Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Russ Cox authored
c2go was putting a fallthrough after the fatal call. Changed c2go to know that fatal doesn't return, but then there is a missing return at the end of the translated Go function. Move code around a little to make C and Go agree. Change-Id: Icef3d55ccdde0709c02dd0c2b78826f6da33a146 Reviewed-on: https://go-review.googlesource.com/5170Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
- 19 Feb, 2015 19 commits
-
-
Andrew Gerrand authored
Fixes #9932 Change-Id: I7943470a1784278a5c6e99c3b66c59d4953734ba Reviewed-on: https://go-review.googlesource.com/5340Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
This is causing crashes. Change-Id: I1832f33d114bc29894e491dd2baac45d7ab3a50d Reviewed-on: https://go-review.googlesource.com/5330Reviewed-by: Rick Hudson <rlh@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Rob Pike authored
Maybe fix build. Change-Id: I99ea76f0e6e472f0e88405bf5d77f72d4b097abd Reviewed-on: https://go-review.googlesource.com/5287Reviewed-by: Russ Cox <rsc@golang.org>
-
Rob Pike authored
Change-Id: Ia1ba28c81e31d149c59a48d5f71628ac0ff14d8e Reviewed-on: https://go-review.googlesource.com/5283Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Rob Pike authored
Was rejected but should be legal. Change-Id: I0189e3bef6b67c6ba390c75a48a8d9d8f39b7636 Reviewed-on: https://go-review.googlesource.com/5286Reviewed-by: Russ Cox <rsc@golang.org>
-
Russ Cox authored
That is, I accidentally dropped this change of Austin's when preparing my CL. I blame Git. Change-Id: I9dd772c84edefad96c4b16785fdd2dea04a4a0d6 Reviewed-on: https://go-review.googlesource.com/5320Reviewed-by: Austin Clements <austin@google.com>
-
Russ Cox authored
Move code from malloc1.go, malloc2.go, mem.go, mgc0.go into appropriate locations. Factor mgc.go into mgc.go, mgcmark.go, mgcsweep.go, mstats.go. A lot of this code was in certain files because the right place was in a C file but it was written in Go, or vice versa. This is one step toward making things actually well-organized again. Change-Id: I6741deb88a7cfb1c17ffe0bcca3989e10207968f Reviewed-on: https://go-review.googlesource.com/5300Reviewed-by: Austin Clements <austin@google.com> Reviewed-by: Rick Hudson <rlh@golang.org>
-
Russ Cox authored
They use too much memory in the current Go compiler draft. This should fix some builders. Reenabling is #9933. Change-Id: Ib5ef348b2c55d2012ffed765f2a6df99dec171f4 Reviewed-on: https://go-review.googlesource.com/5302Reviewed-by: Russ Cox <rsc@golang.org>
-
Dmitry Vyukov authored
The flag disables stripping of runtime frames in profiles. This is useful when analyzing runtime itself. Before: $ go tool pprof --text --alloc_objects --lines fmt.test /tmp/mprof flat flat% sum% cum cum% 2768 79.65% 79.65% 32768 79.65% fmt_test.TestComplexFormatting fmt/fmt_test.go:744 6554 15.93% 95.58% 6554 15.93% regexp/syntax.(*compiler).rune regexp/syntax/compile.go:267 1820 4.42% 100% 1820 4.42% runtime.malg runtime/proc1.go:1977 After: $ go tool pprof --text --alloc_objects --lines --runtime fmt.test /tmp/mprof flat flat% sum% cum cum% 32768 79.65% 79.65% 32768 79.65% runtime.convT2E runtime/iface.go:139 6554 15.93% 95.58% 6554 15.93% runtime.growslice runtime/slice.go:89 1820 4.42% 100% 1820 4.42% runtime.malg runtime/proc1.go:1977 Change-Id: If468dfa5c5bbd0809c45a58d912d3115fac009ed Reviewed-on: https://go-review.googlesource.com/5291Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
-
Josh Bleecher Snyder authored
Fixes #9927 Change-Id: I2114cc21f7a4772e3d42bcad9642a8a545cd8e16 Reviewed-on: https://go-review.googlesource.com/5285Reviewed-by: Minux Ma <minux@golang.org>
-
Austin Clements authored
Until recently, struct workbuf had only lfnode and uintptr fields before the obj array to make it convenient to compute the size of the obj array. It slowly grew more fields until this became inconvenient enough that it was restructured to make the size computation easy. Now the size computation doesn't care what the field types are, so switch to more natural types. Change-Id: I966140ba7ebb4aeb41d5c66d9d2a3bdc17dd4bcf Reviewed-on: https://go-review.googlesource.com/5262Reviewed-by: Russ Cox <rsc@golang.org>
-
Austin Clements authored
This converts the garbage collector from directly manipulating work buffers to using the new gcWork abstraction. The previous management of work buffers was rather ad hoc. As a result, switching to the gcWork abstraction changes many details of work buffer management. If greyobject fills a work buffer, it can now pull from work.partial in addition to work.empty. Previously, gcDrain started with a partial or empty work buffer and fetched an empty work buffer if it filled its current buffer (in greyobject). Now, gcDrain starts with a full work buffer and fetches an partial or empty work buffer if it fills its current buffer (in greyobject). The original behavior was bad because gcDrain would immediately drop the empty work buffer returned by greyobject and fetch a full work buffer, which greyobject was likely to immediately overflow, fetching another empty work buffer, etc. The new behavior isn't great at the start because greyobject is likely to immediately overflow the full buffer, but the steady-state behavior should be more stable. Both before and after this change, gcDrain fetches a full work buffer if it drains its current buffer. Basically all of these choices are bad; the right answer is to use a dual work buffer scheme. Previously, shade always fetched a work buffer (though usually from m.currentwbuf), even if the object was already marked. Now it only fetches a work buffer if it actually greys an object. Change-Id: I8b880ed660eb63135236fa5d5678f0c1c041881f Reviewed-on: https://go-review.googlesource.com/5232Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
-
Austin Clements authored
This introduces a producer/consumer abstraction for GC work pointers that internally handles the details of filling, draining, and shuffling work buffers. In addition to simplifying the GC code, this should make it easy for us to change how we use work buffers, including cleaning up how we use the work.partial queue, reintroducing a FIFO lookahead cache, adding prefetching, and using dual buffers to avoid flapping. This commit doesn't change any existing code. The following commit will switch the garbage collector from explicit workbuf manipulation to gcWork. Change-Id: Ifbfe5fff45bf0362d6d7c3cecb061f0c9874077d Reviewed-on: https://go-review.googlesource.com/5231Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
-
Austin Clements authored
Change-Id: If7729b3c7df6dc7fcd41f293e2ef2472c769fe8b Reviewed-on: https://go-review.googlesource.com/5261Reviewed-by: Rick Hudson <rlh@golang.org>
-
Ryan Seys authored
Change-Id: I73450aeb59571f3285ff59ae214739e1866c9aa0 Reviewed-on: https://go-review.googlesource.com/5270Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Rob Pike authored
Fairly straightforward. A couple of unusual addressing tricks. Also added the ability to write R(10) to mean R10. PPC64 uses this for a couple of large register spaces. It appears for ARM now as well, since I saw some uses of that before, although I rewrote them in our source. I could put it in for 386 and amd64 but it's not worth it. Change-Id: I3ffd7ffa62d511b95b92c3c75b9f1d621f5393b6 Reviewed-on: https://go-review.googlesource.com/5282Reviewed-by: Russ Cox <rsc@golang.org>
-
Nigel Tao authored
frames. Fixes #9888. Change-Id: I60f1d843e72e1b7bc77ab984f149c9ddb5258a06 Reviewed-on: https://go-review.googlesource.com/5251Reviewed-by: Rob Pike <r@golang.org>
-
Rob Pike authored
References to FP must now have a symbol. Change-Id: I3f06b99cc48cbd4ccd6f23f2e4b0830af40f7f3d Reviewed-on: https://go-review.googlesource.com/5281Reviewed-by: Russ Cox <rsc@golang.org>
-
Rob Pike authored
Oversight in 9a: did not set the static bit in the assembler for symbols with <>. Change-Id: Id508dcd3ed07733e60395aefa86d0035faab14a9 Reviewed-on: https://go-review.googlesource.com/5280Reviewed-by: Russ Cox <rsc@golang.org>
-