func entersyscall()
func exitsyscall()
-func LockedOSThread() bool
-
-/* Useless for gccgo.
+func golockedOSThread() bool
var Entersyscall = entersyscall
var Exitsyscall = exitsyscall
-
-*/
+var LockedOSThread = golockedOSThread
}
}
-/* These benchmarks are meaningless for gccgo.
-
func BenchmarkSyscall(b *testing.B) {
const CallsPerSched = 1000
procs := runtime.GOMAXPROCS(-1)
<-c
}
}
-
-*/
return newg;
}
+/* For runtime package testing. */
+
+void runtime_testing_entersyscall(void)
+ __asm__("libgo_runtime.runtime.entersyscall");
+
+void
+runtime_testing_entersyscall()
+{
+ runtime_entersyscall();
+}
+
+void runtime_testing_exitsyscall(void)
+ __asm__("libgo_runtime.runtime.exitsyscall");
+
+void
+runtime_testing_exitsyscall()
+{
+ runtime_exitsyscall();
+}
+
G*
__go_go(void (*fn)(void*), void* arg)
{
return g->lockedm != nil && m->lockedg != nil;
}
+// for testing of callbacks
+
+_Bool runtime_golockedOSThread(void)
+ asm("libgo_runtime.runtime.golockedOSThread");
+
+_Bool
+runtime_golockedOSThread(void)
+{
+ return runtime_lockedOSThread();
+}
+
// for testing of wire, unwire
uint32
runtime_mid()