1. 21 Aug, 2015 5 commits
  2. 20 Aug, 2015 2 commits
  3. 19 Aug, 2015 7 commits
  4. 18 Aug, 2015 8 commits
  5. 17 Aug, 2015 2 commits
  6. 16 Aug, 2015 1 commit
    • Dave Cheney's avatar
      cmd/compile/internal/arm64: remove Reginuse check in clearfat · 467a2cb7
      Dave Cheney authored
      Fixes golang/go#12133
      
      CL 13630 fixed the use of a stale reg[] array in the various arch
      backends which was causing the check in clearfat to pass
      unconditionally on arm64.
      
      With this check fixed, arm64 now considers REGRT1 to always be in use
      as it is part of the reserved register set, see arm64/gsubr.go.
      
      However, ppc64 does not consider REGRT1 and REGRT2 to be part of its
      reserved set, so its identical clearfat check passes.
      
      This CL removes the Reginuse check inside clearfat as REGRT1 is
      guarenteed always be free on arm64.
      
      Change-Id: I4719150d3c3378fae155b863c474529df18d4c17
      Reviewed-on: https://go-review.googlesource.com/13650Reviewed-by: default avatarRuss Cox <rsc@golang.org>
      467a2cb7
  7. 15 Aug, 2015 3 commits
  8. 12 Aug, 2015 1 commit
  9. 11 Aug, 2015 7 commits
  10. 10 Aug, 2015 2 commits
  11. 07 Aug, 2015 2 commits
    • Russ Cox's avatar
      runtime: make sure heapBitsBulkBarrier cannot be preempted · 3ae17043
      Russ Cox authored
      Changes the torture test in #12068 from failing about 1/10 times
      to not failing in almost 2,000 runs.
      
      This was only happening in -race mode because functions are
      bigger in -race mode, so a few of the helpers for heapBitsBulkBarrier
      were not being inlined, and they were not marked nosplit,
      so (only in -race mode) the write barrier was being preempted by GC,
      causing missed pointer updates.
      
      Filed issue #12069 for diagnosis of any other similar errors.
      
      Fixes #12068.
      
      Change-Id: Ic174d9b050ba278b18b08ab0d85a73c33bd5b175
      Reviewed-on: https://go-review.googlesource.com/13364Reviewed-by: default avatarAustin Clements <austin@google.com>
      3ae17043
    • Russ Cox's avatar
      runtime: run on GOARM=5 and GOARM=6 uniprocessor freebsd/arm systems · 4a190813
      Russ Cox authored
      Also, crash early on non-Linux SMP ARM systems when GOARM < 7;
      without the proper synchronization, SMP cannot work.
      
      Linux is okay because we call kernel-provided routines for
      synchronization and barriers, and the kernel takes care of
      providing the right routines for the current system.
      On non-Linux systems we are left to fend for ourselves.
      
      It is possible to use different synchronization on GOARM=6,
      but it's too late to do that in the Go 1.5 cycle.
      We don't believe there are any non-Linux SMP GOARM=6 systems anyway.
      
      Fixes #12067.
      
      Change-Id: I771a556e47893ed540ec2cd33d23c06720157ea3
      Reviewed-on: https://go-review.googlesource.com/13363Reviewed-by: default avatarAustin Clements <austin@google.com>
      4a190813