Chromium Code Reviews| Index: runtime/vm/intermediate_language_arm.cc |
| diff --git a/runtime/vm/intermediate_language_arm.cc b/runtime/vm/intermediate_language_arm.cc |
| index 6538dec12c1126c65b56d981b7ade0a2b455ebe7..4878f1a95ec653e2acbc81107e6893df49205015 100644 |
| --- a/runtime/vm/intermediate_language_arm.cc |
| +++ b/runtime/vm/intermediate_language_arm.cc |
| @@ -2919,8 +2919,13 @@ void CheckStackOverflowInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
| CheckStackOverflowSlowPath* slow_path = new CheckStackOverflowSlowPath(this); |
| compiler->AddSlowPathCode(slow_path); |
| - __ LoadImmediate(IP, Isolate::Current()->stack_limit_address()); |
| - __ ldr(IP, Address(IP)); |
| + if (compiler->is_optimizing()) { |
| + __ LoadImmediate(IP, Isolate::Current()->stack_limit_address()); |
|
Cutch
2015/07/22 17:05:34
We should introduce a new function:
uword Assembl
|
| + __ ldr(IP, Address(IP)); |
| + } else { |
| + __ LoadIsolate(IP); |
| + __ ldr(IP, Address(IP, Isolate::stack_limit_offset())); |
| + } |
| __ cmp(SP, Operand(IP)); |
| __ b(slow_path->entry_label(), LS); |
| if (compiler->CanOSRFunction() && in_loop()) { |