mirror of
https://github.com/golang/go.git
synced 2025-10-19 19:13:18 +00:00
runtime: remove ret field from gobuf
It's not used for anything. Change-Id: I031b3cdfe52b6b1cff4b3cb6713ffe588084542f Reviewed-on: https://go-review.googlesource.com/c/go/+/652276 Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: David Chase <drchase@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This commit is contained in:
parent
2e71ae33ca
commit
c594762ad5
15 changed files with 3 additions and 38 deletions
|
@ -551,7 +551,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
|
||||||
p.From.Reg = q1.From.Reg
|
p.From.Reg = q1.From.Reg
|
||||||
p.To.Type = obj.TYPE_MEM
|
p.To.Type = obj.TYPE_MEM
|
||||||
p.To.Reg = REGTMP
|
p.To.Reg = REGTMP
|
||||||
p.To.Offset = 8 * 4 // offset of m.divmod
|
p.To.Offset = 7 * 4 // offset of m.divmod
|
||||||
|
|
||||||
/* MOV b, R8 */
|
/* MOV b, R8 */
|
||||||
p = obj.Appendp(p, newprog)
|
p = obj.Appendp(p, newprog)
|
||||||
|
|
|
@ -291,10 +291,8 @@ TEXT gogo<>(SB), NOSPLIT, $0
|
||||||
get_tls(CX)
|
get_tls(CX)
|
||||||
MOVL DX, g(CX)
|
MOVL DX, g(CX)
|
||||||
MOVL gobuf_sp(BX), SP // restore SP
|
MOVL gobuf_sp(BX), SP // restore SP
|
||||||
MOVL gobuf_ret(BX), AX
|
|
||||||
MOVL gobuf_ctxt(BX), DX
|
MOVL gobuf_ctxt(BX), DX
|
||||||
MOVL $0, gobuf_sp(BX) // clear to help garbage collector
|
MOVL $0, gobuf_sp(BX) // clear to help garbage collector
|
||||||
MOVL $0, gobuf_ret(BX)
|
|
||||||
MOVL $0, gobuf_ctxt(BX)
|
MOVL $0, gobuf_ctxt(BX)
|
||||||
MOVL gobuf_pc(BX), BX
|
MOVL gobuf_pc(BX), BX
|
||||||
JMP BX
|
JMP BX
|
||||||
|
@ -625,7 +623,6 @@ TEXT gosave_systemstack_switch<>(SB),NOSPLIT,$0
|
||||||
MOVL AX, (g_sched+gobuf_sp)(BX)
|
MOVL AX, (g_sched+gobuf_sp)(BX)
|
||||||
MOVL $runtime·systemstack_switch(SB), AX
|
MOVL $runtime·systemstack_switch(SB), AX
|
||||||
MOVL AX, (g_sched+gobuf_pc)(BX)
|
MOVL AX, (g_sched+gobuf_pc)(BX)
|
||||||
MOVL $0, (g_sched+gobuf_ret)(BX)
|
|
||||||
// Assert ctxt is zero. See func save.
|
// Assert ctxt is zero. See func save.
|
||||||
MOVL (g_sched+gobuf_ctxt)(BX), AX
|
MOVL (g_sched+gobuf_ctxt)(BX), AX
|
||||||
TESTL AX, AX
|
TESTL AX, AX
|
||||||
|
|
|
@ -412,11 +412,9 @@ TEXT gogo<>(SB), NOSPLIT, $0
|
||||||
MOVQ DX, g(CX)
|
MOVQ DX, g(CX)
|
||||||
MOVQ DX, R14 // set the g register
|
MOVQ DX, R14 // set the g register
|
||||||
MOVQ gobuf_sp(BX), SP // restore SP
|
MOVQ gobuf_sp(BX), SP // restore SP
|
||||||
MOVQ gobuf_ret(BX), AX
|
|
||||||
MOVQ gobuf_ctxt(BX), DX
|
MOVQ gobuf_ctxt(BX), DX
|
||||||
MOVQ gobuf_bp(BX), BP
|
MOVQ gobuf_bp(BX), BP
|
||||||
MOVQ $0, gobuf_sp(BX) // clear to help garbage collector
|
MOVQ $0, gobuf_sp(BX) // clear to help garbage collector
|
||||||
MOVQ $0, gobuf_ret(BX)
|
|
||||||
MOVQ $0, gobuf_ctxt(BX)
|
MOVQ $0, gobuf_ctxt(BX)
|
||||||
MOVQ $0, gobuf_bp(BX)
|
MOVQ $0, gobuf_bp(BX)
|
||||||
MOVQ gobuf_pc(BX), BX
|
MOVQ gobuf_pc(BX), BX
|
||||||
|
@ -828,7 +826,6 @@ TEXT gosave_systemstack_switch<>(SB),NOSPLIT|NOFRAME,$0
|
||||||
MOVQ R9, (g_sched+gobuf_pc)(R14)
|
MOVQ R9, (g_sched+gobuf_pc)(R14)
|
||||||
LEAQ 8(SP), R9
|
LEAQ 8(SP), R9
|
||||||
MOVQ R9, (g_sched+gobuf_sp)(R14)
|
MOVQ R9, (g_sched+gobuf_sp)(R14)
|
||||||
MOVQ $0, (g_sched+gobuf_ret)(R14)
|
|
||||||
MOVQ BP, (g_sched+gobuf_bp)(R14)
|
MOVQ BP, (g_sched+gobuf_bp)(R14)
|
||||||
// Assert ctxt is zero. See func save.
|
// Assert ctxt is zero. See func save.
|
||||||
MOVQ (g_sched+gobuf_ctxt)(R14), R9
|
MOVQ (g_sched+gobuf_ctxt)(R14), R9
|
||||||
|
|
|
@ -226,11 +226,9 @@ TEXT gogo<>(SB),NOSPLIT|NOFRAME,$0
|
||||||
BL setg<>(SB)
|
BL setg<>(SB)
|
||||||
MOVW gobuf_sp(R1), R13 // restore SP==R13
|
MOVW gobuf_sp(R1), R13 // restore SP==R13
|
||||||
MOVW gobuf_lr(R1), LR
|
MOVW gobuf_lr(R1), LR
|
||||||
MOVW gobuf_ret(R1), R0
|
|
||||||
MOVW gobuf_ctxt(R1), R7
|
MOVW gobuf_ctxt(R1), R7
|
||||||
MOVW $0, R11
|
MOVW $0, R11
|
||||||
MOVW R11, gobuf_sp(R1) // clear to help garbage collector
|
MOVW R11, gobuf_sp(R1) // clear to help garbage collector
|
||||||
MOVW R11, gobuf_ret(R1)
|
|
||||||
MOVW R11, gobuf_lr(R1)
|
MOVW R11, gobuf_lr(R1)
|
||||||
MOVW R11, gobuf_ctxt(R1)
|
MOVW R11, gobuf_ctxt(R1)
|
||||||
MOVW gobuf_pc(R1), R11
|
MOVW gobuf_pc(R1), R11
|
||||||
|
@ -550,7 +548,6 @@ TEXT gosave_systemstack_switch<>(SB),NOSPLIT|NOFRAME,$0
|
||||||
MOVW R13, (g_sched+gobuf_sp)(g)
|
MOVW R13, (g_sched+gobuf_sp)(g)
|
||||||
MOVW $0, R11
|
MOVW $0, R11
|
||||||
MOVW R11, (g_sched+gobuf_lr)(g)
|
MOVW R11, (g_sched+gobuf_lr)(g)
|
||||||
MOVW R11, (g_sched+gobuf_ret)(g)
|
|
||||||
// Assert ctxt is zero. See func save.
|
// Assert ctxt is zero. See func save.
|
||||||
MOVW (g_sched+gobuf_ctxt)(g), R11
|
MOVW (g_sched+gobuf_ctxt)(g), R11
|
||||||
TST R11, R11
|
TST R11, R11
|
||||||
|
|
|
@ -199,11 +199,9 @@ TEXT gogo<>(SB), NOSPLIT|NOFRAME, $0
|
||||||
MOVD R0, RSP
|
MOVD R0, RSP
|
||||||
MOVD gobuf_bp(R5), R29
|
MOVD gobuf_bp(R5), R29
|
||||||
MOVD gobuf_lr(R5), LR
|
MOVD gobuf_lr(R5), LR
|
||||||
MOVD gobuf_ret(R5), R0
|
|
||||||
MOVD gobuf_ctxt(R5), R26
|
MOVD gobuf_ctxt(R5), R26
|
||||||
MOVD $0, gobuf_sp(R5)
|
MOVD $0, gobuf_sp(R5)
|
||||||
MOVD $0, gobuf_bp(R5)
|
MOVD $0, gobuf_bp(R5)
|
||||||
MOVD $0, gobuf_ret(R5)
|
|
||||||
MOVD $0, gobuf_lr(R5)
|
MOVD $0, gobuf_lr(R5)
|
||||||
MOVD $0, gobuf_ctxt(R5)
|
MOVD $0, gobuf_ctxt(R5)
|
||||||
CMP ZR, ZR // set condition codes for == test, needed by stack split
|
CMP ZR, ZR // set condition codes for == test, needed by stack split
|
||||||
|
@ -985,7 +983,6 @@ TEXT gosave_systemstack_switch<>(SB),NOSPLIT|NOFRAME,$0
|
||||||
MOVD R0, (g_sched+gobuf_sp)(g)
|
MOVD R0, (g_sched+gobuf_sp)(g)
|
||||||
MOVD R29, (g_sched+gobuf_bp)(g)
|
MOVD R29, (g_sched+gobuf_bp)(g)
|
||||||
MOVD $0, (g_sched+gobuf_lr)(g)
|
MOVD $0, (g_sched+gobuf_lr)(g)
|
||||||
MOVD $0, (g_sched+gobuf_ret)(g)
|
|
||||||
// Assert ctxt is zero. See func save.
|
// Assert ctxt is zero. See func save.
|
||||||
MOVD (g_sched+gobuf_ctxt)(g), R0
|
MOVD (g_sched+gobuf_ctxt)(g), R0
|
||||||
CBZ R0, 2(PC)
|
CBZ R0, 2(PC)
|
||||||
|
|
|
@ -113,10 +113,8 @@ TEXT gogo<>(SB), NOSPLIT|NOFRAME, $0
|
||||||
|
|
||||||
MOVV gobuf_sp(R4), R3
|
MOVV gobuf_sp(R4), R3
|
||||||
MOVV gobuf_lr(R4), R1
|
MOVV gobuf_lr(R4), R1
|
||||||
MOVV gobuf_ret(R4), R19
|
|
||||||
MOVV gobuf_ctxt(R4), REGCTXT
|
MOVV gobuf_ctxt(R4), REGCTXT
|
||||||
MOVV R0, gobuf_sp(R4)
|
MOVV R0, gobuf_sp(R4)
|
||||||
MOVV R0, gobuf_ret(R4)
|
|
||||||
MOVV R0, gobuf_lr(R4)
|
MOVV R0, gobuf_lr(R4)
|
||||||
MOVV R0, gobuf_ctxt(R4)
|
MOVV R0, gobuf_ctxt(R4)
|
||||||
MOVV gobuf_pc(R4), R6
|
MOVV gobuf_pc(R4), R6
|
||||||
|
@ -468,7 +466,6 @@ TEXT gosave_systemstack_switch<>(SB),NOSPLIT|NOFRAME,$0
|
||||||
MOVV R19, (g_sched+gobuf_pc)(g)
|
MOVV R19, (g_sched+gobuf_pc)(g)
|
||||||
MOVV R3, (g_sched+gobuf_sp)(g)
|
MOVV R3, (g_sched+gobuf_sp)(g)
|
||||||
MOVV R0, (g_sched+gobuf_lr)(g)
|
MOVV R0, (g_sched+gobuf_lr)(g)
|
||||||
MOVV R0, (g_sched+gobuf_ret)(g)
|
|
||||||
// Assert ctxt is zero. See func save.
|
// Assert ctxt is zero. See func save.
|
||||||
MOVV (g_sched+gobuf_ctxt)(g), R19
|
MOVV (g_sched+gobuf_ctxt)(g), R19
|
||||||
BEQ R19, 2(PC)
|
BEQ R19, 2(PC)
|
||||||
|
|
|
@ -107,10 +107,8 @@ TEXT gogo<>(SB), NOSPLIT|NOFRAME, $0
|
||||||
MOVV 0(g), R2
|
MOVV 0(g), R2
|
||||||
MOVV gobuf_sp(R3), R29
|
MOVV gobuf_sp(R3), R29
|
||||||
MOVV gobuf_lr(R3), R31
|
MOVV gobuf_lr(R3), R31
|
||||||
MOVV gobuf_ret(R3), R1
|
|
||||||
MOVV gobuf_ctxt(R3), REGCTXT
|
MOVV gobuf_ctxt(R3), REGCTXT
|
||||||
MOVV R0, gobuf_sp(R3)
|
MOVV R0, gobuf_sp(R3)
|
||||||
MOVV R0, gobuf_ret(R3)
|
|
||||||
MOVV R0, gobuf_lr(R3)
|
MOVV R0, gobuf_lr(R3)
|
||||||
MOVV R0, gobuf_ctxt(R3)
|
MOVV R0, gobuf_ctxt(R3)
|
||||||
MOVV gobuf_pc(R3), R4
|
MOVV gobuf_pc(R3), R4
|
||||||
|
@ -424,7 +422,6 @@ TEXT gosave_systemstack_switch<>(SB),NOSPLIT|NOFRAME,$0
|
||||||
MOVV R1, (g_sched+gobuf_pc)(g)
|
MOVV R1, (g_sched+gobuf_pc)(g)
|
||||||
MOVV R29, (g_sched+gobuf_sp)(g)
|
MOVV R29, (g_sched+gobuf_sp)(g)
|
||||||
MOVV R0, (g_sched+gobuf_lr)(g)
|
MOVV R0, (g_sched+gobuf_lr)(g)
|
||||||
MOVV R0, (g_sched+gobuf_ret)(g)
|
|
||||||
// Assert ctxt is zero. See func save.
|
// Assert ctxt is zero. See func save.
|
||||||
MOVV (g_sched+gobuf_ctxt)(g), R1
|
MOVV (g_sched+gobuf_ctxt)(g), R1
|
||||||
BEQ R1, 2(PC)
|
BEQ R1, 2(PC)
|
||||||
|
|
|
@ -106,10 +106,8 @@ TEXT gogo<>(SB),NOSPLIT|NOFRAME,$0
|
||||||
JAL runtime·save_g(SB)
|
JAL runtime·save_g(SB)
|
||||||
MOVW gobuf_sp(R3), R29
|
MOVW gobuf_sp(R3), R29
|
||||||
MOVW gobuf_lr(R3), R31
|
MOVW gobuf_lr(R3), R31
|
||||||
MOVW gobuf_ret(R3), R1
|
|
||||||
MOVW gobuf_ctxt(R3), REGCTXT
|
MOVW gobuf_ctxt(R3), REGCTXT
|
||||||
MOVW R0, gobuf_sp(R3)
|
MOVW R0, gobuf_sp(R3)
|
||||||
MOVW R0, gobuf_ret(R3)
|
|
||||||
MOVW R0, gobuf_lr(R3)
|
MOVW R0, gobuf_lr(R3)
|
||||||
MOVW R0, gobuf_ctxt(R3)
|
MOVW R0, gobuf_ctxt(R3)
|
||||||
MOVW gobuf_pc(R3), R4
|
MOVW gobuf_pc(R3), R4
|
||||||
|
@ -422,7 +420,6 @@ TEXT gosave_systemstack_switch<>(SB),NOSPLIT|NOFRAME,$0
|
||||||
MOVW R1, (g_sched+gobuf_pc)(g)
|
MOVW R1, (g_sched+gobuf_pc)(g)
|
||||||
MOVW R29, (g_sched+gobuf_sp)(g)
|
MOVW R29, (g_sched+gobuf_sp)(g)
|
||||||
MOVW R0, (g_sched+gobuf_lr)(g)
|
MOVW R0, (g_sched+gobuf_lr)(g)
|
||||||
MOVW R0, (g_sched+gobuf_ret)(g)
|
|
||||||
// Assert ctxt is zero. See func save.
|
// Assert ctxt is zero. See func save.
|
||||||
MOVW (g_sched+gobuf_ctxt)(g), R1
|
MOVW (g_sched+gobuf_ctxt)(g), R1
|
||||||
BEQ R1, 2(PC)
|
BEQ R1, 2(PC)
|
||||||
|
|
|
@ -154,10 +154,8 @@ TEXT gogo<>(SB), NOSPLIT|NOFRAME, $0
|
||||||
MOVD 24(R1), R2 // restore R2
|
MOVD 24(R1), R2 // restore R2
|
||||||
#endif
|
#endif
|
||||||
MOVD R31, LR
|
MOVD R31, LR
|
||||||
MOVD gobuf_ret(R5), R3
|
|
||||||
MOVD gobuf_ctxt(R5), R11
|
MOVD gobuf_ctxt(R5), R11
|
||||||
MOVD R0, gobuf_sp(R5)
|
MOVD R0, gobuf_sp(R5)
|
||||||
MOVD R0, gobuf_ret(R5)
|
|
||||||
MOVD R0, gobuf_lr(R5)
|
MOVD R0, gobuf_lr(R5)
|
||||||
MOVD R0, gobuf_ctxt(R5)
|
MOVD R0, gobuf_ctxt(R5)
|
||||||
CMP R0, R0 // set condition codes for == test, needed by stack split
|
CMP R0, R0 // set condition codes for == test, needed by stack split
|
||||||
|
@ -561,7 +559,6 @@ TEXT gosave_systemstack_switch<>(SB),NOSPLIT|NOFRAME,$0
|
||||||
MOVD R31, (g_sched+gobuf_pc)(g)
|
MOVD R31, (g_sched+gobuf_pc)(g)
|
||||||
MOVD R1, (g_sched+gobuf_sp)(g)
|
MOVD R1, (g_sched+gobuf_sp)(g)
|
||||||
MOVD R0, (g_sched+gobuf_lr)(g)
|
MOVD R0, (g_sched+gobuf_lr)(g)
|
||||||
MOVD R0, (g_sched+gobuf_ret)(g)
|
|
||||||
// Assert ctxt is zero. See func save.
|
// Assert ctxt is zero. See func save.
|
||||||
MOVD (g_sched+gobuf_ctxt)(g), R31
|
MOVD (g_sched+gobuf_ctxt)(g), R31
|
||||||
CMP R31, $0
|
CMP R31, $0
|
||||||
|
|
|
@ -262,10 +262,8 @@ TEXT gogo<>(SB), NOSPLIT|NOFRAME, $0
|
||||||
|
|
||||||
MOV gobuf_sp(T0), X2
|
MOV gobuf_sp(T0), X2
|
||||||
MOV gobuf_lr(T0), RA
|
MOV gobuf_lr(T0), RA
|
||||||
MOV gobuf_ret(T0), A0
|
|
||||||
MOV gobuf_ctxt(T0), CTXT
|
MOV gobuf_ctxt(T0), CTXT
|
||||||
MOV ZERO, gobuf_sp(T0)
|
MOV ZERO, gobuf_sp(T0)
|
||||||
MOV ZERO, gobuf_ret(T0)
|
|
||||||
MOV ZERO, gobuf_lr(T0)
|
MOV ZERO, gobuf_lr(T0)
|
||||||
MOV ZERO, gobuf_ctxt(T0)
|
MOV ZERO, gobuf_ctxt(T0)
|
||||||
MOV gobuf_pc(T0), T0
|
MOV gobuf_pc(T0), T0
|
||||||
|
@ -315,7 +313,6 @@ TEXT gosave_systemstack_switch<>(SB),NOSPLIT|NOFRAME,$0
|
||||||
MOV X31, (g_sched+gobuf_pc)(g)
|
MOV X31, (g_sched+gobuf_pc)(g)
|
||||||
MOV X2, (g_sched+gobuf_sp)(g)
|
MOV X2, (g_sched+gobuf_sp)(g)
|
||||||
MOV ZERO, (g_sched+gobuf_lr)(g)
|
MOV ZERO, (g_sched+gobuf_lr)(g)
|
||||||
MOV ZERO, (g_sched+gobuf_ret)(g)
|
|
||||||
// Assert ctxt is zero. See func save.
|
// Assert ctxt is zero. See func save.
|
||||||
MOV (g_sched+gobuf_ctxt)(g), X31
|
MOV (g_sched+gobuf_ctxt)(g), X31
|
||||||
BEQ ZERO, X31, 2(PC)
|
BEQ ZERO, X31, 2(PC)
|
||||||
|
|
|
@ -193,10 +193,8 @@ TEXT gogo<>(SB), NOSPLIT|NOFRAME, $0
|
||||||
MOVD 0(g), R4
|
MOVD 0(g), R4
|
||||||
MOVD gobuf_sp(R5), R15
|
MOVD gobuf_sp(R5), R15
|
||||||
MOVD gobuf_lr(R5), LR
|
MOVD gobuf_lr(R5), LR
|
||||||
MOVD gobuf_ret(R5), R3
|
|
||||||
MOVD gobuf_ctxt(R5), R12
|
MOVD gobuf_ctxt(R5), R12
|
||||||
MOVD $0, gobuf_sp(R5)
|
MOVD $0, gobuf_sp(R5)
|
||||||
MOVD $0, gobuf_ret(R5)
|
|
||||||
MOVD $0, gobuf_lr(R5)
|
MOVD $0, gobuf_lr(R5)
|
||||||
MOVD $0, gobuf_ctxt(R5)
|
MOVD $0, gobuf_ctxt(R5)
|
||||||
CMP R0, R0 // set condition codes for == test, needed by stack split
|
CMP R0, R0 // set condition codes for == test, needed by stack split
|
||||||
|
@ -522,7 +520,6 @@ TEXT gosave_systemstack_switch<>(SB),NOSPLIT|NOFRAME,$0
|
||||||
MOVD R1, (g_sched+gobuf_pc)(g)
|
MOVD R1, (g_sched+gobuf_pc)(g)
|
||||||
MOVD R15, (g_sched+gobuf_sp)(g)
|
MOVD R15, (g_sched+gobuf_sp)(g)
|
||||||
MOVD $0, (g_sched+gobuf_lr)(g)
|
MOVD $0, (g_sched+gobuf_lr)(g)
|
||||||
MOVD $0, (g_sched+gobuf_ret)(g)
|
|
||||||
// Assert ctxt is zero. See func save.
|
// Assert ctxt is zero. See func save.
|
||||||
MOVD (g_sched+gobuf_ctxt)(g), R1
|
MOVD (g_sched+gobuf_ctxt)(g), R1
|
||||||
CMPBEQ R1, $0, 2(PC)
|
CMPBEQ R1, $0, 2(PC)
|
||||||
|
|
|
@ -51,11 +51,9 @@ TEXT runtime·gogo(SB), NOSPLIT, $0-8
|
||||||
I64Load gobuf_pc(R0)
|
I64Load gobuf_pc(R0)
|
||||||
I64Store $0
|
I64Store $0
|
||||||
|
|
||||||
MOVD gobuf_ret(R0), RET0
|
|
||||||
MOVD gobuf_ctxt(R0), CTXT
|
MOVD gobuf_ctxt(R0), CTXT
|
||||||
// clear to help garbage collector
|
// clear to help garbage collector
|
||||||
MOVD $0, gobuf_sp(R0)
|
MOVD $0, gobuf_sp(R0)
|
||||||
MOVD $0, gobuf_ret(R0)
|
|
||||||
MOVD $0, gobuf_ctxt(R0)
|
MOVD $0, gobuf_ctxt(R0)
|
||||||
|
|
||||||
I32Const $1
|
I32Const $1
|
||||||
|
|
|
@ -4399,7 +4399,6 @@ func save(pc, sp, bp uintptr) {
|
||||||
gp.sched.pc = pc
|
gp.sched.pc = pc
|
||||||
gp.sched.sp = sp
|
gp.sched.sp = sp
|
||||||
gp.sched.lr = 0
|
gp.sched.lr = 0
|
||||||
gp.sched.ret = 0
|
|
||||||
gp.sched.bp = bp
|
gp.sched.bp = bp
|
||||||
// We need to ensure ctxt is zero, but can't have a write
|
// We need to ensure ctxt is zero, but can't have a write
|
||||||
// barrier here. However, it should always already be zero.
|
// barrier here. However, it should always already be zero.
|
||||||
|
|
|
@ -312,7 +312,6 @@ type gobuf struct {
|
||||||
pc uintptr
|
pc uintptr
|
||||||
g guintptr
|
g guintptr
|
||||||
ctxt unsafe.Pointer
|
ctxt unsafe.Pointer
|
||||||
ret uintptr
|
|
||||||
lr uintptr
|
lr uintptr
|
||||||
bp uintptr // for framepointer-enabled architectures
|
bp uintptr // for framepointer-enabled architectures
|
||||||
}
|
}
|
||||||
|
@ -528,8 +527,7 @@ const (
|
||||||
type m struct {
|
type m struct {
|
||||||
g0 *g // goroutine with scheduling stack
|
g0 *g // goroutine with scheduling stack
|
||||||
morebuf gobuf // gobuf arg to morestack
|
morebuf gobuf // gobuf arg to morestack
|
||||||
divmod uint32 // div/mod denominator for arm - known to liblink
|
divmod uint32 // div/mod denominator for arm - known to liblink (cmd/internal/obj/arm/obj5.go)
|
||||||
_ uint32 // align next field to 8 bytes
|
|
||||||
|
|
||||||
// Fields not known to debuggers.
|
// Fields not known to debuggers.
|
||||||
procid uint64 // for debuggers, but offset not hard-coded
|
procid uint64 // for debuggers, but offset not hard-coded
|
||||||
|
|
|
@ -20,7 +20,7 @@ func TestSizeof(t *testing.T) {
|
||||||
_32bit uintptr // size on 32bit platforms
|
_32bit uintptr // size on 32bit platforms
|
||||||
_64bit uintptr // size on 64bit platforms
|
_64bit uintptr // size on 64bit platforms
|
||||||
}{
|
}{
|
||||||
{runtime.G{}, 280, 440}, // g, but exported for testing
|
{runtime.G{}, 276, 432}, // g, but exported for testing
|
||||||
{runtime.Sudog{}, 56, 88}, // sudog, but exported for testing
|
{runtime.Sudog{}, 56, 88}, // sudog, but exported for testing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue