Index: runtime/vm/intermediate_language_ia32.cc |
diff --git a/runtime/vm/intermediate_language_ia32.cc b/runtime/vm/intermediate_language_ia32.cc |
index bd83626ec97c8d45599c46aeac729e98827fd903..a6471e15b3bd0bd70f9ce55d0e53f52c46161504 100644 |
--- a/runtime/vm/intermediate_language_ia32.cc |
+++ b/runtime/vm/intermediate_language_ia32.cc |
@@ -2583,11 +2583,10 @@ class CheckStackOverflowSlowPath : public SlowPathCode { |
virtual void EmitNativeCode(FlowGraphCompiler* compiler) { |
if (FLAG_use_osr && osr_entry_label()->IsLinked()) { |
- uword flags_address = Isolate::Current()->stack_overflow_flags_address(); |
__ Comment("CheckStackOverflowSlowPathOsr"); |
__ Bind(osr_entry_label()); |
- __ movl(Address::Absolute(flags_address), |
- Immediate(Isolate::kOsrRequest)); |
+ __ movl(Address(THR, Thread::stack_overflow_flags_offset()), |
+ Immediate(Thread::kOsrRequest)); |
} |
__ Comment("CheckStackOverflowSlowPath"); |
__ Bind(entry_label()); |
@@ -2629,13 +2628,7 @@ void CheckStackOverflowInstr::EmitNativeCode(FlowGraphCompiler* compiler) { |
CheckStackOverflowSlowPath* slow_path = new CheckStackOverflowSlowPath(this); |
compiler->AddSlowPathCode(slow_path); |
- if (compiler->is_optimizing()) { |
- __ cmpl(ESP, Address::Absolute(Isolate::Current()->stack_limit_address())); |
- } else { |
- Register tmp = locs()->temp(0).reg(); |
- __ LoadIsolate(tmp); |
- __ cmpl(ESP, Address(tmp, Isolate::stack_limit_offset())); |
- } |
+ __ cmpl(ESP, Address(THR, Thread::stack_limit_offset())); |
__ j(BELOW_EQUAL, slow_path->entry_label()); |
if (compiler->CanOSRFunction() && in_loop()) { |
// In unoptimized code check the usage counter to trigger OSR at loop |