diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-06-03 23:02:43 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-06-03 23:02:43 +0000 |
commit | a920eb0cb08da30f4d7d4345f42067fdf8ce7b9b (patch) | |
tree | 2c48ef25fbdf64d208fc06549ae1c878dda60f07 /libgo | |
parent | fbd4b7f39ee26f1258aff5b86ad0fba06f3edd5e (diff) | |
download | gcc-a920eb0cb08da30f4d7d4345f42067fdf8ce7b9b.zip gcc-a920eb0cb08da30f4d7d4345f42067fdf8ce7b9b.tar.gz gcc-a920eb0cb08da30f4d7d4345f42067fdf8ce7b9b.tar.bz2 |
runtime: remove unnecessary functions calling between C and Go
These functions were needed during the transition of the runtime from
C to Go, but are no longer necessary.
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/179879
From-SVN: r271890
Diffstat (limited to 'libgo')
-rw-r--r-- | libgo/go/runtime/stubs.go | 64 | ||||
-rw-r--r-- | libgo/runtime/go-libmain.c | 1 | ||||
-rw-r--r-- | libgo/runtime/go-main.c | 1 | ||||
-rw-r--r-- | libgo/runtime/proc.c | 10 | ||||
-rw-r--r-- | libgo/runtime/runtime.h | 15 |
5 files changed, 1 insertions, 90 deletions
diff --git a/libgo/go/runtime/stubs.go b/libgo/go/runtime/stubs.go index 435cdf7..530997b 100644 --- a/libgo/go/runtime/stubs.go +++ b/libgo/go/runtime/stubs.go @@ -310,13 +310,6 @@ func errno() int func entersyscall() func entersyscallblock() -// For gccgo to call from C code, so that the C code and the Go code -// can share the memstats variable for now. -//go:linkname getMstats runtime.getMstats -func getMstats() *mstats { - return &memstats -} - // Get signal trampoline, written in C. func getSigtramp() uintptr @@ -338,48 +331,12 @@ func dumpregs(*_siginfo_t, unsafe.Pointer) // Implemented in C for gccgo. func setRandomNumber(uint32) -// Temporary for gccgo until we port proc.go. -//go:linkname getsched runtime.getsched -func getsched() *schedt { - return &sched -} - -// Temporary for gccgo until we port proc.go. -//go:linkname getCgoHasExtraM runtime.getCgoHasExtraM -func getCgoHasExtraM() *bool { - return &cgoHasExtraM -} - -// Temporary for gccgo until we port proc.go. -//go:linkname getAllP runtime.getAllP -func getAllP() **p { - return &allp[0] -} - -// Temporary for gccgo until we port proc.go. +// Called by gccgo's proc.c. //go:linkname allocg runtime.allocg func allocg() *g { return new(g) } -// Temporary for gccgo until we port the garbage collector. -//go:linkname getallglen runtime.getallglen -func getallglen() uintptr { - return allglen -} - -// Temporary for gccgo until we port the garbage collector. -//go:linkname getallg runtime.getallg -func getallg(i int) *g { - return allgs[i] -} - -// Temporary for gccgo until we port the garbage collector. -//go:linkname getallm runtime.getallm -func getallm() *m { - return allm -} - // Throw and rethrow an exception. func throwException() func rethrowException() @@ -388,13 +345,6 @@ func rethrowException() // used by the stack unwinder. func unwindExceptionSize() uintptr -// Temporary for gccgo until C code no longer needs it. -//go:nosplit -//go:linkname getPanicking runtime.getPanicking -func getPanicking() uint32 { - return panicking -} - // Called by C code to set the number of CPUs. //go:linkname setncpu runtime.setncpu func setncpu(n int32) { @@ -409,18 +359,6 @@ func setpagesize(s uintptr) { } } -// Called by C code during library initialization. -//go:linkname runtime_m0 runtime.runtime_m0 -func runtime_m0() *m { - return &m0 -} - -// Temporary for gccgo until we port mgc.go. -//go:linkname runtime_g0 runtime.runtime_g0 -func runtime_g0() *g { - return &g0 -} - const uintptrMask = 1<<(8*sys.PtrSize) - 1 type bitvector struct { diff --git a/libgo/runtime/go-libmain.c b/libgo/runtime/go-libmain.c index 8b5bab0..f379569 100644 --- a/libgo/runtime/go-libmain.c +++ b/libgo/runtime/go-libmain.c @@ -230,7 +230,6 @@ gostart (void *arg) runtime_args (a->argc, (byte **) a->argv); setncpu (getproccount ()); setpagesize (getpagesize ()); - runtime_sched = runtime_getsched(); runtime_schedinit (); __go_go ((uintptr)(runtime_main), NULL); runtime_mstart (runtime_m ()); diff --git a/libgo/runtime/go-main.c b/libgo/runtime/go-main.c index e9da8ac..51ce15f 100644 --- a/libgo/runtime/go-main.c +++ b/libgo/runtime/go-main.c @@ -54,7 +54,6 @@ main (int argc, char **argv) runtime_args (argc, (byte **) argv); setncpu (getproccount ()); setpagesize (getpagesize ()); - runtime_sched = runtime_getsched(); runtime_schedinit (); __go_go ((uintptr)(runtime_main), NULL); runtime_mstart (runtime_m ()); diff --git a/libgo/runtime/proc.c b/libgo/runtime/proc.c index 5ef421f..26125cc 100644 --- a/libgo/runtime/proc.c +++ b/libgo/runtime/proc.c @@ -378,8 +378,6 @@ runtime_mcall(FuncVal *fv) extern G* allocg(void) __asm__ (GOSYM_PREFIX "runtime.allocg"); -Sched* runtime_sched; - bool runtime_isarchive; extern void kickoff(void) @@ -888,11 +886,3 @@ resetNewG(G *newg, void **sp, uintptr *spsize) newg->gcnextsp2 = (uintptr)(newg->gcinitialsp2); #endif } - -// Return whether we are waiting for a GC. This gc toolchain uses -// preemption instead. -bool -runtime_gcwaiting(void) -{ - return runtime_sched->gcwaiting; -} diff --git a/libgo/runtime/runtime.h b/libgo/runtime/runtime.h index 0aa8ff9..6da7bdf 100644 --- a/libgo/runtime/runtime.h +++ b/libgo/runtime/runtime.h @@ -115,11 +115,6 @@ extern M* runtime_m(void); extern G* runtime_g(void) __asm__(GOSYM_PREFIX "runtime.getg"); -extern M* runtime_m0(void) - __asm__(GOSYM_PREFIX "runtime.runtime_m0"); -extern G* runtime_g0(void) - __asm__(GOSYM_PREFIX "runtime.runtime_g0"); - enum { true = 1, @@ -196,15 +191,6 @@ void runtime_hashinit(void); */ extern uintptr* runtime_getZerobase(void) __asm__(GOSYM_PREFIX "runtime.getZerobase"); -extern G* runtime_getallg(intgo) - __asm__(GOSYM_PREFIX "runtime.getallg"); -extern uintptr runtime_getallglen(void) - __asm__(GOSYM_PREFIX "runtime.getallglen"); -extern M* runtime_getallm(void) - __asm__(GOSYM_PREFIX "runtime.getallm"); -extern Sched* runtime_sched; -extern uint32 runtime_panicking(void) - __asm__ (GOSYM_PREFIX "runtime.getPanicking"); extern bool runtime_isstarted; extern bool runtime_isarchive; @@ -447,7 +433,6 @@ int32 getproccount(void); #define PREFETCH(p) __builtin_prefetch(p) -bool runtime_gcwaiting(void); void runtime_badsignal(int); Defer* runtime_newdefer(void); void runtime_freedefer(Defer*); |