]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: fix usleep on linux/386 and re-enable parallel gc
authorHector Chu <hectorchu@gmail.com>
Mon, 3 Oct 2011 18:08:59 +0000 (19:08 +0100)
committerHector Chu <hectorchu@gmail.com>
Mon, 3 Oct 2011 18:08:59 +0000 (19:08 +0100)
R=golang-dev, jsing, alex.brainman, cw, rsc
CC=golang-dev
https://golang.org/cl/5166047

src/pkg/runtime/linux/386/sys.s
src/pkg/runtime/proc.c

index 7549c04798ca93b77c6f09244b1d834a8b8c80ea..1b4f649bd73f6561e36673ebc5a319929b160c3c 100644 (file)
@@ -52,23 +52,22 @@ TEXT runtime·read(SB),7,$0
        CALL    *runtime·_vdso(SB)
        RET
 
-TEXT runtime·usleep(SB),7,$28
+TEXT runtime·usleep(SB),7,$8
        MOVL    $0, DX
        MOVL    usec+0(FP), AX
        MOVL    $1000000, CX
        DIVL    CX
-       MOVL    AX, 20(SP)
-       MOVL    DX, 24(SP)
+       MOVL    AX, 0(SP)
+       MOVL    DX, 4(SP)
 
        // select(0, 0, 0, 0, &tv)
-       MOVL    $0, 0(SP)
-       MOVL    $0, 4(SP)
-       MOVL    $0, 8(SP)
-       MOVL    $0, 12(SP)
-       LEAL    20(SP), AX
-       MOVL    AX, 16(SP)
-       MOVL    $82, AX
-       SYSCALL
+       MOVL    $142, AX
+       MOVL    $0, BX
+       MOVL    $0, CX
+       MOVL    $0, DX
+       MOVL    $0, SI
+       LEAL    0(SP), DI
+       CALL    *runtime·_vdso(SB)
        RET
 
 TEXT runtime·raisesigpipe(SB),7,$12
index f050ee766184775e980cb5d6651b9d1565078079..3655412005035619b253a97525d1f3134cf4f466 100644 (file)
@@ -607,7 +607,6 @@ runtime·helpgc(void)
        M *m;
        int32 n, max;
 
-return 0;  // broken on linux/386
        // Figure out how many CPUs to use.
        // Limited by gomaxprocs, number of actual CPUs, and MaxGcproc.
        max = runtime·gomaxprocs;
@@ -616,7 +615,6 @@ return 0;  // broken on linux/386
        if(max > MaxGcproc)
                max = MaxGcproc;
 
-
        // We're going to use one CPU no matter what.
        // Figure out the max number of additional CPUs.
        max--;