Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mu
mu-impl-fast
Commits
0e1bf645
Commit
0e1bf645
authored
Jul 12, 2017
by
Isaac Oscar Gariano
Browse files
Working? workardound for infinite loop
parent
6622dea7
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/compiler/backend/arch/aarch64/asm_backend.rs
View file @
0e1bf645
...
...
@@ -2053,7 +2053,7 @@ impl CodeGenerator for ASMCodeGen {
fn
emit_frame_shrink
(
&
mut
self
)
{
trace!
(
"emit:
\t
frame shrink"
);
let
asm
=
format!
(
"ADD SP,SP,#{}"
,
FRAME_SIZE_PLACEHOLDER
.clone
());
let
asm
=
format!
(
"ADD SP,SP,#{}
; MOV SP, X29
"
,
FRAME_SIZE_PLACEHOLDER
.clone
());
let
line
=
self
.line
();
self
.cur_mut
()
.add_frame_size_patchpoint
(
ASMLocation
::
new
(
line
,
11
,
FRAME_SIZE_PLACEHOLDER_LEN
,
0
));
...
...
src/compiler/backend/arch/aarch64/inst_sel.rs
View file @
0e1bf645
...
...
@@ -3739,13 +3739,13 @@ impl <'a> InstructionSelection {
}
// Pop the frame record
//
self.backend.emit_frame_shrink();
self
.backend
.emit_frame_shrink
();
//self.backend.emit_mov(&SP, &FP);
//
self.backend.emit_pop_pair(&FP, &LR, &SP);
self
.backend
.emit_pop_pair
(
&
FP
,
&
LR
,
&
SP
);
// Note: the stack pointer should now be what it was when the function was called
//
self.backend.emit_ret(&LR); // return to the Link Register
self
.backend
.emit_fake_ret
();
self
.backend
.emit_ret
(
&
LR
);
// return to the Link Register
//
self.backend.emit_fake_ret();
self
.finish_block
();
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment