- 20 Nov, 2014 2 commits
-
-
Russ Cox authored
This will be the last dev.power64 merge; we'll finish on dev.cc. TBR=austin CC=golang-codereviews https://golang.org/cl/175420043
-
Alex Brainman authored
LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/177090043
-
- 19 Nov, 2014 4 commits
-
-
Austin Clements authored
struct siginfo_t's si_addr field is part of a union. Previously, we represented this union in Go using an opaque byte array and accessed the si_addr field using unsafe (and wrong on 386 and arm!) pointer arithmetic. Since si_addr is the only field we use from this union, this replaces the opaque byte array with an explicit declaration of the si_addr field and accesses it directly. LGTM=minux, rsc R=rsc, minux CC=golang-codereviews https://golang.org/cl/179970044
-
Austin Clements authored
Previously, this used the top 8 bits of an instruction as a sort-of opcode and ignored the top two bits of the relative PC. This worked because these jumps are always negative and never big enough for the top two bits of the relative PC (also the bottom 2 bits of the sort-of opcode) to be anything other than 0b11, but the code is confusing because it doesn't match the actual structure of the instruction. Instead, use the real 6 bit opcode and use all 24 bits of relative PC. LGTM=rsc R=rsc, dave CC=golang-codereviews https://golang.org/cl/179960043
-
Austin Clements authored
Previously, lfstack assumed Linux limited user space addresses to 43 bits on Power64 based on a paper from 2001. It turns out the limit is now 46 bits, so lfstack was truncating pointers. Raise the limit to 48 bits (for some future proofing and to make it match amd64) and add a self-test that will fail in a useful way if ever unpack(pack(x)) != x. With this change, dev.cc passes all.bash on power64le. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/174430043
-
Alex Brainman authored
LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/176970043
-
- 18 Nov, 2014 10 commits
-
-
Austin Clements authored
This is the power64 component of CL 174950043. With this, dev.cc compiles on power64 and power64le and passes most tests if GOGC=off (but crashes in go_bootstrap if GC is on). LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/175290043
-
Austin Clements authored
Fix a constant conversion error. Add set_{sec,nsec} for timespec and set_usec for timeval. Fix type of sigaltstackt.ss_size. LGTM=rsc R=rsc, bradfitz CC=golang-codereviews https://golang.org/cl/180840043
-
Austin Clements authored
The power64 equivalent of CL 174860043 LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/179890043
-
Austin Clements authored
The power64 equivalent of CL 168510043 LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/178940043
-
Austin Clements authored
The power64 equivalent of CL 168500044 LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/175280043
-
Austin Clements authored
Previously, 9a was the only assembler that had a different name for RET, causing unnecessary friction in simple files that otherwise assembled on all architectures. Add RET so these work on 9a. This also renames "R30" to "g" to avoid unintentionally clobbering g in assembly code. This parallels a change made to 5a. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/178030043
-
Austin Clements authored
LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/175940043
-
Russ Cox authored
Eventually I'd like almost everything cmd/dist generates to be done with 'go generate' and checked in, to simplify the bootstrap process. The only thing cmd/dist really needs to do is write things like the current experiment info and the current version. This is a first step toward that. It replaces the _NaCl etc constants with generated ones goos_nacl, goos_darwin, goarch_386, and so on. LGTM=dave, austin R=austin, dave, bradfitz CC=golang-codereviews, iant, r https://golang.org/cl/174290043
-
Russ Cox authored
LGTM=austin R=austin CC=golang-codereviews https://golang.org/cl/176990043
-
Austin Clements authored
LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/177940043
-
- 17 Nov, 2014 2 commits
-
-
David du Colombier authored
warning: src/cmd/gc/walk.c:1769 set and not used: on LGTM=rsc R=rsc, minux CC=golang-codereviews https://golang.org/cl/175850043
-
Alex Brainman authored
LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/169710043
-
- 16 Nov, 2014 1 commit
-
-
David du Colombier authored
This change works around the "out of fixed registers" issue with the Plan 9 C compiler on 386, introduced by the Bits change to uint64 in CL 169060043. The purpose of this CL is to be able to properly follow the conversion of the Plan 9 runtime to Go on the Plan 9 builders. This CL could be reverted once the Go compilers will be converted to Go. Thanks to Nick Owens for investigating this issue. LGTM=rsc R=rsc CC=austin, golang-codereviews, mischief https://golang.org/cl/177860043
-
- 15 Nov, 2014 1 commit
-
-
Dave Cheney authored
* _sfloat dispatches to runtime._sfloat2 with the Go calling convention, so the seecond argument is a [15]uint32, not a *[15]uint32. * adjust _sfloat2 to return the new pc in 68(R13) as expected. LGTM=rsc R=minux, austin, rsc CC=golang-codereviews https://golang.org/cl/174160043
-
- 14 Nov, 2014 16 commits
-
-
Dave Cheney authored
It's rather unsporting of the kernel to give us a pointer to unaligned memory. This fixes one crash, the next crash occurs in the soft float emulation. LGTM=minux, rsc, austin R=minux, rsc, austin CC=golang-codereviews https://golang.org/cl/177730043
-
David du Colombier authored
warning: src/liblink/asm9.c:501 set and not used: bflag warning: src/liblink/list9.c:259 format mismatch .5lux INT, arg 4 warning: src/liblink/list9.c:261 format mismatch .5lux INT, arg 3 warning: src/liblink/list9.c:319 more arguments than format VLONG warning: src/liblink/obj9.c:222 set and not used: autoffset LGTM=bradfitz, austin R=rsc, bradfitz CC=austin, golang-codereviews https://golang.org/cl/175070043
-
Austin Clements authored
a->class is a char. Boo hoo. LGTM=minux R=rsc, minux CC=golang-codereviews https://golang.org/cl/169630043
-
Russ Cox authored
Fixes build. Tested that all these systems can make.bash. TBR=austin CC=golang-codereviews https://golang.org/cl/177770043
-
Austin Clements authored
The pretty printers for these make it hard to understand what's actually in the fields of these structures. These "ugly printers" show exactly what's in each field, which can be useful for understanding and debugging code. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/175780043
-
Russ Cox authored
While we are here, add the linux/power64 version. LGTM=austin R=austin CC=aram, dvyukov, golang-codereviews https://golang.org/cl/177750043
-
Russ Cox authored
TBR=austin CC=golang-codereviews https://golang.org/cl/176760044
-
Joel Sing authored
LGTM=rsc R=golang-codereviews, rsc CC=golang-codereviews https://golang.org/cl/176750043
-
Russ Cox authored
This is to reduce the delta between dev.cc and dev.garbage to just garbage collector changes. These are the files that had merge conflicts and have been edited by hand: malloc.go mem_linux.go mgc.go os1_linux.go proc1.go panic1.go runtime1.go LGTM=austin R=austin CC=golang-codereviews https://golang.org/cl/174180043
-
Austin Clements authored
This is more complicated than the other enums because the D_* enums are full of explicit initializers and repeated values. This tries its best. (This will get much cleaner once we tease these constants apart better.) LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/166700043
-
Austin Clements authored
Theses were very helpful in understanding the regions and register selection when porting regopt to 9g. Add them to the other compilers (and improve 9g's successor debug print). LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/174130043
-
Joel Sing authored
LGTM=rsc R=golang-codereviews, bradfitz, rsc CC=golang-codereviews https://golang.org/cl/173200044
-
Austin Clements authored
I added several comments to the regopt-related structures when porting it to 9g. Synchronize those comments back in to the other compilers. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/175720043
-
Aram Hăvărneanu authored
This change fixes the Solaris port. LGTM=dave, rsc R=rsc, dave CC=brad, golang-codereviews https://golang.org/cl/168600045
-
Alex Brainman authored
LGTM=rsc R=rsc CC=dvyukov, golang-codereviews https://golang.org/cl/172530043
-
Joel Sing authored
LGTM=rsc R=rsc, bradfitz CC=golang-codereviews https://golang.org/cl/171660043
-
- 13 Nov, 2014 4 commits
-
-
Austin Clements authored
This adds registerization support to 9g equivalent to what the other compilers have. LGTM=rsc R=rsc, dave CC=golang-codereviews https://golang.org/cl/174980043
-
Austin Clements authored
None of the other compilers have a tag for this enum. Cleaning all of this up to use proper types will happen after the conversion. LGTM=minux, rsc R=rsc, minux CC=golang-codereviews https://golang.org/cl/166690043
-
Austin Clements authored
Previously, the 6g and 8g registerizers scanned for used registers beyond the end of a region being considered for registerization. This ancient artifact was copied from the C compilers, where it was probably necessary to track implicitly used registers. In the Go compilers it's harmless (because it can only over-restrict the set of available registers), but no longer necessary because the Go compilers correctly track register use/set information. The consequences of this extra scan were (at least) that 1) we would not consider allocating the AX register if there was a deferproc call in the future because deferproc uses AX as a return register, so we see the use of AX, but don't track that AX is set by the CALL, and 2) we could not consider allocating the DX register if there was a MUL in the future because MUL implicitly sets DX and (thanks to an abuse of copyu in this code) we would also consider DX used. This commit fixes these problems by nuking this code. LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/174110043
-
Joel Sing authored
This was originally done to the C port in rev 17d3b45534b5 and seemingly got lost during the conversion. LGTM=bradfitz R=rsc, bradfitz CC=golang-codereviews https://golang.org/cl/167700043
-