summaryrefslogtreecommitdiff
path: root/src/pkg/runtime
AgeCommit message (Collapse)AuthorFilesLines
2011-06-30Imported Upstream version 58upstream/58Ondřej Surý25-100/+387
2011-05-04Imported Upstream version 57upstream/57Ondřej Surý1-2/+13
2011-04-28Imported Upstream version 2011.04.27upstream/2011.04.27Ondřej Surý45-173/+597
2011-04-26Imported Upstream version 2011.04.13upstream/2011.04.13Ondřej Surý54-773/+2199
2011-04-20Imported Upstream version 2011.03.07.1upstream/2011.03.07.1Ondřej Surý41-365/+668
2011-02-18Imported Upstream version 2011.02.15upstream/2011.02.15Ondřej Surý38-452/+1209
2011-02-14Imported Upstream version 2011-02-01.1upstream/2011-02-01.1Ondřej Surý87-2044/+1366
2011-01-17Imported Upstream version 2011.01.12upstream/2011.01.12Ondřej Surý175-4752/+7980
2010-06-29runtime: fix scheduling bug - world wasn't stoppingRuss Cox1-1/+1
Fixes issue 886. R=r CC=golang-dev http://codereview.appspot.com/1667051
2010-06-29runtime: fix windows buildAlex Brainman1-0/+2
R=golang-dev, iant CC=golang-dev http://codereview.appspot.com/1747041 Committer: Ian Lance Taylor <iant@golang.org>
2010-06-28Only catch all signals if os/signal package imported.Ian Lance Taylor13-12/+27
Fixes issue 776. R=rsc CC=golang-dev http://codereview.appspot.com/1745041
2010-06-21runtime: split extern.go into debug.go, extern.go, sig.go.Russ Cox6-152/+164
move mal next to the other malloc functions. R=r CC=golang-dev http://codereview.appspot.com/1701045
2010-06-21runtime: delete old typesRuss Cox1-36/+0
R=r CC=golang-dev http://codereview.appspot.com/1715043
2010-06-20reflect: add Kind, remove Int8Type, Int8Value, etc.Russ Cox1-0/+3
update other code to match. R=r CC=golang-dev http://codereview.appspot.com/1680044
2010-06-18complex divide: match C99 implementationRuss Cox1-23/+47
R=iant, ken2, r, r2, ken3 CC=golang-dev http://codereview.appspot.com/1686044
2010-06-14runtime: correct fault for 16-bit divide on LeopardRuss Cox2-2/+6
R=r CC=golang-dev http://codereview.appspot.com/1703041
2010-06-12runtime: fix 386 signal handler bugRuss Cox2-15/+35
Cannot assume that g == m->curg at time of signal. Must save actual g and restore. Fixes flaky crashes with messages like throw: malloc mlookup throw: malloc/free - deadlock throw: unwindstack on self throw: free mlookup (and probably others) when running cgo. R=iant CC=golang-dev http://codereview.appspot.com/1648043
2010-06-11runtime: switch to OS stack during Windows syscallAlex Brainman5-56/+163
R=rsc CC=golang-dev http://codereview.appspot.com/1381041 Committer: Russ Cox <rsc@golang.org>
2010-06-11runtime: free lock handles on WindowsAlex Brainman1-0/+2
R=rsc CC=golang-dev http://codereview.appspot.com/1652041 Committer: Russ Cox <rsc@golang.org>
2010-06-08gc: new typechecking rulesRuss Cox1-78/+130
* Code for assignment, conversions now mirrors spec. * Changed some snprint -> smprint. * Renamed runtime functions to separate interface conversions from type assertions: convT2I, assertI2T, etc. * Correct checking of \U sequences. Fixes issue 840. Fixes issue 830. Fixes issue 778. R=ken2 CC=golang-dev http://codereview.appspot.com/1303042
2010-06-07runtime: finish pchw -> tiny, added gettime for tinyDaniel Theophanes4-4/+16
R=rsc CC=golang-dev http://codereview.appspot.com/1514041 Committer: Russ Cox <rsc@golang.org>
2010-06-01runtime: Fix printing -InfEvan Shaw1-2/+2
R=rsc CC=golang-dev http://codereview.appspot.com/1258044 Committer: Russ Cox <rsc@golang.org>
2010-05-28syscall: windows SysAlloc should use stdcall_raw not syscallAlex Brainman1-1/+1
R=golang-dev, rsc CC=golang-dev http://codereview.appspot.com/1382041 Committer: Russ Cox <rsc@golang.org>
2010-05-24runtime: free old hashmap pieces during resizingRuss Cox1-1/+0
R=r CC=golang-dev http://codereview.appspot.com/1254044
2010-05-21runtime: correct tracebacks for nascent goroutines, even closuresRuss Cox2-2/+92
Fixes issue 780. R=r CC=golang-dev http://codereview.appspot.com/1221042
2010-05-19runtime: avoid allocation for fixed stringsRuss Cox12-14/+25
R=r CC=golang-dev http://codereview.appspot.com/1083041
2010-05-19runtime: allow large map valuesRuss Cox1-12/+59
Fixes issue 772. R=ken2 CC=golang-dev http://codereview.appspot.com/1206043
2010-05-06Save the scheduling state even predawn.Ian Lance Taylor1-4/+4
This permits cgo callbacks to work when run in init code. Otherwise cgocallback switches to the wrong stack address. R=rsc CC=golang-dev http://codereview.appspot.com/1123043
2010-05-06runtime.GOMAXPROCS: hack it to have it return the old value.Rob Pike4-7/+16
R=rsc CC=golang-dev http://codereview.appspot.com/1140041
2010-05-03runtime, strconv: tiny cleanupsRuss Cox1-3/+1
R=r CC=golang-dev http://codereview.appspot.com/1081042
2010-05-03runtime/arm: fix buildRuss Cox1-7/+7
Import _mulv from Inferno again, change R9 to R2. Not sure what the other differences were for, but they weren't working. TBR=kaib CC=golang-dev http://codereview.appspot.com/1079041
2010-05-03runtime: update godefs usage comment for GOARCH=386 GOOS={darwin,freebsd}Giles Lean4-4/+4
When trying to regenerate src/pkg/runtime/darwin/386/defs.h on a 64 bit capable Snow Leopard (OS X 10.6.3) system I needed to add -f -m32 to godefs, as this OS and hardware combination defaults to 64 bit compilation. For safety, make the same change to the 32 bit FreeBSD instructions in .../freebsd/defs.c. (Tested OK and no problems introduced.) R=golang-dev, rsc CC=golang-dev http://codereview.appspot.com/1052042 Committer: Russ Cox <rsc@golang.org>
2010-05-01gc: be pickier about slice, chan, array, and map sizesRuss Cox4-16/+25
Fixes issue 589. R=ken2 CC=golang-dev http://codereview.appspot.com/1032044
2010-04-29rename GOOS=mingw to GOOS=windowsAlex Brainman13-11/+11
R=rsc, Joe Poirier CC=golang-dev http://codereview.appspot.com/1015043 Committer: Russ Cox <rsc@golang.org>
2010-04-28darwin: bsdthread_create can fail; print good errorRuss Cox4-6/+11
Fixes issue 549. R=adg CC=golang-dev http://codereview.appspot.com/1019042
2010-04-275l, 6l, 8l, runtime: make -s binaries workRuss Cox1-17/+8
5l, 6l, 8l: change ELF header so that strip doesn't destroy binary Fixes issue 261. R=iant, r CC=golang-dev http://codereview.appspot.com/994044
2010-04-22runtime: closures, defer bug fix for Native ClientRuss Cox6-14/+299
Enable package tests for Native Client build. R=r CC=golang-dev http://codereview.appspot.com/957042
2010-04-21runtime: switch state back to Grunning after recoveryRuss Cox2-2/+3
Fixes issue 733. R=r CC=golang-dev http://codereview.appspot.com/958041
2010-04-20runtime: rename cgo2c, *.cgo to goc2c, *.gocRuss Cox10-4/+4
to avoid confusion with real cgo R=r CC=golang-dev http://codereview.appspot.com/904046
2010-04-15support for printing floats:Kai Backman3-17/+400
fmt.Printf("float32 %f\n", float32(1234.56789)) fmt.Printf("float64 %f\n", float64(1234.56789)) -> float32 1234.567871 float64 1234.567890 this is a snapshot. extended instruction support, corner cases and fixes coming in subseuent cls. R=rsc CC=dpx, golang-dev http://codereview.appspot.com/876045
2010-04-13runtime: better trace for fault due to nil pointer callRuss Cox7-20/+72
R=r CC=golang-dev http://codereview.appspot.com/854048
2010-04-09runtime: delete malx, skip_depth argument to mallocRuss Cox8-28/+21
remove internal functions from traces in gopprof instead. R=r CC=golang-dev http://codereview.appspot.com/855046
2010-04-09Run initcgo for all amd64 targets, not just GNU/Linux.Ian Lance Taylor2-8/+8
This is required to make cgo export work on Darwin. Note that this corrects the stack alignment when calling initcgo to that required by gcc on amd64. R=rsc CC=golang-dev http://codereview.appspot.com/907041
2010-04-09Library support for cgo export.Ian Lance Taylor5-5/+116
These functions are used to call from a C function back to a Go function. This only includes 386 support. R=rsc CC=golang-dev http://codereview.appspot.com/834045
2010-04-09Support cgo export on amd64.Ian Lance Taylor1-6/+42
R=rsc CC=golang-dev http://codereview.appspot.com/857045
2010-04-08runtime: fix build (panic) for FreeBSDRuss Cox7-9/+101
R=adg CC=golang-dev http://codereview.appspot.com/867046
2010-04-08runtime: turn divide by zero, nil dereference into panicsRuss Cox27-70/+759
tested on linux/amd64, linux/386, linux/arm, darwin/amd64, darwin/386. freebsd untested; will finish in a separate CL. for now all the panics are errorStrings. richer structures can be added as necessary once the mechanism is shaked out. R=r CC=golang-dev http://codereview.appspot.com/906041
2010-04-08runtime: fix bad status throwRuss Cox3-3/+11
when garbage collector sees recovering goroutine Fixes issue 711. R=r CC=golang-dev http://codereview.appspot.com/869045
2010-04-08runtime: work around kernel bug in Snow Leopard signal handlingRuss Cox2-63/+22
Could not take a signal on threads other than the main thread. If you look at the spinning binary with dtrace, you can see a fault happening over and over: $ dtrace -n ' fbt::user_trap:entry /execname=="boot32" && self->count < 10/ { self->count++; printf("%s %x %x %x %x", probefunc, arg1, arg2, arg3, arg4); stack(); tracemem(arg4, 256); }' dtrace: description 'fbt::user_trap:entry ' matched 1 probe CPU ID FUNCTION:NAME 1 17015 user_trap:entry user_trap 0 10 79af0a0 79af0a0 mach_kernel`lo_alltraps+0x12a 0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef 0: 0e 00 00 00 37 00 00 00 00 00 00 00 1f 00 00 00 ....7........... 10: 1f 00 00 00 a8 33 00 00 00 00 00 01 00 00 00 00 .....3.......... 20: 98 ba dc fe 07 09 00 00 00 00 00 00 98 ba dc fe ................ 30: 06 00 00 00 0d 00 00 00 34 00 00 00 9e 1c 00 00 ........4....... 40: 17 00 00 00 00 02 00 00 ac 30 00 00 1f 00 00 00 .........0...... 50: 00 00 00 00 00 00 00 00 0d 00 00 00 e0 e6 29 00 ..............). 60: 34 00 00 00 00 00 00 00 9e 1c 00 00 00 00 00 00 4............... 70: 17 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 ................ 80: ac 30 00 00 00 00 00 00 1f 00 00 00 00 00 00 00 .0.............. 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ a0: 48 00 00 00 10 00 00 00 85 00 00 00 a0 f2 29 00 H.............). b0: 69 01 00 02 00 00 00 00 e6 93 04 82 ff 7f 00 00 i............... c0: 2f 00 00 00 00 00 00 00 06 02 00 00 00 00 00 00 /............... d0: 78 ee 42 01 01 00 00 00 1f 00 00 00 00 00 00 00 x.B............. e0: 00 ed 9a 07 00 00 00 00 00 00 00 00 00 00 00 00 ................ f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ ... The memory dump shows a 32-bit exception frame: x86_saved_state32 gs = 0x37 fs = 0 es = 0x1f ds = 0x1f edi = 0x33a8 esi = 0x01000000 ebp = 0 cr2 = 0xfedcba98 ebx = 0x0907 edx = 0 ecx = 0xfedcba98 eax = 0x06 trapno = 0x0d err = 0x34 eip = 0x1c9e cs = 0x17 efl = 0x0200 uesp = 0x30ac ss = 0x1f The cr2 of 0xfedcba98 is the address that the new thread read to cause the fault, but note that the trap is now a GP fault with error code 0x34, meaning it's moved past the cr2 problem and on to an invaild segment selector. The 0x34 is suspiciously similar to the 0x37 in gs, and sure enough, OS X forces gs to have that value in the signal handler, and if your thread hasn't set up that segment (known as USER_CTHREAD), you'll fault on the IRET into the signal handler and never be able to handle a signal. The kernel bug is that it forces segment 0x37 without making sure it is a valid segment. Leopard also forced 0x37 but had the courtesy to set it up first. Since OS X requires us to set up that segment (using the thread_fast_set_cthread_self system call), we might as well use it instead of the more complicated i386_set_ldt call to set up our per-OS thread storage. Also add some more zeros to bsdthread_register for new arguments in Snow Leopard (apparently unnecessary, but being careful). Fixes issue 510. R=r CC=golang-dev http://codereview.appspot.com/824046
2010-04-07runtime: use explicit flag when finalizer goroutine is waitingRuss Cox1-1/+6
Avoids spurious wakeups during other sleeping by that goroutine. Fixes issue 711. R=r CC=golang-dev http://codereview.appspot.com/902041