An error occurred fetching the project authors.
  1. 20 May, 2013 1 commit
  2. 18 Mar, 2013 1 commit
  3. 15 Mar, 2013 2 commits
    • Russ Cox's avatar
      runtime: accept GOTRACEBACK=crash to mean 'crash after panic' · 5146a93e
      Russ Cox authored
      This provides a way to generate core dumps when people need them.
      The settings are:
      
              GOTRACEBACK=0  no traceback on panic, just exit
              GOTRACEBACK=1  default - traceback on panic, then exit
              GOTRACEBACK=2  traceback including runtime frames on panic, then exit
              GOTRACEBACK=crash traceback including runtime frames on panic, then crash
      
      Fixes #3257.
      
      R=golang-dev, devon.odell, r, daniel.morsing, ality
      CC=golang-dev
      https://golang.org/cl/7666044
      5146a93e
    • Russ Cox's avatar
      runtime: use 64-bit negative error code on 64-bit machines · e3c7a9db
      Russ Cox authored
      NEGL does a negation of the bottom 32 bits and then zero-extends to 64 bits,
      resulting in a negative 32-bit number but a positive 64-bit number.
      
      NEGQ does a full 64-bit negation, so that the result is negative both as
      a 32-bit and as a 64-bit number.
      
      This doesn't matter for the functions that are declared to return int32.
      It only matters for the ones that return int64 or void* [sic].
      
      This will fix the current incorrect error in the OpenBSD/amd64 build.
      The build will still be broken, but it won't report a bogus error.
      
      R=golang-dev, bradfitz
      CC=golang-dev
      https://golang.org/cl/7536046
      e3c7a9db
  4. 12 Mar, 2013 1 commit
    • Keith Randall's avatar
      runtime: faster & safer hash function · a5d40241
      Keith Randall authored
      Uses AES hardware instructions on 386/amd64 to implement
      a fast hash function.  Incorporates a random key to
      thwart hash collision DOS attacks.
      Depends on CL#7548043 for new assembly instructions.
      
      Update #3885
      Helps some by making hashing faster.  Go time drops from
      0.65s to 0.51s.
      
      R=rsc, r, bradfitz, remyoudompheng, khr, dsymonds, minux.ma, elias.naur
      CC=golang-dev
      https://golang.org/cl/7543043
      a5d40241
  5. 22 Dec, 2012 1 commit
  6. 18 Dec, 2012 2 commits
    • Jingcheng Zhang's avatar
      runtime: use "mp" and "gp" instead of "m" and "g" for local variable name to... · 70e967b7
      Jingcheng Zhang authored
      runtime: use "mp" and "gp" instead of "m" and "g" for local variable name to avoid confusion with the global "m" and "g".
      
      R=golang-dev, minux.ma, rsc
      CC=bradfitz, golang-dev
      https://golang.org/cl/6939064
      70e967b7
    • Shenghou Ma's avatar
      runtime: use clock_gettime to get ns resolution for time.now & runtime.nanotime · 7777bac6
      Shenghou Ma authored
      For Linux/{386,arm}, FreeBSD/{386,amd64,arm}, NetBSD/{386,amd64}, OpenBSD/{386,amd64}.
      Note: our Darwin implementation already has ns resolution.
      
      Linux/386 (Core i7-2600 @ 3.40GHz, kernel 3.5.2-gentoo)
      benchmark       old ns/op    new ns/op    delta
      BenchmarkNow          110          118   +7.27%
      
      Linux/ARM (ARM Cortex-A8 @ 800MHz, kernel 2.6.32.28 android)
      benchmark       old ns/op    new ns/op    delta
      BenchmarkNow          625          542  -13.28%
      
      Linux/ARM (ARM Cortex-A9 @ 1GHz, Pandaboard)
      benchmark       old ns/op    new ns/op    delta
      BenchmarkNow          992          909   -8.37%
      
      FreeBSD 9-REL-p1/amd64 (Dell R610 Server with Xeon X5650 @ 2.67GHz)
      benchmark       old ns/op    new ns/op    delta
      BenchmarkNow          699          695   -0.57%
      
      FreeBSD 9-REL-p1/amd64 (Atom D525 @ 1.80GHz)
      benchmark       old ns/op    new ns/op    delta
      BenchmarkNow         1553         1658   +6.76%
      
      OpenBSD/amd64 (Dell E6410 with i5 CPU M 540 @ 2.53GHz)
      benchmark       old ns/op    new ns/op    delta
      BenchmarkNow         1262         1236   -2.06%
      
      OpenBSD/i386 (Asus eeePC 701 with Intel Celeron M 900MHz - locked to 631MHz)
      benchmark       old ns/op    new ns/op    delta
      BenchmarkNow         5089         5043   -0.90%
      
      NetBSD/i386 (VMware VM with Core i5 CPU @ 2.7GHz)
      benchmark       old ns/op    new ns/op    delta
      BenchmarkNow          277          278   +0.36%
      
      NetBSD/amd64 (VMware VM with Core i5 CPU @ 2.7Ghz)
      benchmark       old ns/op    new ns/op    delta
      BenchmarkNow          103          105   +1.94%
      
      Thanks Maxim Khitrov, Joel Sing, and Dave Cheney for providing benchmark data.
      
      R=jsing, dave, rsc
      CC=golang-dev
      https://golang.org/cl/6820120
      7777bac6
  7. 26 Nov, 2012 1 commit
  8. 21 Nov, 2012 1 commit
  9. 04 Sep, 2012 1 commit
    • Alan Donovan's avatar
      runtime: discard SIGPROF delivered to non-Go threads. · 532dee38
      Alan Donovan authored
      Signal handlers are global resources but many language
      environments (Go, C++ at Google, etc) assume they have sole
      ownership of a particular handler.  Signal handlers in
      mixed-language applications must therefore be robust against
      unexpected delivery of certain signals, such as SIGPROF.
      
      The default Go signal handler runtime·sigtramp assumes that it
      will never be called on a non-Go thread, but this assumption
      is violated by when linking in C++ code that spawns threads.
      Specifically, the handler asserts the thread has an associated
      "m" (Go scheduler).
      
      This CL is a very simple workaround: discard SIGPROF delivered to non-Go threads.  runtime.badsignal(int32) now receives the signal number; if it returns without panicking (e.g. sig==SIGPROF) the signal is discarded.
      
      I don't think there is any really satisfactory solution to the
      problem of signal-based profiling in a mixed-language
      application.  It's not only the issue of handler clobbering,
      but also that a C++ SIGPROF handler called in a Go thread
      can't unwind the Go stack (and vice versa).  The best we can
      hope for is not crashing.
      
      Note:
      - I've ported this to all POSIX platforms, except ARM-linux which already ignores unexpected signals on m-less threads.
      - I've avoided tail-calling runtime.badsignal because AFAICT the 6a/6l don't support it.
      - I've avoided hoisting 'push sig' (common to both function calls) because it makes the code harder to read.
      - Fixed an (apparently incorrect?) docstring.
      
      R=iant, rsc, minux.ma
      CC=golang-dev
      https://golang.org/cl/6498057
      532dee38
  10. 25 Apr, 2012 1 commit
    • Joel Sing's avatar
      runtime: use __tfork() syscall on openbsd · 689d5b91
      Joel Sing authored
      Switch from using the rfork() syscall on OpenBSD, to the __tfork()
      syscall.  The __tfork() syscall is the preferred way of creating
      system threads and the rfork() syscall has recently been removed.
      
      Note: this will break compatibility with OpenBSD releases prior to 5.1.
      
      R=golang-dev, bradfitz, devon.odell, rsc
      CC=golang-dev
      https://golang.org/cl/6037048
      689d5b91
  11. 11 Apr, 2012 1 commit
  12. 10 Apr, 2012 1 commit
  13. 12 Mar, 2012 1 commit
  14. 08 Mar, 2012 1 commit
    • Russ Cox's avatar
      runtime: inline calls to notok · 36aa7d4d
      Russ Cox authored
      When a very low-level system call that should never fail
      does fail, we call notok, which crashes the program.
      Often, we are then left with only the program counter as
      information about the crash, and it is in notok.
      Instead, inline calls to notok (it is just one instruction
      on most systems) so that the program counter will
      tell us which system call is unhappy.
      
      R=golang-dev, gri, minux.ma, bradfitz
      CC=golang-dev
      https://golang.org/cl/5792048
      36aa7d4d
  15. 19 Dec, 2011 1 commit
  16. 16 Dec, 2011 3 commits
    • Russ Cox's avatar
      runtime: hg revert -r 6ec0a5c12d75 · 86dcc431
      Russ Cox authored
      That was the last build that was close to working.
      I will try that change again next week.
      Make is being very subtle today.
      
      At the reverted-to CL, the ARM traceback appears
      to be broken.  I'll look into that next week too.
      
      R=golang-dev, r
      CC=golang-dev
      https://golang.org/cl/5492063
      86dcc431
    • Russ Cox's avatar
      runtime: separate out auto-generated files · bd9243da
      Russ Cox authored
      R=golang-dev, r, r
      CC=golang-dev
      https://golang.org/cl/5493063
      bd9243da
    • Russ Cox's avatar
      runtime: make more build-friendly · 851f3013
      Russ Cox authored
      Collapse the arch,os-specific directories into the main directory
      by renaming xxx/foo.c to foo_xxx.c, and so on.
      
      There are no substantial edits here, except to the Makefile.
      The assumption is that the Go tool will #define GOOS_darwin
      and GOARCH_amd64 and will make any file named something
      like signals_darwin.h available as signals_GOOS.h during the
      build.  This replaces what used to be done with -I$(GOOS).
      
      There is still work to be done to make runtime build with
      standard tools, but this is a big step.  After this we will have
      to write a script to generate all the generated files so they
      can be checked in (instead of generated during the build).
      
      R=r, iant, r, lucio.dere
      CC=golang-dev
      https://golang.org/cl/5490053
      851f3013
  17. 30 Nov, 2011 1 commit
  18. 04 Nov, 2011 1 commit
  19. 03 Nov, 2011 1 commit
  20. 08 Oct, 2011 1 commit
  21. 05 Oct, 2011 1 commit
  22. 01 Oct, 2011 1 commit
  23. 29 Aug, 2011 1 commit
  24. 08 Aug, 2011 1 commit
    • Joel Sing's avatar
      runtime: openbsd amd64 runtime support · 21ac258e
      Joel Sing authored
      Add support for the go runtime on openbsd/amd64. This is based on
      the existing freebsd runtime.
      
      Threads are implemented using OpenBSD's rthreads, which are currently
      disabled by default, however can be enabled via the kern.rthreads
      sysctl.
      
      For now, cgo is disabled.
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4815067
      21ac258e