| Index: runtime/vm/intermediate_language_arm.cc
|
| diff --git a/runtime/vm/intermediate_language_arm.cc b/runtime/vm/intermediate_language_arm.cc
|
| index a86906adeb1865d69aed1b6941a5c5b94c76ae85..3c810461c0b6ace7e11d6a22cac841872e23c9b3 100644
|
| --- a/runtime/vm/intermediate_language_arm.cc
|
| +++ b/runtime/vm/intermediate_language_arm.cc
|
| @@ -2883,10 +2883,15 @@ class CheckStackOverflowSlowPath : public SlowPathCode {
|
| const Register value = instruction_->locs()->temp(0).reg();
|
| __ Comment("CheckStackOverflowSlowPathOsr");
|
| __ Bind(osr_entry_label());
|
| - ASSERT(FLAG_allow_absolute_addresses);
|
| - __ LoadImmediate(IP, flags_address);
|
| - __ LoadImmediate(value, Isolate::kOsrRequest);
|
| - __ str(value, Address(IP));
|
| + if (FLAG_allow_absolute_addresses) {
|
| + __ LoadImmediate(IP, flags_address);
|
| + __ LoadImmediate(value, Isolate::kOsrRequest);
|
| + __ str(value, Address(IP));
|
| + } else {
|
| + __ LoadIsolate(IP);
|
| + __ LoadImmediate(value, Isolate::kOsrRequest);
|
| + __ str(value, Address(IP, Isolate::stack_overflow_flags_offset()));
|
| + }
|
| }
|
| __ Comment("CheckStackOverflowSlowPath");
|
| __ Bind(entry_label());
|
|
|