mirror of
https://github.com/golang/go
synced 2024-11-23 00:10:07 -07:00
cmd/asm,runtime: reduce spellings of GOEXPERIMENTs
Currently, the objabi.Experiment fields use Go-standard CamelCase, the GOEXPERIMENT environment variable flags and build tags use all lowercase, and the asm macros use upper-case with underscores. This CL makes asm use the lowercase names for macros so there is one less spelling, e.g., GOEXPERIMENT_regabiargs. This also makes them consistent with the GOOS_* and GOARCH_* macros, which also use lower case. Change-Id: I305cd89af5e8cd1a89cc148746c034bcfd76db3c Reviewed-on: https://go-review.googlesource.com/c/go/+/307816 Trust: Austin Clements <austin@google.com> Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
parent
aeaa4519b5
commit
0c4a08cb74
@ -57,19 +57,19 @@ func predefine(defines flags.MultiFlag) map[string]*Macro {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if objabi.Experiment.RegabiWrappers {
|
if objabi.Experiment.RegabiWrappers {
|
||||||
set("GOEXPERIMENT_REGABI_WRAPPERS")
|
set("GOEXPERIMENT_regabiwrappers")
|
||||||
}
|
}
|
||||||
if objabi.Experiment.RegabiG {
|
if objabi.Experiment.RegabiG {
|
||||||
set("GOEXPERIMENT_REGABI_G")
|
set("GOEXPERIMENT_regabig")
|
||||||
}
|
}
|
||||||
if objabi.Experiment.RegabiReflect {
|
if objabi.Experiment.RegabiReflect {
|
||||||
set("GOEXPERIMENT_REGABI_REFLECT")
|
set("GOEXPERIMENT_regabireflect")
|
||||||
}
|
}
|
||||||
if objabi.Experiment.RegabiDefer {
|
if objabi.Experiment.RegabiDefer {
|
||||||
set("GOEXPERIMENT_REGABI_DEFER")
|
set("GOEXPERIMENT_regabidefer")
|
||||||
}
|
}
|
||||||
if objabi.Experiment.RegabiArgs {
|
if objabi.Experiment.RegabiArgs {
|
||||||
set("GOEXPERIMENT_REGABI_ARGS")
|
set("GOEXPERIMENT_regabiargs")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -285,7 +285,7 @@ TEXT gogo<>(SB), NOSPLIT, $0
|
|||||||
// Switch to m->g0's stack, call fn(g).
|
// Switch to m->g0's stack, call fn(g).
|
||||||
// Fn must never return. It should gogo(&g->sched)
|
// Fn must never return. It should gogo(&g->sched)
|
||||||
// to keep running g.
|
// to keep running g.
|
||||||
#ifdef GOEXPERIMENT_REGABI_ARGS
|
#ifdef GOEXPERIMENT_regabiargs
|
||||||
TEXT runtime·mcall<ABIInternal>(SB), NOSPLIT, $0-8
|
TEXT runtime·mcall<ABIInternal>(SB), NOSPLIT, $0-8
|
||||||
MOVQ AX, DX // DX = fn
|
MOVQ AX, DX // DX = fn
|
||||||
|
|
||||||
@ -471,7 +471,7 @@ TEXT runtime·morestack_noctxt(SB),NOSPLIT,$0
|
|||||||
MOVL $0, DX
|
MOVL $0, DX
|
||||||
JMP runtime·morestack(SB)
|
JMP runtime·morestack(SB)
|
||||||
|
|
||||||
#ifdef GOEXPERIMENT_REGABI_REFLECT
|
#ifdef GOEXPERIMENT_regabireflect
|
||||||
// spillArgs stores return values from registers to a *internal/abi.RegArgs in R12.
|
// spillArgs stores return values from registers to a *internal/abi.RegArgs in R12.
|
||||||
TEXT ·spillArgs<ABIInternal>(SB),NOSPLIT,$0-0
|
TEXT ·spillArgs<ABIInternal>(SB),NOSPLIT,$0-0
|
||||||
MOVQ AX, 0(R12)
|
MOVQ AX, 0(R12)
|
||||||
@ -689,7 +689,7 @@ TEXT runtime·jmpdefer(SB), NOSPLIT, $0-16
|
|||||||
// or else unwinding from systemstack_switch is incorrect.
|
// or else unwinding from systemstack_switch is incorrect.
|
||||||
// Smashes R9.
|
// Smashes R9.
|
||||||
TEXT gosave_systemstack_switch<>(SB),NOSPLIT,$0
|
TEXT gosave_systemstack_switch<>(SB),NOSPLIT,$0
|
||||||
#ifndef GOEXPERIMENT_REGABI_G
|
#ifndef GOEXPERIMENT_regabig
|
||||||
get_tls(R14)
|
get_tls(R14)
|
||||||
MOVQ g(R14), R14
|
MOVQ g(R14), R14
|
||||||
#endif
|
#endif
|
||||||
@ -1499,7 +1499,7 @@ TEXT runtime·addmoduledata(SB),NOSPLIT,$0-0
|
|||||||
// signals. It is quite painful to set X15 in the signal context,
|
// signals. It is quite painful to set X15 in the signal context,
|
||||||
// so we do it here.
|
// so we do it here.
|
||||||
TEXT ·sigpanic0<ABIInternal>(SB),NOSPLIT,$0-0
|
TEXT ·sigpanic0<ABIInternal>(SB),NOSPLIT,$0-0
|
||||||
#ifdef GOEXPERIMENT_REGABI_G
|
#ifdef GOEXPERIMENT_regabig
|
||||||
get_tls(R14)
|
get_tls(R14)
|
||||||
MOVQ g(R14), R14
|
MOVQ g(R14), R14
|
||||||
XORPS X15, X15
|
XORPS X15, X15
|
||||||
@ -1521,7 +1521,7 @@ TEXT runtime·gcWriteBarrier<ABIInternal>(SB),NOSPLIT,$112
|
|||||||
MOVQ R13, 104(SP)
|
MOVQ R13, 104(SP)
|
||||||
// TODO: Consider passing g.m.p in as an argument so they can be shared
|
// TODO: Consider passing g.m.p in as an argument so they can be shared
|
||||||
// across a sequence of write barriers.
|
// across a sequence of write barriers.
|
||||||
#ifdef GOEXPERIMENT_REGABI_G
|
#ifdef GOEXPERIMENT_regabig
|
||||||
MOVQ g_m(R14), R13
|
MOVQ g_m(R14), R13
|
||||||
#else
|
#else
|
||||||
get_tls(R13)
|
get_tls(R13)
|
||||||
|
@ -44,7 +44,7 @@
|
|||||||
// Defined as ABIInternal so as to avoid introducing a wrapper,
|
// Defined as ABIInternal so as to avoid introducing a wrapper,
|
||||||
// which would render runtime.getcallerpc ineffective.
|
// which would render runtime.getcallerpc ineffective.
|
||||||
TEXT runtime·raceread<ABIInternal>(SB), NOSPLIT, $0-8
|
TEXT runtime·raceread<ABIInternal>(SB), NOSPLIT, $0-8
|
||||||
#ifdef GOEXPERIMENT_REGABI_ARGS
|
#ifdef GOEXPERIMENT_regabiargs
|
||||||
MOVQ AX, RARG1
|
MOVQ AX, RARG1
|
||||||
#else
|
#else
|
||||||
MOVQ addr+0(FP), RARG1
|
MOVQ addr+0(FP), RARG1
|
||||||
@ -74,7 +74,7 @@ TEXT runtime·racereadpc(SB), NOSPLIT, $0-24
|
|||||||
// Defined as ABIInternal so as to avoid introducing a wrapper,
|
// Defined as ABIInternal so as to avoid introducing a wrapper,
|
||||||
// which would render runtime.getcallerpc ineffective.
|
// which would render runtime.getcallerpc ineffective.
|
||||||
TEXT runtime·racewrite<ABIInternal>(SB), NOSPLIT, $0-8
|
TEXT runtime·racewrite<ABIInternal>(SB), NOSPLIT, $0-8
|
||||||
#ifdef GOEXPERIMENT_REGABI_ARGS
|
#ifdef GOEXPERIMENT_regabiargs
|
||||||
MOVQ AX, RARG1
|
MOVQ AX, RARG1
|
||||||
#else
|
#else
|
||||||
MOVQ addr+0(FP), RARG1
|
MOVQ addr+0(FP), RARG1
|
||||||
@ -129,7 +129,7 @@ TEXT runtime·racereadrangepc1(SB), NOSPLIT, $0-24
|
|||||||
// Defined as ABIInternal so as to avoid introducing a wrapper,
|
// Defined as ABIInternal so as to avoid introducing a wrapper,
|
||||||
// which would render runtime.getcallerpc ineffective.
|
// which would render runtime.getcallerpc ineffective.
|
||||||
TEXT runtime·racewriterange<ABIInternal>(SB), NOSPLIT, $0-16
|
TEXT runtime·racewriterange<ABIInternal>(SB), NOSPLIT, $0-16
|
||||||
#ifdef GOEXPERIMENT_REGABI_ARGS
|
#ifdef GOEXPERIMENT_regabiargs
|
||||||
MOVQ AX, RARG1
|
MOVQ AX, RARG1
|
||||||
MOVQ BX, RARG2
|
MOVQ BX, RARG2
|
||||||
#else
|
#else
|
||||||
@ -159,7 +159,7 @@ TEXT runtime·racewriterangepc1(SB), NOSPLIT, $0-24
|
|||||||
// If addr (RARG1) is out of range, do nothing.
|
// If addr (RARG1) is out of range, do nothing.
|
||||||
// Otherwise, setup goroutine context and invoke racecall. Other arguments already set.
|
// Otherwise, setup goroutine context and invoke racecall. Other arguments already set.
|
||||||
TEXT racecalladdr<>(SB), NOSPLIT, $0-0
|
TEXT racecalladdr<>(SB), NOSPLIT, $0-0
|
||||||
#ifndef GOEXPERIMENT_REGABI_G
|
#ifndef GOEXPERIMENT_regabig
|
||||||
get_tls(R12)
|
get_tls(R12)
|
||||||
MOVQ g(R12), R14
|
MOVQ g(R12), R14
|
||||||
#endif
|
#endif
|
||||||
@ -190,7 +190,7 @@ TEXT runtime·racefuncenter(SB), NOSPLIT, $0-8
|
|||||||
// R11 = caller's return address
|
// R11 = caller's return address
|
||||||
TEXT racefuncenter<>(SB), NOSPLIT, $0-0
|
TEXT racefuncenter<>(SB), NOSPLIT, $0-0
|
||||||
MOVQ DX, BX // save function entry context (for closures)
|
MOVQ DX, BX // save function entry context (for closures)
|
||||||
#ifndef GOEXPERIMENT_REGABI_G
|
#ifndef GOEXPERIMENT_regabig
|
||||||
get_tls(R12)
|
get_tls(R12)
|
||||||
MOVQ g(R12), R14
|
MOVQ g(R12), R14
|
||||||
#endif
|
#endif
|
||||||
@ -206,7 +206,7 @@ TEXT racefuncenter<>(SB), NOSPLIT, $0-0
|
|||||||
// func runtime·racefuncexit()
|
// func runtime·racefuncexit()
|
||||||
// Called from instrumented code.
|
// Called from instrumented code.
|
||||||
TEXT runtime·racefuncexit(SB), NOSPLIT, $0-0
|
TEXT runtime·racefuncexit(SB), NOSPLIT, $0-0
|
||||||
#ifndef GOEXPERIMENT_REGABI_G
|
#ifndef GOEXPERIMENT_regabig
|
||||||
get_tls(R12)
|
get_tls(R12)
|
||||||
MOVQ g(R12), R14
|
MOVQ g(R12), R14
|
||||||
#endif
|
#endif
|
||||||
@ -368,7 +368,7 @@ racecallatomic_data:
|
|||||||
JAE racecallatomic_ignore
|
JAE racecallatomic_ignore
|
||||||
racecallatomic_ok:
|
racecallatomic_ok:
|
||||||
// Addr is within the good range, call the atomic function.
|
// Addr is within the good range, call the atomic function.
|
||||||
#ifndef GOEXPERIMENT_REGABI_G
|
#ifndef GOEXPERIMENT_regabig
|
||||||
get_tls(R12)
|
get_tls(R12)
|
||||||
MOVQ g(R12), R14
|
MOVQ g(R12), R14
|
||||||
#endif
|
#endif
|
||||||
@ -383,7 +383,7 @@ racecallatomic_ignore:
|
|||||||
// An attempt to synchronize on the address would cause crash.
|
// An attempt to synchronize on the address would cause crash.
|
||||||
MOVQ AX, BX // remember the original function
|
MOVQ AX, BX // remember the original function
|
||||||
MOVQ $__tsan_go_ignore_sync_begin(SB), AX
|
MOVQ $__tsan_go_ignore_sync_begin(SB), AX
|
||||||
#ifndef GOEXPERIMENT_REGABI_G
|
#ifndef GOEXPERIMENT_regabig
|
||||||
get_tls(R12)
|
get_tls(R12)
|
||||||
MOVQ g(R12), R14
|
MOVQ g(R12), R14
|
||||||
#endif
|
#endif
|
||||||
@ -414,7 +414,7 @@ TEXT runtime·racecall(SB), NOSPLIT, $0-0
|
|||||||
|
|
||||||
// Switches SP to g0 stack and calls (AX). Arguments already set.
|
// Switches SP to g0 stack and calls (AX). Arguments already set.
|
||||||
TEXT racecall<>(SB), NOSPLIT, $0-0
|
TEXT racecall<>(SB), NOSPLIT, $0-0
|
||||||
#ifndef GOEXPERIMENT_REGABI_G
|
#ifndef GOEXPERIMENT_regabig
|
||||||
get_tls(R12)
|
get_tls(R12)
|
||||||
MOVQ g(R12), R14
|
MOVQ g(R12), R14
|
||||||
#endif
|
#endif
|
||||||
|
@ -215,7 +215,7 @@ TEXT runtime·walltime1(SB),NOSPLIT,$16-12
|
|||||||
|
|
||||||
MOVQ SP, R12 // Save old SP; R12 unchanged by C code.
|
MOVQ SP, R12 // Save old SP; R12 unchanged by C code.
|
||||||
|
|
||||||
#ifdef GOEXPERIMENT_REGABI_G
|
#ifdef GOEXPERIMENT_regabig
|
||||||
MOVQ g_m(R14), BX // BX unchanged by C code.
|
MOVQ g_m(R14), BX // BX unchanged by C code.
|
||||||
#else
|
#else
|
||||||
get_tls(CX)
|
get_tls(CX)
|
||||||
@ -236,7 +236,7 @@ TEXT runtime·walltime1(SB),NOSPLIT,$16-12
|
|||||||
MOVQ CX, m_vdsoPC(BX)
|
MOVQ CX, m_vdsoPC(BX)
|
||||||
MOVQ DX, m_vdsoSP(BX)
|
MOVQ DX, m_vdsoSP(BX)
|
||||||
|
|
||||||
#ifdef GOEXPERIMENT_REGABI_G
|
#ifdef GOEXPERIMENT_regabig
|
||||||
CMPQ R14, m_curg(BX) // Only switch if on curg.
|
CMPQ R14, m_curg(BX) // Only switch if on curg.
|
||||||
#else
|
#else
|
||||||
CMPQ AX, m_curg(BX) // Only switch if on curg.
|
CMPQ AX, m_curg(BX) // Only switch if on curg.
|
||||||
@ -283,7 +283,7 @@ TEXT runtime·nanotime1(SB),NOSPLIT,$16-8
|
|||||||
|
|
||||||
MOVQ SP, R12 // Save old SP; R12 unchanged by C code.
|
MOVQ SP, R12 // Save old SP; R12 unchanged by C code.
|
||||||
|
|
||||||
#ifdef GOEXPERIMENT_REGABI_G
|
#ifdef GOEXPERIMENT_regabig
|
||||||
MOVQ g_m(R14), BX // BX unchanged by C code.
|
MOVQ g_m(R14), BX // BX unchanged by C code.
|
||||||
#else
|
#else
|
||||||
get_tls(CX)
|
get_tls(CX)
|
||||||
@ -304,7 +304,7 @@ TEXT runtime·nanotime1(SB),NOSPLIT,$16-8
|
|||||||
MOVQ CX, m_vdsoPC(BX)
|
MOVQ CX, m_vdsoPC(BX)
|
||||||
MOVQ DX, m_vdsoSP(BX)
|
MOVQ DX, m_vdsoSP(BX)
|
||||||
|
|
||||||
#ifdef GOEXPERIMENT_REGABI_G
|
#ifdef GOEXPERIMENT_regabig
|
||||||
CMPQ R14, m_curg(BX) // Only switch if on curg.
|
CMPQ R14, m_curg(BX) // Only switch if on curg.
|
||||||
#else
|
#else
|
||||||
CMPQ AX, m_curg(BX) // Only switch if on curg.
|
CMPQ AX, m_curg(BX) // Only switch if on curg.
|
||||||
|
Loading…
Reference in New Issue
Block a user