| Index: runtime/vm/dart_entry.cc
|
| diff --git a/runtime/vm/dart_entry.cc b/runtime/vm/dart_entry.cc
|
| index 3845949f8f9e14e9473f7830043f7c81a612e230..e8bc0ce58a6ecea497907fc65a98c404ebf228a6 100644
|
| --- a/runtime/vm/dart_entry.cc
|
| +++ b/runtime/vm/dart_entry.cc
|
| @@ -41,25 +41,23 @@ class ScopedIsolateStackLimits : public ValueObject {
|
| // grows from high to low addresses).
|
| OSThread* os_thread = thread->os_thread();
|
| ASSERT(os_thread != NULL);
|
| - uword current_sp = Isolate::GetCurrentStackPointer();
|
| + uword current_sp = Thread::GetCurrentStackPointer();
|
| if (current_sp > os_thread->stack_base()) {
|
| os_thread->set_stack_base(current_sp);
|
| }
|
| - // Save the Isolate's current stack limit and adjust the stack
|
| + // Save the Thread's current stack limit and adjust the stack
|
| // limit based on the thread's stack_base.
|
| - Isolate* isolate = thread->isolate();
|
| - ASSERT(isolate == Isolate::Current());
|
| - saved_stack_limit_ = isolate->saved_stack_limit();
|
| - isolate->SetStackLimitFromStackBase(os_thread->stack_base());
|
| + ASSERT(thread->isolate() == Isolate::Current());
|
| + saved_stack_limit_ = thread->saved_stack_limit();
|
| + thread->SetStackLimitFromStackBase(os_thread->stack_base());
|
| }
|
|
|
| ~ScopedIsolateStackLimits() {
|
| - Isolate* isolate = thread_->isolate();
|
| - ASSERT(isolate == Isolate::Current());
|
| + ASSERT(thread_->isolate() == Isolate::Current());
|
| // Since we started with a stack limit of 0 we should be getting back
|
| // to a stack limit of 0 when all nested invocations are done and
|
| // we have bottomed out.
|
| - isolate->SetStackLimit(saved_stack_limit_);
|
| + thread_->SetStackLimit(saved_stack_limit_);
|
| }
|
|
|
| private:
|
| @@ -167,12 +165,13 @@ RawObject* DartEntry::InvokeClosure(const Array& arguments,
|
| while (!cls.IsNull()) {
|
| function ^= cls.LookupDynamicFunction(getter_name);
|
| if (!function.IsNull()) {
|
| - Isolate* isolate = Isolate::Current();
|
| - volatile uword c_stack_pos = Isolate::GetCurrentStackPointer();
|
| + Thread* thread = Thread::Current();
|
| + Isolate* isolate = thread->isolate();
|
| + volatile uword c_stack_pos = Thread::GetCurrentStackPointer();
|
| volatile uword c_stack_limit = OSThread::Current()->stack_base() -
|
| OSThread::GetSpecifiedStackSize();
|
| #if !defined(USING_SIMULATOR)
|
| - ASSERT(c_stack_limit == isolate->saved_stack_limit());
|
| + ASSERT(c_stack_limit == thread->saved_stack_limit());
|
| #endif
|
|
|
| if (c_stack_pos < c_stack_limit) {
|
|
|