- 26 Feb, 2013 14 commits
-
-
Anthony Martin authored
R=minux.ma, rsc, akumar, bradfitz CC=golang-dev https://golang.org/cl/7313070
-
Akshat Kumar authored
Adjust the exit status string for Plan 9. Upon allocating >100 file descriptors, Plan 9 raises a warning. Moreover, the Go runtime for 32-bit version of Plan 9 keeps /dev/bintime open for its implementation of runtime.nanotime(). This change accounts for these things in TestExtraFiles. R=rsc, rminnich, ality, bradfitz CC=golang-dev https://golang.org/cl/7363056
-
Anthony Martin authored
Also, I synced the rc files with changes that have been made to make.bash, etc. R=seed, rminnich, r CC=golang-dev https://golang.org/cl/7389049
-
Anthony Martin authored
R=seed, rminnich, r, minux.ma CC=golang-dev https://golang.org/cl/7397059
-
Robert Griesemer authored
Context.Alignof/Offsetsof/Sizeof now provide means to customize the type checker for a given platform. - provide Context.Offsetsof to specify the offsets of struct fields - use the correct sizes for ints, uint, uintptrs in constant computations - moved all size computations into separate file (sizes.go) - fixed a bug with string constant slicing R=adonovan, axwalk CC=golang-dev https://golang.org/cl/7363054
-
Robert Griesemer authored
- imported objects don't have position information - gc exported data contains non-exported objects at the top-level, guard against them - better error message when dot-imports conflict with local declarations R=adonovan, r CC=golang-dev https://golang.org/cl/7379052
-
Robert Griesemer authored
R=adonovan, r CC=golang-dev https://golang.org/cl/7376055
-
Cosmos Nicolaou authored
pkg/go/doc: move BUG notes from Package.Bugs to the general Package.Notes field. Removing .Bugs would break existing code so it's left in for now. R=gri, gri, gary.burd, dsymonds, rsc, kevlar CC=golang-dev https://golang.org/cl/7341053
-
Alex Brainman authored
Fixes #4760. R=golang-dev, minux.ma, bradfitz CC=golang-dev https://golang.org/cl/7312053
-
Akshat Kumar authored
Separates the implementation of nanotime on 64-bit version of Plan 9 from that on the 32-bit version. The former uses a syscall. R=rsc, rminnich, ality CC=golang-dev https://golang.org/cl/7379051
-
Nigel Tao authored
R=dr.volker.dobler CC=golang-dev https://golang.org/cl/7398049
-
Rob Pike authored
Also restores the checking of _test.go files, which disappeared as a result of the package-at-a-time change. Fixes #4895. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/7399051
-
Akshat Kumar authored
Functions for representing network connections as files and vice versa, on Plan 9. Representing network connections as files is not so straight-forward, because a network connection on Plan 9 is represented by a host of files rather than a single file descriptor (as is the case on UNIX). We use the type system to distinguish between listeners and connections, returning the control file in the former case and the data file in the latter case. R=rsc, rminnich, ality, akumar, bradfitz CC=golang-dev https://golang.org/cl/7235068
-
Rob Pike authored
Then mark them with a build tag so they're not compiled into the binary. They are called test_*.go rather than *_test.go because they are not for go test. Use make test to test the command. R=golang-dev, adg CC=golang-dev https://golang.org/cl/7377052
-
- 25 Feb, 2013 22 commits
-
-
Rémy Oudompheng authored
Fixes #4781. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/7365056
-
Rémy Oudompheng authored
Composite literals using the &T{} form were incorrectly exported, leading to weird errors at import time. Fixes #4879. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/7395054
-
Rémy Oudompheng authored
This avoids an allocation when closures are used as "macros", in Walk idioms, or as argument to defer. benchmark old ns/op new ns/op delta BenchmarkSearchWrappers 1171 354 -69.77% BenchmarkCallClosure 3 3 -12.54% BenchmarkCallClosure1 119 7 -93.95% BenchmarkCallClosure2 183 74 -59.18% BenchmarkCallClosure3 187 75 -59.57% BenchmarkCallClosure4 187 76 -58.98% Compared to Go 1: benchmark old ns/op new ns/op delta BenchmarkSearchWrappers 3208 354 -88.97% Fixes #3520. R=daniel.morsing, bradfitz, minux.ma, dave, rsc CC=golang-dev https://golang.org/cl/7397056
-
Shenghou Ma authored
Fixes #4858. R=golang-dev, bradfitz, r, rsc CC=golang-dev https://golang.org/cl/7387044
-
Andrew Gerrand authored
Fixes #4903. R=golang-dev, daniel.morsing, dave, r CC=golang-dev https://golang.org/cl/7388056
-
Andrew Gerrand authored
Fixes #4810. R=golang-dev, r CC=golang-dev https://golang.org/cl/7401050
-
Shenghou Ma authored
Fixes #3747. Update #4912 This CL adds gotype into .5 object file. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/7376054
-
Akshat Kumar authored
Syscalls return `-1' on error and the representation is always 32-bits. The `$-1' literal in 64-bit assembly is always the 64-bit representation. So this change makes sure that we always do a 32-bit comparison when checking for error. Also makes sure that in the error case, we return a 64-bit `-1' from runtime.seek. Fixes the arithmetic for handling the error-string in runtime.Syscall6. R=golang-dev, rminnich, rsc, ality, minux.ma CC=golang-dev https://golang.org/cl/7399052
-
Dmitriy Vyukov authored
sigprocmask() is process-wide on darwin, so two concurrent libcgo_sys_thread_start() can result in all signals permanently blocked, which in particular blocks handling of nil derefs. Fixes #4833. R=golang-dev, dave, rsc CC=golang-dev https://golang.org/cl/7324058
-
Andrew Gerrand authored
R=golang-dev, r CC=golang-dev https://golang.org/cl/7372048
-
Brad Fitzpatrick authored
Don't reference the non-portable syscall.Signal(0). Maybe they'll pass too. Untested. plan9 bit from Akshat Kumar. R=golang-dev, akumar CC=golang-dev https://golang.org/cl/7370049
-
Russ Cox authored
Now that the type information is in TYPE instructions that are not rewritten by the optimization passes, we don't have to try to preserve the type information (no longer) attached to MOV instructions. R=ken2 CC=golang-dev https://golang.org/cl/7402054
-
Jan Ziak authored
This changeset adds a mostly-precise garbage collection of channels. The garbage collection support code in the linker isn't recognizing channel types yet. Fixes issue http://stackoverflow.com/questions/14712586/memory-consumption-skyrocket R=dvyukov, rsc, bradfitz CC=dave, golang-dev, minux.ma, remyoudompheng https://golang.org/cl/7307086
-
Rob Pike authored
R=golang-dev, iant CC=golang-dev https://golang.org/cl/7393059
-
Shenghou Ma authored
Regenerate cmd/gc/builtin.c. Fixes #4908. R=rsc CC=golang-dev https://golang.org/cl/7383053
-
Francisco Souza authored
Now that vet does typechecking, it should use only pkg.gofiles, instead of pkg.allgofiles. Ignored files should not be checked by vet, because they wouldn't typecheck. Fixes #4906. R=rsc, r CC=golang-dev https://golang.org/cl/7401051
-
Russ Cox authored
R=ken2 CC=golang-dev https://golang.org/cl/7365057
-
Russ Cox authored
The type information is (and for years has been) included as an extra field in the address chunk of an instruction. Unfortunately, suppose there is a string at a+24(FP) and we have an instruction reading its length. It will say: MOVQ x+32(FP), AX and the type of *that* argument is int (not slice), because it is the length being read. This confuses the picture seen by debuggers and now, worse, by the garbage collector. Instead of attaching the type information to all uses, emit an explicit list of TYPE instructions with the information. The TYPE instructions are no-ops whose only role is to provide an address to attach type information to. For example, this function: func f(x, y, z int) (a, b string) { return } now compiles into: --- prog list "f" --- 0000 (/Users/rsc/x.go:3) TEXT f+0(SB),$0-56 0001 (/Users/rsc/x.go:3) LOCALS , 0002 (/Users/rsc/x.go:3) TYPE x+0(FP){int},$8 0003 (/Users/rsc/x.go:3) TYPE y+8(FP){int},$8 0004 (/Users/rsc/x.go:3) TYPE z+16(FP){int},$8 0005 (/Users/rsc/x.go:3) TYPE a+24(FP){string},$16 0006 (/Users/rsc/x.go:3) TYPE b+40(FP){string},$16 0007 (/Users/rsc/x.go:3) MOVQ $0,b+40(FP) 0008 (/Users/rsc/x.go:3) MOVQ $0,b+48(FP) 0009 (/Users/rsc/x.go:3) MOVQ $0,a+24(FP) 0010 (/Users/rsc/x.go:3) MOVQ $0,a+32(FP) 0011 (/Users/rsc/x.go:4) RET , The { } show the formerly hidden type information. The { } syntax is used when printing from within the gc compiler. It is not accepted by the assemblers. The same type information is now included on global variables: 0055 (/Users/rsc/x.go:15) GLOBL slice+0(SB){[]string},$24(AL*0) This more accurate type information fixes a bug in the garbage collector's precise heap collection. The linker only cares about globals right now, but having the local information should make things a little nicer for Carl in the future. Fixes #4907. R=ken2 CC=golang-dev https://golang.org/cl/7395056
-
Robert Griesemer authored
See also CL 7383051 for details. R=adonovan, bradfitz CC=golang-dev https://golang.org/cl/7378063
-
Roger Peppe authored
It's accessed without mutex protection in a different goroutine from the one that sets it. Also make sure that Client.Call after Client.Close will reliably return ErrShutdown, and that clients see ErrShutdown rather than io.EOF when appropriate. Suggestions welcome for a way to reliably test the mutex issue. R=r, iant CC=golang-dev https://golang.org/cl/7338045
-
Mikio Hara authored
This CL addresses the comments on CL 7368046 that I've overlooked. Update #4866. R=golang-dev, dave CC=golang-dev https://golang.org/cl/7369052
-
Rémy Oudompheng authored
Fixes #4888. R=golang-dev, gri CC=golang-dev https://golang.org/cl/7383051
-
- 24 Feb, 2013 4 commits
-
-
Volker Dobler authored
Added the command line flag -ex to godoc to print examples in text output. Samples from the generated output: $ godoc -ex strings Index ... func Index(s, sep string) int Index returns the index of the first instance of sep in s, or -1 if sep is not present in s. Example: fmt.Println(strings.Index("chicken", "ken")) fmt.Println(strings.Index("chicken", "dmr")) // Output: // 4 // -1 ... $ godoc -ex container/heap ... package heap import "container/heap" Package heap provides heap operations for any type that implements heap.Interface. A heap is a tree with the property that each node is the minimum-valued node in its subtree. Example: // This example demonstrates an integer heap built using the heap interface. package heap_test import ( "container/heap" "fmt" ... Example: // This example demonstrates a priority queue built using the heap interface. package heap_test import ( "container/heap" "fmt" ) ... Fixes #3587. R=golang-dev, minux.ma, adg, rsc, gri CC=golang-dev https://golang.org/cl/7356043
-
Rob Pike authored
R=golang-dev, kamil.kisiel, bradfitz CC=golang-dev https://golang.org/cl/7369049
-
Rob Pike authored
Made possible by go/types, as long as the package type-checks OK. Fixes #4684. R=golang-dev CC=golang-dev https://golang.org/cl/7407045
-
Rémy Oudompheng authored
The heuristics for BitLen of a product of randomly generated primes are wrong, and the generated candidates never match the required size for nprimes > 10. This corner case is not expected to be used in practice. R=agl CC=golang-dev https://golang.org/cl/7397052
-