OSDN Git Service

libgo: Add back tests of syscall time.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Dec 2011 01:55:49 +0000 (01:55 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Dec 2011 01:55:49 +0000 (01:55 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182075 138bc75d-0d04-0410-961f-82ee72b054a4

libgo/go/runtime/export_test.go
libgo/go/runtime/proc_test.go
libgo/runtime/proc.c

index eb7a445..c603e1b 100644 (file)
@@ -18,11 +18,8 @@ var F64toint = f64toint
 
 func entersyscall()
 func exitsyscall()
-func LockedOSThread() bool
-
-/* Useless for gccgo.
+func golockedOSThread() bool
 
 var Entersyscall = entersyscall
 var Exitsyscall = exitsyscall
-
-*/
+var LockedOSThread = golockedOSThread
index 1d20a58..3211108 100644 (file)
@@ -74,8 +74,6 @@ func BenchmarkStackGrowth(b *testing.B) {
        }
 }
 
-/* These benchmarks are meaningless for gccgo.
-
 func BenchmarkSyscall(b *testing.B) {
        const CallsPerSched = 1000
        procs := runtime.GOMAXPROCS(-1)
@@ -125,5 +123,3 @@ func BenchmarkSyscallWork(b *testing.B) {
                <-c
        }
 }
-
-*/
index e5c01f5..88831d4 100644 (file)
@@ -1156,6 +1156,26 @@ runtime_malg(int32 stacksize, byte** ret_stack, size_t* ret_stacksize)
        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)
 {
@@ -1330,6 +1350,17 @@ runtime_lockedOSThread(void)
        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()