1. 07 Jun, 2011 11 commits
  2. 06 Jun, 2011 16 commits
  3. 05 Jun, 2011 2 commits
  4. 04 Jun, 2011 1 commit
  5. 03 Jun, 2011 10 commits
    • Rob Pike's avatar
      unicode: for consistency with MaxRune, s/Latin1Max/MaxLatin1/ and · 7a92287a
      Rob Pike authored
      s/ASCIIMax/MaxASCII/
      
      R=golang-dev, r, gri
      CC=golang-dev
      https://golang.org/cl/4539109
      7a92287a
    • Rob Pike's avatar
      unicode: add the first few property tests for printing. · 8d64e73f
      Rob Pike authored
      The long-term goal is that %q will use IsPrint to decide
      what to show natively vs. as hexadecimal.
      
      R=rsc, r
      CC=golang-dev
      https://golang.org/cl/4526095
      8d64e73f
    • Robert Griesemer's avatar
      ebnf: update comment · 86b3577a
      Robert Griesemer authored
      (pointed out by jan.mercl@nic.cz)
      
      R=iant, jan.mercl, rsc
      CC=golang-dev
      https://golang.org/cl/4515189
      86b3577a
    • Brad Fitzpatrick's avatar
      http: don't fail on accept hitting EMFILE · 26557579
      Brad Fitzpatrick authored
      Fixes #1891
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4550112
      26557579
    • Mikio Hara's avatar
      net: fix windows build · 0015e8eb
      Mikio Hara authored
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4539108
      0015e8eb
    • Mikio Hara's avatar
      net: add network interface identification API · 518331df
      Mikio Hara authored
      This CL introduces new API into package net to identify the network
      interface.  A functionality of new API is very similar to RFC3493 -
      "Interface Identification".
      
      R=r, gri, bradfitz, robert.hencke, fullung, rsc
      CC=golang-dev
      https://golang.org/cl/4437087
      518331df
    • Russ Cox's avatar
      8g: compute register liveness during regopt · 84f291b1
      Russ Cox authored
      Input code like
      
      0000 (x.go:2) TEXT    main+0(SB),$36-0
      0001 (x.go:3) MOVL    $5,i+-8(SP)
      0002 (x.go:3) MOVL    $0,i+-4(SP)
      0003 (x.go:4) MOVL    $1,BX
      0004 (x.go:4) MOVL    i+-8(SP),AX
      0005 (x.go:4) MOVL    i+-4(SP),DX
      0006 (x.go:4) MOVL    AX,autotmp_0000+-20(SP)
      0007 (x.go:4) MOVL    DX,autotmp_0000+-16(SP)
      0008 (x.go:4) MOVL    autotmp_0000+-20(SP),CX
      0009 (x.go:4) CMPL    autotmp_0000+-16(SP),$0
      0010 (x.go:4) JNE     ,13
      0011 (x.go:4) CMPL    CX,$32
      0012 (x.go:4) JCS     ,14
      0013 (x.go:4) MOVL    $0,BX
      0014 (x.go:4) SHLL    CX,BX
      0015 (x.go:4) MOVL    BX,x+-12(SP)
      0016 (x.go:5) MOVL    x+-12(SP),AX
      0017 (x.go:5) CDQ     ,
      0018 (x.go:5) MOVL    AX,autotmp_0001+-28(SP)
      0019 (x.go:5) MOVL    DX,autotmp_0001+-24(SP)
      0020 (x.go:5) MOVL    autotmp_0001+-28(SP),AX
      0021 (x.go:5) MOVL    autotmp_0001+-24(SP),DX
      0022 (x.go:5) MOVL    AX,(SP)
      0023 (x.go:5) MOVL    DX,4(SP)
      0024 (x.go:5) CALL    ,runtime.printint+0(SB)
      0025 (x.go:5) CALL    ,runtime.printnl+0(SB)
      0026 (x.go:6) RET     ,
      
      is problematic because the liveness range for
      autotmp_0000 (0006-0009) is nested completely
      inside a span where BX holds a live value (0003-0015).
      Because the register allocator only looks at 0006-0009
      to see which registers are used, it misses the fact that
      BX is unavailable and uses it anyway.
      
      The n->pun = anyregalloc() check in tempname is
      a workaround for this bug, but I hit it again because
      I did the tempname call before allocating BX, even
      though I then used the temporary after storing in BX.
      This should fix the real bug, and then we can remove
      the workaround in tempname.
      
      The code creates pseudo-variables for each register
      and includes that information in the liveness propagation.
      Then the regu fields can be populated using that more
      complete information.  With that approach, BX is marked
      as in use on every line in the whole span 0003-0015,
      so that the decision about autotmp_0000
      (using only 0006-0009) still has all the information
      it needs.
      
      This is not specific to the 386, but it only happens in
      generated code of the form
      
              load R1
              ...
              load var into R2
              ...
              store R2 back into var
              ...
              use R1
      
      and for the most part the other compilers generate
      the loads for a given compiled line before any of
      the stores.  Even so, this may not be the case everywhere,
      so the change is worth making in all three.
      
      R=ken2, ken, ken
      CC=golang-dev
      https://golang.org/cl/4529106
      84f291b1
    • Dmitriy Vyukov's avatar
      testing: check that tests and benchmarks do not affect GOMAXPROCS · 79b397b2
      Dmitriy Vyukov authored
      Plus fix spoiling of GOMAXPROCS in 2 existing rwmutex tests.
      Plus fix benchmark output to stdout (now it outputs to stderr like all other output).
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4529111
      79b397b2
    • Lucio De Re's avatar
      8l, ld: Initial adjustments for Plan 9 native compilation of 8l · 9baaa6f7
      Lucio De Re authored
      These changes are not particularly invasive and have been tested
      as broadly as possible.
      
      8l/l.h:
        -	#pragma varargck: added some, removed duplicates.
      
      ld/dwarf.c:
        -	As Plan 9 has no NULL, changed all occurrences to nil.
        -	Added USED(size); where necessary.
        -	Added (void) argument in definition of finddebugruntimepath().
        -	Plan 9 compiler was complaining about multiple
              assignments, repeaired by breaking up the commands.
        -	Correction: havedynamic = 1; restored.
      
      ld/go.c:
        -	Needed USED(file); in two functions.
        -	Removed unused assignments flagged by the Plan 9 compiler.
      
      ld/lib.c:
        -	Replaced unlink() with remove() which seems available everywhere.
        -	Removed USED(c4); and USED(magic) no longer required.
        -	Removed code flagged as unused by the Plan 9 compiler.
        -	Added attributes to a number of format strings.
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4435047
      9baaa6f7
    • Luuk van Dijk's avatar
      gc: renamed walkdef to typecheckdef and moved from walk to typedef. · ab8ed7f8
      Luuk van Dijk authored
      also inlined a typechecking function in dcl away.
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4550115
      ab8ed7f8