Commit 99da8730 authored by Daniel Martí's avatar Daniel Martí

all: remove some double spaces from comments

Went mainly for the ones that make no sense, such as the ones
mid-sentence or after commas.

Change-Id: Ie245d2c19cc7428a06295635cf6a9482ade25ff0
Reviewed-on: https://go-review.googlesource.com/57293Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent bad6b6fa
...@@ -666,7 +666,7 @@ func (p *Parser) asmInstruction(op obj.As, cond string, a []obj.Addr) { ...@@ -666,7 +666,7 @@ func (p *Parser) asmInstruction(op obj.As, cond string, a []obj.Addr) {
} }
} }
if p.arch.Family == sys.AMD64 { if p.arch.Family == sys.AMD64 {
// 4 operand instruction have form ymm1, ymm2, ymm3/m256, imm8 // 4 operand instruction have form ymm1, ymm2, ymm3/m256, imm8
// So From3 is always just a register, so we store imm8 in Offset field, // So From3 is always just a register, so we store imm8 in Offset field,
// to avoid increasing size of Prog. // to avoid increasing size of Prog.
prog.From = a[1] prog.From = a[1]
......
...@@ -419,7 +419,7 @@ func stringVal(tv types.TypeAndValue) (string, bool) { ...@@ -419,7 +419,7 @@ func stringVal(tv types.TypeAndValue) (string, bool) {
// formatIter iterates through the string s in increasing // formatIter iterates through the string s in increasing
// index order and calls f for each format specifier '%..v'. // index order and calls f for each format specifier '%..v'.
// The arguments for f describe the specifier's index range. // The arguments for f describe the specifier's index range.
// If a format specifier contains a "*", f is called with // If a format specifier contains a "*", f is called with
// the index range for "*" alone, before being called for // the index range for "*" alone, before being called for
// the entire specifier. The result of f is the index of // the entire specifier. The result of f is the index of
// the rune at which iteration continues. // the rune at which iteration continues.
......
...@@ -878,7 +878,7 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) { ...@@ -878,7 +878,7 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
case ssa.OpAMD64LoweredNilCheck: case ssa.OpAMD64LoweredNilCheck:
// Issue a load which will fault if the input is nil. // Issue a load which will fault if the input is nil.
// TODO: We currently use the 2-byte instruction TESTB AX, (reg). // TODO: We currently use the 2-byte instruction TESTB AX, (reg).
// Should we use the 3-byte TESTB $0, (reg) instead? It is larger // Should we use the 3-byte TESTB $0, (reg) instead? It is larger
// but it doesn't have false dependency on AX. // but it doesn't have false dependency on AX.
// Or maybe allocate an output register and use MOVL (reg),reg2 ? // Or maybe allocate an output register and use MOVL (reg),reg2 ?
// That trades clobbering flags for clobbering a register. // That trades clobbering flags for clobbering a register.
......
...@@ -77,7 +77,7 @@ func convT2Istring(tab *byte, elem *any) (ret any) ...@@ -77,7 +77,7 @@ func convT2Istring(tab *byte, elem *any) (ret any)
func convT2Islice(tab *byte, elem *any) (ret any) func convT2Islice(tab *byte, elem *any) (ret any)
func convT2Inoptr(tab *byte, elem *any) (ret any) func convT2Inoptr(tab *byte, elem *any) (ret any)
// interface type assertions x.(T) // interface type assertions x.(T)
func assertE2I(typ *byte, iface any) (ret any) func assertE2I(typ *byte, iface any) (ret any)
func assertE2I2(typ *byte, iface any) (ret any, b bool) func assertE2I2(typ *byte, iface any) (ret any, b bool)
func assertI2I(typ *byte, iface any) (ret any) func assertI2I(typ *byte, iface any) (ret any)
......
...@@ -247,7 +247,7 @@ func convlit1(n *Node, t *types.Type, explicit bool, reuse canReuseNode) *Node { ...@@ -247,7 +247,7 @@ func convlit1(n *Node, t *types.Type, explicit bool, reuse canReuseNode) *Node {
return n return n
// target is invalid type for a constant? leave alone. // target is invalid type for a constant? leave alone.
case OLITERAL: case OLITERAL:
if !okforconst[t.Etype] && n.Type.Etype != TNIL { if !okforconst[t.Etype] && n.Type.Etype != TNIL {
return defaultlitreuse(n, nil, reuse) return defaultlitreuse(n, nil, reuse)
......
...@@ -769,7 +769,7 @@ func isDriveLetter(b byte) bool { ...@@ -769,7 +769,7 @@ func isDriveLetter(b byte) bool {
return 'a' <= b && b <= 'z' || 'A' <= b && b <= 'Z' return 'a' <= b && b <= 'z' || 'A' <= b && b <= 'Z'
} }
// is this path a local name? begins with ./ or ../ or / // is this path a local name? begins with ./ or ../ or /
func islocalname(name string) bool { func islocalname(name string) bool {
return strings.HasPrefix(name, "/") || return strings.HasPrefix(name, "/") ||
runtime.GOOS == "windows" && len(name) >= 3 && isDriveLetter(name[0]) && name[1] == ':' && name[2] == '/' || runtime.GOOS == "windows" && len(name) >= 3 && isDriveLetter(name[0]) && name[1] == ':' && name[2] == '/' ||
......
...@@ -3373,7 +3373,7 @@ func (s *state) canSSA(n *Node) bool { ...@@ -3373,7 +3373,7 @@ func (s *state) canSSA(n *Node) bool {
return false return false
case PPARAMOUT: case PPARAMOUT:
if s.hasdefer { if s.hasdefer {
// TODO: handle this case? Named return values must be // TODO: handle this case? Named return values must be
// in memory so that the deferred function can see them. // in memory so that the deferred function can see them.
// Maybe do: if !strings.HasPrefix(n.String(), "~") { return false } // Maybe do: if !strings.HasPrefix(n.String(), "~") { return false }
// Or maybe not, see issue 18860. Even unnamed return values // Or maybe not, see issue 18860. Even unnamed return values
......
...@@ -45,7 +45,7 @@ func copySource(v *Value) *Value { ...@@ -45,7 +45,7 @@ func copySource(v *Value) *Value {
// but we take some extra care to make sure we // but we take some extra care to make sure we
// don't get stuck in an infinite loop. // don't get stuck in an infinite loop.
// Infinite copy loops may happen in unreachable code. // Infinite copy loops may happen in unreachable code.
// (TODO: or can they? Needs a test.) // (TODO: or can they? Needs a test.)
slow := w slow := w
var advance bool var advance bool
for w.Op == OpCopy { for w.Op == OpCopy {
......
...@@ -884,7 +884,7 @@ func (s *regAllocState) regalloc(f *Func) { ...@@ -884,7 +884,7 @@ func (s *regAllocState) regalloc(f *Func) {
// Decide on registers for phi ops. Use the registers determined // Decide on registers for phi ops. Use the registers determined
// by the primary predecessor if we can. // by the primary predecessor if we can.
// TODO: pick best of (already processed) predecessors? // TODO: pick best of (already processed) predecessors?
// Majority vote? Deepest nesting level? // Majority vote? Deepest nesting level?
phiRegs = phiRegs[:0] phiRegs = phiRegs[:0]
var phiUsed regMask var phiUsed regMask
for _, v := range phis { for _, v := range phis {
......
...@@ -728,7 +728,7 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) { ...@@ -728,7 +728,7 @@ func ssaGenValue(s *gc.SSAGenState, v *ssa.Value) {
case ssa.Op386LoweredNilCheck: case ssa.Op386LoweredNilCheck:
// Issue a load which will fault if the input is nil. // Issue a load which will fault if the input is nil.
// TODO: We currently use the 2-byte instruction TESTB AX, (reg). // TODO: We currently use the 2-byte instruction TESTB AX, (reg).
// Should we use the 3-byte TESTB $0, (reg) instead? It is larger // Should we use the 3-byte TESTB $0, (reg) instead? It is larger
// but it doesn't have false dependency on AX. // but it doesn't have false dependency on AX.
// Or maybe allocate an output register and use MOVL (reg),reg2 ? // Or maybe allocate an output register and use MOVL (reg),reg2 ?
// That trades clobbering flags for clobbering a register. // That trades clobbering flags for clobbering a register.
......
...@@ -528,7 +528,7 @@ func rewriteToPcrel(ctxt *obj.Link, p *obj.Prog, newprog obj.ProgAlloc) { ...@@ -528,7 +528,7 @@ func rewriteToPcrel(ctxt *obj.Link, p *obj.Prog, newprog obj.ProgAlloc) {
var dst int16 = REG_CX var dst int16 = REG_CX
if (p.As == ALEAL || p.As == AMOVL) && p.To.Reg != p.From.Reg && p.To.Reg != p.From.Index { if (p.As == ALEAL || p.As == AMOVL) && p.To.Reg != p.From.Reg && p.To.Reg != p.From.Index {
dst = p.To.Reg dst = p.To.Reg
// Why? See the comment near the top of rewriteToUseGot above. // Why? See the comment near the top of rewriteToUseGot above.
// AMOVLs might be introduced by the GOT rewrites. // AMOVLs might be introduced by the GOT rewrites.
} }
q := obj.Appendp(p, newprog) q := obj.Appendp(p, newprog)
......
...@@ -81,7 +81,7 @@ func (f *goobjFile) symbols() ([]Sym, error) { ...@@ -81,7 +81,7 @@ func (f *goobjFile) symbols() ([]Sym, error) {
} }
func (f *goobjFile) pcln() (textStart uint64, symtab, pclntab []byte, err error) { func (f *goobjFile) pcln() (textStart uint64, symtab, pclntab []byte, err error) {
// Should never be called. We implement Liner below, callers // Should never be called. We implement Liner below, callers
// should use that instead. // should use that instead.
return 0, nil, nil, fmt.Errorf("pcln not available in go object file") return 0, nil, nil, fmt.Errorf("pcln not available in go object file")
} }
...@@ -90,7 +90,7 @@ func (f *goobjFile) pcln() (textStart uint64, symtab, pclntab []byte, err error) ...@@ -90,7 +90,7 @@ func (f *goobjFile) pcln() (textStart uint64, symtab, pclntab []byte, err error)
// Returns "",0,nil if unknown. // Returns "",0,nil if unknown.
// This function implements the Liner interface in preference to pcln() above. // This function implements the Liner interface in preference to pcln() above.
func (f *goobjFile) PCToLine(pc uint64) (string, int, *gosym.Func) { func (f *goobjFile) PCToLine(pc uint64) (string, int, *gosym.Func) {
// TODO: this is really inefficient. Binary search? Memoize last result? // TODO: this is really inefficient. Binary search? Memoize last result?
var arch *sys.Arch var arch *sys.Arch
for _, a := range sys.Archs { for _, a := range sys.Archs {
if a.Name == f.goobj.Arch { if a.Name == f.goobj.Arch {
......
...@@ -55,7 +55,7 @@ func NewDecoder(r io.Reader) *Decoder { ...@@ -55,7 +55,7 @@ func NewDecoder(r io.Reader) *Decoder {
// recvType loads the definition of a type. // recvType loads the definition of a type.
func (dec *Decoder) recvType(id typeId) { func (dec *Decoder) recvType(id typeId) {
// Have we already seen this type? That's an error // Have we already seen this type? That's an error
if id < firstUserId || dec.wireType[id] != nil { if id < firstUserId || dec.wireType[id] != nil {
dec.err = errors.New("gob: duplicate type received") dec.err = errors.New("gob: duplicate type received")
return return
......
...@@ -508,7 +508,7 @@ func (d *decodeState) array(v reflect.Value) { ...@@ -508,7 +508,7 @@ func (d *decodeState) array(v reflect.Value) {
switch v.Kind() { switch v.Kind() {
case reflect.Interface: case reflect.Interface:
if v.NumMethod() == 0 { if v.NumMethod() == 0 {
// Decoding into nil interface? Switch to non-reflect code. // Decoding into nil interface? Switch to non-reflect code.
v.Set(reflect.ValueOf(d.arrayInterface())) v.Set(reflect.ValueOf(d.arrayInterface()))
return return
} }
...@@ -612,7 +612,7 @@ func (d *decodeState) object(v reflect.Value) { ...@@ -612,7 +612,7 @@ func (d *decodeState) object(v reflect.Value) {
} }
v = pv v = pv
// Decoding into nil interface? Switch to non-reflect code. // Decoding into nil interface? Switch to non-reflect code.
if v.Kind() == reflect.Interface && v.NumMethod() == 0 { if v.Kind() == reflect.Interface && v.NumMethod() == 0 {
v.Set(reflect.ValueOf(d.objectInterface())) v.Set(reflect.ValueOf(d.objectInterface()))
return return
...@@ -1190,7 +1190,7 @@ func unquoteBytes(s []byte) (t []byte, ok bool) { ...@@ -1190,7 +1190,7 @@ func unquoteBytes(s []byte) (t []byte, ok bool) {
b := make([]byte, len(s)+2*utf8.UTFMax) b := make([]byte, len(s)+2*utf8.UTFMax)
w := copy(b, s[0:r]) w := copy(b, s[0:r])
for r < len(s) { for r < len(s) {
// Out of room? Can only happen if s is full of // Out of room? Can only happen if s is full of
// malformed UTF-8 and we're replacing each // malformed UTF-8 and we're replacing each
// byte with RuneError. // byte with RuneError.
if w >= len(b)-2*utf8.UTFMax { if w >= len(b)-2*utf8.UTFMax {
......
...@@ -160,7 +160,7 @@ func (e UnmarshalError) Error() string { return string(e) } ...@@ -160,7 +160,7 @@ func (e UnmarshalError) Error() string { return string(e) }
// UnmarshalXML must consume exactly one XML element. // UnmarshalXML must consume exactly one XML element.
// One common implementation strategy is to unmarshal into // One common implementation strategy is to unmarshal into
// a separate value with a layout matching the expected XML // a separate value with a layout matching the expected XML
// using d.DecodeElement, and then to copy the data from // using d.DecodeElement, and then to copy the data from
// that value into the receiver. // that value into the receiver.
// Another common strategy is to use d.Token to process the // Another common strategy is to use d.Token to process the
// XML object one token at a time. // XML object one token at a time.
......
...@@ -646,13 +646,13 @@ func (f *FlagSet) UintVar(p *uint, name string, value uint, usage string) { ...@@ -646,13 +646,13 @@ func (f *FlagSet) UintVar(p *uint, name string, value uint, usage string) {
} }
// UintVar defines a uint flag with specified name, default value, and usage string. // UintVar defines a uint flag with specified name, default value, and usage string.
// The argument p points to a uint variable in which to store the value of the flag. // The argument p points to a uint variable in which to store the value of the flag.
func UintVar(p *uint, name string, value uint, usage string) { func UintVar(p *uint, name string, value uint, usage string) {
CommandLine.Var(newUintValue(value, p), name, usage) CommandLine.Var(newUintValue(value, p), name, usage)
} }
// Uint defines a uint flag with specified name, default value, and usage string. // Uint defines a uint flag with specified name, default value, and usage string.
// The return value is the address of a uint variable that stores the value of the flag. // The return value is the address of a uint variable that stores the value of the flag.
func (f *FlagSet) Uint(name string, value uint, usage string) *uint { func (f *FlagSet) Uint(name string, value uint, usage string) *uint {
p := new(uint) p := new(uint)
f.UintVar(p, name, value, usage) f.UintVar(p, name, value, usage)
...@@ -660,7 +660,7 @@ func (f *FlagSet) Uint(name string, value uint, usage string) *uint { ...@@ -660,7 +660,7 @@ func (f *FlagSet) Uint(name string, value uint, usage string) *uint {
} }
// Uint defines a uint flag with specified name, default value, and usage string. // Uint defines a uint flag with specified name, default value, and usage string.
// The return value is the address of a uint variable that stores the value of the flag. // The return value is the address of a uint variable that stores the value of the flag.
func Uint(name string, value uint, usage string) *uint { func Uint(name string, value uint, usage string) *uint {
return CommandLine.Uint(name, value, usage) return CommandLine.Uint(name, value, usage)
} }
...@@ -935,7 +935,7 @@ func (f *FlagSet) Parsed() bool { ...@@ -935,7 +935,7 @@ func (f *FlagSet) Parsed() bool {
return f.parsed return f.parsed
} }
// Parse parses the command-line flags from os.Args[1:]. Must be called // Parse parses the command-line flags from os.Args[1:]. Must be called
// after all flags are defined and before flags are accessed by the program. // after all flags are defined and before flags are accessed by the program.
func Parse() { func Parse() {
// Ignore errors; CommandLine is set for ExitOnError. // Ignore errors; CommandLine is set for ExitOnError.
......
...@@ -837,7 +837,7 @@ func (p *pp) printValue(value reflect.Value, verb rune, depth int) { ...@@ -837,7 +837,7 @@ func (p *pp) printValue(value reflect.Value, verb rune, depth int) {
p.buf.WriteByte(']') p.buf.WriteByte(']')
} }
case reflect.Ptr: case reflect.Ptr:
// pointer to array or slice or struct? ok at top level // pointer to array or slice or struct? ok at top level
// but not embedded (avoid loops) // but not embedded (avoid loops)
if depth == 0 && f.Pointer() != 0 { if depth == 0 && f.Pointer() != 0 {
switch a := f.Elem(); a.Kind() { switch a := f.Elem(); a.Kind() {
......
...@@ -1337,7 +1337,7 @@ func (cw *chunkWriter) writeHeader(p []byte) { ...@@ -1337,7 +1337,7 @@ func (cw *chunkWriter) writeHeader(p []byte) {
} else if hasCL { } else if hasCL {
delHeader("Transfer-Encoding") delHeader("Transfer-Encoding")
} else if w.req.ProtoAtLeast(1, 1) { } else if w.req.ProtoAtLeast(1, 1) {
// HTTP/1.1 or greater: Transfer-Encoding has been set to identity, and no // HTTP/1.1 or greater: Transfer-Encoding has been set to identity, and no
// content-length has been provided. The connection must be closed after the // content-length has been provided. The connection must be closed after the
// reply is written, and no chunking is to be done. This is the setup // reply is written, and no chunking is to be done. This is the setup
// recommended in the Server-Sent Events candidate recommendation 11, // recommended in the Server-Sent Events candidate recommendation 11,
......
...@@ -11,6 +11,6 @@ ...@@ -11,6 +11,6 @@
package runtime package runtime
// careful: cputicks is not guaranteed to be monotonic! In particular, we have // careful: cputicks is not guaranteed to be monotonic! In particular, we have
// noticed drift between cpus on certain os/arch combinations. See issue 8976. // noticed drift between cpus on certain os/arch combinations. See issue 8976.
func cputicks() int64 func cputicks() int64
...@@ -140,7 +140,7 @@ func notewakeup(n *note) { ...@@ -140,7 +140,7 @@ func notewakeup(n *note) {
case v == 0: case v == 0:
// Nothing was waiting. Done. // Nothing was waiting. Done.
case v == locked: case v == locked:
// Two notewakeups! Not allowed. // Two notewakeups! Not allowed.
throw("notewakeup - double wakeup") throw("notewakeup - double wakeup")
default: default:
// Must be the waiting m. Wake it up. // Must be the waiting m. Wake it up.
......
...@@ -1235,7 +1235,7 @@ func gcStart(mode gcMode, trigger gcTrigger) { ...@@ -1235,7 +1235,7 @@ func gcStart(mode gcMode, trigger gcTrigger) {
} }
} }
// Ok, we're doing it! Stop everybody else // Ok, we're doing it! Stop everybody else
semacquire(&worldsema) semacquire(&worldsema)
if trace.enabled { if trace.enabled {
......
...@@ -680,7 +680,7 @@ func startpanic_m() { ...@@ -680,7 +680,7 @@ func startpanic_m() {
exit(4) exit(4)
fallthrough fallthrough
default: default:
// Can't even print! Just exit. // Can't even print! Just exit.
exit(5) exit(5)
} }
} }
......
...@@ -381,7 +381,7 @@ func Unquote(s string) (string, error) { ...@@ -381,7 +381,7 @@ func Unquote(s string) (string, error) {
return "", ErrSyntax return "", ErrSyntax
} }
// Is it trivial? Avoid allocation. // Is it trivial? Avoid allocation.
if !contains(s, '\\') && !contains(s, quote) { if !contains(s, '\\') && !contains(s, quote) {
switch quote { switch quote {
case '"': case '"':
......
...@@ -30,7 +30,7 @@ const ( ...@@ -30,7 +30,7 @@ const (
magic64 = 0xdeddeadbeefbeef magic64 = 0xdeddeadbeefbeef
) )
// Do the 64-bit functions panic? If so, don't bother testing. // Do the 64-bit functions panic? If so, don't bother testing.
var test64err = func() (err interface{}) { var test64err = func() (err interface{}) {
defer func() { defer func() {
err = recover() err = recover()
......
...@@ -614,7 +614,7 @@ func (src *Source) ExternalImport(pkg string) { ...@@ -614,7 +614,7 @@ func (src *Source) ExternalImport(pkg string) {
} }
// ParseFiles parses files listed in fs and extracts all syscall // ParseFiles parses files listed in fs and extracts all syscall
// functions listed in sys comments. It returns source files // functions listed in sys comments. It returns source files
// and functions collection *Source if successful. // and functions collection *Source if successful.
func ParseFiles(fs []string) (*Source, error) { func ParseFiles(fs []string) (*Source, error) {
src := &Source{ src := &Source{
......
...@@ -176,7 +176,7 @@ type Pointer *ArbitraryType ...@@ -176,7 +176,7 @@ type Pointer *ArbitraryType
// Sizeof takes an expression x of any type and returns the size in bytes // Sizeof takes an expression x of any type and returns the size in bytes
// of a hypothetical variable v as if v was declared via var v = x. // of a hypothetical variable v as if v was declared via var v = x.
// The size does not include any memory possibly referenced by x. // The size does not include any memory possibly referenced by x.
// For instance, if x is a slice, Sizeof returns the size of the slice // For instance, if x is a slice, Sizeof returns the size of the slice
// descriptor, not the size of the memory referenced by the slice. // descriptor, not the size of the memory referenced by the slice.
func Sizeof(x ArbitraryType) uintptr func Sizeof(x ArbitraryType) uintptr
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment