| Index: runtime/vm/intermediate_language_mips.cc
|
| diff --git a/runtime/vm/intermediate_language_mips.cc b/runtime/vm/intermediate_language_mips.cc
|
| index 07a8242612860fe3b0fe32b70f5cb15f36687814..cc211bb46cfeb3b2ab6f40f637691992a0e10d34 100644
|
| --- a/runtime/vm/intermediate_language_mips.cc
|
| +++ b/runtime/vm/intermediate_language_mips.cc
|
| @@ -2752,8 +2752,13 @@ void CheckStackOverflowInstr::EmitNativeCode(FlowGraphCompiler* compiler) {
|
| CheckStackOverflowSlowPath* slow_path = new CheckStackOverflowSlowPath(this);
|
| compiler->AddSlowPathCode(slow_path);
|
|
|
| - __ LoadImmediate(TMP, Isolate::Current()->stack_limit_address());
|
| - __ lw(CMPRES1, Address(TMP));
|
| + if (compiler->is_optimizing()) {
|
| + __ LoadImmediate(TMP, Isolate::Current()->stack_limit_address());
|
| + __ lw(CMPRES1, Address(TMP));
|
| + } else {
|
| + __ LoadIsolate(TMP);
|
| + __ lw(CMPRES1, Address(TMP, Isolate::stack_limit_offset()));
|
| + }
|
| __ BranchUnsignedLessEqual(SP, CMPRES1, slow_path->entry_label());
|
| if (compiler->CanOSRFunction() && in_loop()) {
|
| Register temp = locs()->temp(0).reg();
|
|
|