- 16 Mar, 2015 11 commits
-
-
Aram Hăvărneanu authored
Change-Id: Ia817e78d9678a365a76fea5e4dbe8f8a5aab0bac Reviewed-on: https://go-review.googlesource.com/7143Reviewed-by: Russ Cox <rsc@golang.org>
-
Aram Hăvărneanu authored
Change-Id: Ibda6a5bedaff57fd161d63fc04ad260931d34413 Reviewed-on: https://go-review.googlesource.com/7142Reviewed-by: Russ Cox <rsc@golang.org>
-
Aram Hăvărneanu authored
Change-Id: I92b4301b64054272d78dd15c16bf6ff592acad26 Reviewed-on: https://go-review.googlesource.com/7141Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Dave Cheney <dave@cheney.net> Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Aram Hăvărneanu authored
Change-Id: Ia6c3d5e7a32b20e3c45d9485e66b48cd02644280 Reviewed-on: https://go-review.googlesource.com/7140Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Dave Cheney <dave@cheney.net> Reviewed-by: Russ Cox <rsc@golang.org>
-
Aram Hăvărneanu authored
No peep optimizer yet. Change-Id: Ifa5f993cd6ac5e34783c0df41faf772fbce96ae2 Reviewed-on: https://go-review.googlesource.com/7049Reviewed-by: Russ Cox <rsc@golang.org>
-
Aram Hăvărneanu authored
Only internal linking without cgo is supported for now. Change-Id: I91eb1572c1ccc805db62fc4c29080df98797d51a Reviewed-on: https://go-review.googlesource.com/7048Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Aram Hăvărneanu authored
Pre/post-index addressing modes with writeback use .W and .P instruction suffixes, like on ARM. Complex addressing modes are not supported yet. Change-Id: I537a1c3fe5b057c0812662677d0010bc8c468ffb Reviewed-on: https://go-review.googlesource.com/7047Reviewed-by: Rob Pike <r@golang.org>
-
Aram Hăvărneanu authored
ARM64 (ARMv8) has 32 general purpose, 64-bit integer registers (R0-R31), 32 64-bit scalar floating point registers (F0-F31), and 32 128-bit vector registers (unused, V0-V31). R31 is either the stack pointer (RSP), or the zero register (ZR), depending on the instruction. Note the distinction between the hardware stack pointer, RSP, and the virtual stack pointer SP. The (hardware) stack pointer must be 16-byte aligned at all times; the RSP register itself must be aligned, offset(RSP) only has to have natural alignment. Instructions are fixed-width, and are 32-bit wide. ARM64 supports ARMv7 too (32-bit ARM), but not in the same process. In general, there is not much in common between 32-bit ARM and ARM64, it's a new architecture. All implementations have floating point instructions. This change adds a Prog.To3 field analogous to Prog.To. It is used by exclusive load/store instructions such as STLXR which read from one register, and write to both a register and a memory address. STLXRW R1, (R0), R3 This will store the word contained in R1 to the memory address pointed by R0. R3 will be updated with the status result of the store. It is used to implement atomic operations. No other changes are made to the portable Prog and Addr structures. Change-Id: Ie839029aa5265bbad35769d9689eca11e1c48c47 Reviewed-on: https://go-review.googlesource.com/7046Reviewed-by: Russ Cox <rsc@golang.org>
-
Aram Hăvărneanu authored
ARM64 doesn't have the old assembler. Change-Id: I9253271029440e2b7f2813d3e98a7d2e7a65bfbc Reviewed-on: https://go-review.googlesource.com/7045Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Austin Clements <austin@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Aram Hăvărneanu authored
Change-Id: I51db032e3dc2762d94e4000914b30813946250f7 Reviewed-on: https://go-review.googlesource.com/7044Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Dave Cheney <dave@cheney.net> Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Aram Hăvărneanu authored
Change-Id: I56297aac4ee282fd117ec525b88dee4769477111 Reviewed-on: https://go-review.googlesource.com/7560Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
- 15 Mar, 2015 7 commits
-
-
Shenghou Ma authored
Change-Id: I7bac7b659b7ff425c6f896c286d0f89f05eff6bd Reviewed-on: https://go-review.googlesource.com/7601Reviewed-by: Minux Ma <minux@golang.org>
-
Joel Sing authored
Change-Id: I45383de6d627be35f40e07a9008b6773f5c2b0d0 Reviewed-on: https://go-review.googlesource.com/7613Reviewed-by: Minux Ma <minux@golang.org>
-
Joel Sing authored
OpenBSD/arm only currently supports softfloat, hence make the default GOARM=5. Change-Id: Ie3e8f457f001b3803d17ad9bc4ab957b2da18c6a Reviewed-on: https://go-review.googlesource.com/7614Reviewed-by: Minux Ma <minux@golang.org>
-
Joel Sing authored
Change-Id: I9fe15781f52e0d16707a9c021cf800319721a606 Reviewed-on: https://go-review.googlesource.com/4913Reviewed-by: Minux Ma <minux@golang.org>
-
Joel Sing authored
Change-Id: I2bc101aa19172e705ee4de5f3c73a8b4bbf4fa6f Reviewed-on: https://go-review.googlesource.com/4912Reviewed-by: Minux Ma <minux@golang.org>
-
Joel Sing authored
Change-Id: Ibb7e4f6b95b7a9782a47221cafbe4f20dd77fd38 Reviewed-on: https://go-review.googlesource.com/7583Reviewed-by: Minux Ma <minux@golang.org>
-
Shenghou Ma authored
Fixes #10167. Change-Id: Ib6c6b2b5dde47744b69f65482a21964fa3c12090 Reviewed-on: https://go-review.googlesource.com/7600Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
- 14 Mar, 2015 8 commits
-
-
Joel Sing authored
DragonFlyBSD dropped support for i386 in 4.0 and there is no longer a dragonfly/386 - as such, remove the Go port. Fixes #8951 Fixes #7580 Fixes #7421 Change-Id: I69022ab2262132e8f97153f14dc8c37c98527008 Reviewed-on: https://go-review.googlesource.com/7543Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Dave Cheney <dave@cheney.net> Reviewed-by: Minux Ma <minux@golang.org> Run-TryBot: Joel Sing <jsing@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
Change-Id: I91f9b5280e08e005f5a891aaa249267c211d814b Reviewed-on: https://go-review.googlesource.com/7592Reviewed-by: Minux Ma <minux@golang.org>
-
Ian Lance Taylor authored
Fixes #10118. Change-Id: I4a2e6748db609c6eed1d68c824b81c59bd7b875c Reviewed-on: https://go-review.googlesource.com/7590Reviewed-by: Minux Ma <minux@golang.org>
-
Ian Lance Taylor authored
Change-Id: Ieb13359c5bbe26bbf7baaaa8eb63d5e90bdefdd8 Reviewed-on: https://go-review.googlesource.com/7591Reviewed-by: Minux Ma <minux@golang.org>
-
Michael Hudson-Doyle authored
Just little bits and pieces I noticed were unused in passing, and some more found with https://github.com/opennota/check. Change-Id: I199fecdbf8dc2ff9076cf4ea81395275c7f171c3 Reviewed-on: https://go-review.googlesource.com/7033Reviewed-by: Minux Ma <minux@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Matthew Dempsky authored
Change-Id: I3096a7497955bc475739739ee23be387e9162867 Reviewed-on: https://go-review.googlesource.com/7210 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Robert Griesemer authored
Float.Cmp used to return a value < 0, 0, or > 0 depending on how arguments x, y compared against each other. With the possibility of NaNs, the result was changed into an Accuracy (to include Undef). Consequently, Float.Cmp results could still be compared for (in-) equality with 0, but comparing if < 0 or > 0 would provide the wrong answer w/o any obvious notice by the compiler. This change wraps Float.Cmp results into a struct and accessors are used to access the desired result. This prevents incorrect use. Change-Id: I34e6a6c1859251ec99b5cf953e82542025ace56f Reviewed-on: https://go-review.googlesource.com/7526Reviewed-by: Rob Pike <r@golang.org>
-
Mikio Hara authored
Fixes #10068. Change-Id: I1f12225ee16b0090b87403931c0bc0157f068309 Reviewed-on: https://go-review.googlesource.com/6555Reviewed-by: Minux Ma <minux@golang.org>
-
- 13 Mar, 2015 9 commits
-
-
Matthew Dempsky authored
namebuf was a global char buffer in the C version of gc, which was useful for providing common storage for constructing symbol and file names. However, now that it's just a global Go string and the string data is dynamically allocated anyway, it doesn't serve any purpose except to force extra write barriers everytime it's assigned to. Also, introduce Lookupf(fmt, args...) as shorthand for Lookup(fmt.Sprintf(fmt, args...)), which was a very common pattern for using namebuf. Passes "go build -toolexec 'toolstash -cmp' -a std". Notably, this CL shrinks 6g's text section by ~15kB: $ size toolstash/6g tool/linux_amd64/6g text data bss dec hex filename 4600805 605968 342988 5549761 54aec1 toolstash/6g 4585547 605968 342956 5534471 547307 tool/linux_amd64/6g Change-Id: I98abb44fc7f43a2e2e48425cc9f215cd0be37442 Reviewed-on: https://go-review.googlesource.com/7080Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Dave Cheney authored
Update cmd/7g to match the other compilers. Fixes build break in rev 6582d1cf. Change-Id: I449613cf348254e9de6cc7a6b7737e43ea7d10fe Reviewed-on: https://go-review.googlesource.com/7580Reviewed-by: Dave Cheney <dave@cheney.net>
-
Michael Hudson-Doyle authored
The argument is never consulted apart from passing it to recursive calls. So delete it. Change-Id: Ia15eefb6385b3c99ea4def88f564f4e5a94c68ab Reviewed-on: https://go-review.googlesource.com/7032Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Change-Id: I9ea6d4d8a9c1c63de36f2f3871dd5ac9201c0aac Reviewed-on: https://go-review.googlesource.com/7523Reviewed-by: Minux Ma <minux@golang.org>
-
Robert Griesemer authored
Change-Id: Ib42f75c03573cec16801b79a6eb9b1b542028f4f Reviewed-on: https://go-review.googlesource.com/7524Reviewed-by: Alan Donovan <adonovan@google.com>
-
Robert Griesemer authored
Change-Id: If335d45ea1ab6c8aeeb47515f97680e2c1d651f3 Reviewed-on: https://go-review.googlesource.com/7522Reviewed-by: Alan Donovan <adonovan@google.com>
-
Nigel Tao authored
Fixes #10154 Change-Id: Ibb8ea9bcf512e7639c57a6f17afbe4495fa329cd Reviewed-on: https://go-review.googlesource.com/7494Reviewed-by: Minux Ma <minux@golang.org>
-
Joel Sing authored
The kern.rthreads sysctl has not existed for a long time - there is no way to disable rthreads and __tfork no longer returns ENOTSUP. Change-Id: Ia50ff01ac86ea83358e72b8f45f7818aaec1e4b1 Reviewed-on: https://go-review.googlesource.com/7490Reviewed-by: Minux Ma <minux@golang.org>
-
Joel Sing authored
Change-Id: If58ea50fbf321ae943d0890a40e0552e7bc19709 Reviewed-on: https://go-review.googlesource.com/2080Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
- 12 Mar, 2015 5 commits
-
-
Andrew Gerrand authored
Change-Id: I9f5ca101e0d2fe71cb1ca810cfeeb82c12f5f8e7 Reviewed-on: https://go-review.googlesource.com/7491Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Andrew Gerrand authored
Change-Id: I0a8b972c33e80c750ff1d63717177a5a3294a112 Reviewed-on: https://go-review.googlesource.com/7445Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Geert-Johan Riemer <gjr19912@gmail.com> Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Robert Griesemer authored
Also: - Implemented NewFloat convenience factory function (analogous to NewInt and NewRat). - Implemented convenience accessors for Accuracy values returned from Float.Cmp. - Added test and example. Change-Id: I985bb4f86e6def222d4b2505417250d29a39c60e Reviewed-on: https://go-review.googlesource.com/6970Reviewed-by: Alan Donovan <adonovan@google.com>
-
Russ Cox authored
Four spaces is what works well for both 4- and 8-space tab stops. Screen with fixed-width font and 4-space tab stops: http://imgur.com/lps5Lbb Change-Id: I7d2b813d674c3e0a68f79d63bc5d5ec5bd4f87bb Reviewed-on: https://go-review.googlesource.com/7503Reviewed-by: Rob Pike <r@golang.org>
-
Robert Griesemer authored
This is a fairly significant _internal_ representation change. Instead of encoding 0, finite, infinite, and NaN values with special mantissa and exponent values, a new (1 byte) 'form' field is used (without making the Float struct bigger). The form field permits simpler and faster case distinctions. As a side benefit, for zero and non-finite floats, fewer fields need to be set. Also, the exponent range is not the full int32 range (in the old format, infExp and nanExp were used to represent Inf and NaN values and tests for those values sometimes didn't test for the empty mantissa, so the range was reduced by 2 values). The correspondence between the old and new fields is as follows. Old representation: x neg mant exp --------------------------------------------------------------- +/-0 sign empty 0 0 < |x| < +Inf sign mantissa exponent +/-Inf sign empty infExp NaN false empty nanExp New representation (- stands for ignored fields): x neg mant exp form --------------------------------------------------------------- +/-0 sign - - zero 0 < |x| < +Inf sign mantissa exponent finite +/-Inf sign - - inf NaN - - - nan Client should not be affected by this change. Change-Id: I7e355894d602ceb23f9ec01da755fe6e0386b101 Reviewed-on: https://go-review.googlesource.com/6870Reviewed-by: Alan Donovan <adonovan@google.com>
-