]> Cypherpunks repositories - gostls13.git/commitdiff
runtime,sync: Convert procPin and procUnpin functions to Go.
authorSanjay Menakuru <balasanjay@gmail.com>
Tue, 26 Aug 2014 05:01:52 +0000 (09:01 +0400)
committerDmitriy Vyukov <dvyukov@google.com>
Tue, 26 Aug 2014 05:01:52 +0000 (09:01 +0400)
LGTM=dvyukov
R=golang-codereviews, dvyukov
CC=golang-codereviews, khr
https://golang.org/cl/132880043

src/pkg/runtime/proc.c
src/pkg/runtime/runtime1.goc

index 483903d6d9b8a4634578ca961d07a5849028885e..1f687ebc92c6a51d296ac797164b2cc1ba37a0b9 100644 (file)
@@ -3292,3 +3292,23 @@ haveexperiment(int8 *name)
        }
        return 0;
 }
+
+#pragma textflag NOSPLIT
+void
+sync·runtime_procPin(intptr p)
+{
+       M *mp;
+
+       mp = g->m;
+       // Disable preemption.
+       mp->locks++;
+       p = mp->p->id;
+       FLUSH(&p);
+}
+
+#pragma textflag NOSPLIT
+void
+sync·runtime_procUnpin()
+{
+       g->m->locks--;
+}
index a95a4f944d6d5029c2cf4d56de860cb16859955b..9529d6504b6ea5089396e7624ffd077d8b3b21bc 100644 (file)
@@ -114,15 +114,3 @@ func runtime∕pprof·runtime_cyclesPerSecond() (res int64) {
        res = runtime·tickspersecond();
 }
 
-func sync·runtime_procPin() (p int) {
-       M *mp;
-
-       mp = g->m;
-       // Disable preemption.
-       mp->locks++;
-       p = mp->p->id;
-}
-
-func sync·runtime_procUnpin() {
-       g->m->locks--;
-}