diff mbox series

libgo patch committed: Remove unnecessary Go <-> C functions

Message ID CAOyqgcURakV0u2KNecO5bDft_1OS_W18r-kLDWE++La=R4cwNQ@mail.gmail.com
State New
Headers show
Series libgo patch committed: Remove unnecessary Go <-> C functions | expand

Commit Message

Ian Lance Taylor June 3, 2019, 11:02 p.m. UTC
This libgo patch removes some functions that were needed during the
transition of the runtime from C to Go, but are no longer necessary.
Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu.  Committed
to mainline.

Ian
diff mbox series

Patch

Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE	(revision 271883)
+++ gcc/go/gofrontend/MERGE	(working copy)
@@ -1,4 +1,4 @@ 
-2e623bff8a5855bb6268c69bb04eb37cac8f2dc2
+95784e8eec75cfeb2363fb22b51085380e564af9
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
Index: libgo/go/runtime/stubs.go
===================================================================
--- libgo/go/runtime/stubs.go	(revision 271669)
+++ libgo/go/runtime/stubs.go	(working copy)
@@ -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.Pointe
 // 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 {
Index: libgo/runtime/go-libmain.c
===================================================================
--- libgo/runtime/go-libmain.c	(revision 271669)
+++ libgo/runtime/go-libmain.c	(working copy)
@@ -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 ());
Index: libgo/runtime/go-main.c
===================================================================
--- libgo/runtime/go-main.c	(revision 271669)
+++ libgo/runtime/go-main.c	(working copy)
@@ -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 ());
Index: libgo/runtime/proc.c
===================================================================
--- libgo/runtime/proc.c	(revision 271818)
+++ libgo/runtime/proc.c	(working copy)
@@ -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 *s
   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;
-}
Index: libgo/runtime/runtime.h
===================================================================
--- libgo/runtime/runtime.h	(revision 271823)
+++ libgo/runtime/runtime.h	(working copy)
@@ -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*);