Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(661)

Delta Between Two Patch Sets: src/pkg/runtime/asm_arm.s

Issue 7395050: code review 7395050: cmd/6g, cmd/8g: switch to DX for indirect call block (Closed)
Left Patch Set: diff -r 1852ee47001a https://go.googlecode.com/hg/ Created 12 years ago
Right Patch Set: diff -r 083759101bc9 https://go.googlecode.com/hg/ Created 12 years ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « src/pkg/runtime/asm_amd64.s ('k') | src/pkg/runtime/runtime.h » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 // Copyright 2009 The Go Authors. All rights reserved. 1 // Copyright 2009 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style 2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file. 3 // license that can be found in the LICENSE file.
4 4
5 #include "zasm_GOOS_GOARCH.h" 5 #include "zasm_GOOS_GOARCH.h"
6 6
7 // using frame size $-4 means do not save LR on stack. 7 // using frame size $-4 means do not save LR on stack.
8 TEXT _rt0_arm(SB),7,$-4 8 TEXT _rt0_arm(SB),7,$-4
9 MOVW $0xcafebabe, R12 9 MOVW $0xcafebabe, R12
10 10
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 // NB. we do not save R0 because we've forced 5c to pass all arguments 181 // NB. we do not save R0 because we've forced 5c to pass all arguments
182 // on the stack. 182 // on the stack.
183 // using frame size $-4 means do not save LR on stack. 183 // using frame size $-4 means do not save LR on stack.
184 TEXT runtime·morestack(SB),7,$-4 184 TEXT runtime·morestack(SB),7,$-4
185 // Cannot grow scheduler stack (m->g0). 185 // Cannot grow scheduler stack (m->g0).
186 MOVW m_g0(m), R4 186 MOVW m_g0(m), R4
187 CMP g, R4 187 CMP g, R4
188 BL.EQ runtime·abort(SB) 188 BL.EQ runtime·abort(SB)
189 189
190 // Save in m. 190 // Save in m.
191 MOVW R0, m_cret(m) // function context
191 MOVW R1, m_moreframesize(m) 192 MOVW R1, m_moreframesize(m)
192 MOVW R2, m_moreargsize(m) 193 MOVW R2, m_moreargsize(m)
193 194
194 // Called from f. 195 // Called from f.
195 // Set m->morebuf to f's caller. 196 // Set m->morebuf to f's caller.
196 MOVW R3, (m_morebuf+gobuf_pc)(m) // f's caller's PC 197 MOVW R3, (m_morebuf+gobuf_pc)(m) // f's caller's PC
197 MOVW SP, (m_morebuf+gobuf_sp)(m) // f's caller's SP 198 MOVW SP, (m_morebuf+gobuf_sp)(m) // f's caller's SP
198 MOVW $4(SP), R3 // f's argument pointer 199 MOVW $4(SP), R3 // f's argument pointer
199 MOVW R3, m_moreargp(m)······· 200 MOVW R3, m_moreargp(m)·······
200 MOVW g, (m_morebuf+gobuf_g)(m) 201 MOVW g, (m_morebuf+gobuf_g)(m)
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 casfail: 468 casfail:
468 MOVW $0, R0 469 MOVW $0, R0
469 RET 470 RET
470 471
471 TEXT runtime·stackguard(SB),7,$0 472 TEXT runtime·stackguard(SB),7,$0
472 MOVW R13, R1 473 MOVW R13, R1
473 MOVW g_stackguard(g), R2 474 MOVW g_stackguard(g), R2
474 MOVW R1, sp+0(FP) 475 MOVW R1, sp+0(FP)
475 MOVW R2, limit+4(FP) 476 MOVW R2, limit+4(FP)
476 RET 477 RET
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b