| Index: runtime/vm/intermediate_language_x64.cc
|
| diff --git a/runtime/vm/intermediate_language_x64.cc b/runtime/vm/intermediate_language_x64.cc
|
| index 1f840fd9211b9782ca373355fee1977cb67668cf..b10240ea68cca23fc5bf7c6192a84d78ac62db2e 100644
|
| --- a/runtime/vm/intermediate_language_x64.cc
|
| +++ b/runtime/vm/intermediate_language_x64.cc
|
| @@ -2613,9 +2613,14 @@ class CheckStackOverflowSlowPath : public SlowPathCode {
|
| Register temp = instruction_->locs()->temp(0).reg();
|
| __ Comment("CheckStackOverflowSlowPathOsr");
|
| __ Bind(osr_entry_label());
|
| - ASSERT(FLAG_allow_absolute_addresses);
|
| - __ LoadImmediate(temp, Immediate(flags_address));
|
| - __ movq(Address(temp, 0), Immediate(Isolate::kOsrRequest));
|
| + if (FLAG_allow_absolute_addresses) {
|
| + __ LoadImmediate(temp, Immediate(flags_address));
|
| + __ movq(Address(temp, 0), Immediate(Isolate::kOsrRequest));
|
| + } else {
|
| + __ LoadIsolate(TMP);
|
| + __ movq(Address(TMP, Isolate::stack_overflow_flags_offset()),
|
| + Immediate(Isolate::kOsrRequest));
|
| + }
|
| }
|
| __ Comment("CheckStackOverflowSlowPath");
|
| __ Bind(entry_label());
|
|
|