// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "tonic/dart_isolate_scope.h"

namespace tonic {

DartIsolateScope::DartIsolateScope(Dart_Isolate isolate) {
  isolate_ = isolate;
  previous_ = Dart_CurrentIsolate();
  if (previous_ == isolate_)
    return;
  if (previous_)
    Dart_ExitIsolate();
  Dart_EnterIsolate(isolate_);
}

DartIsolateScope::~DartIsolateScope() {
  DCHECK(Dart_CurrentIsolate() == isolate_);
  if (previous_ == isolate_)
    return;
  Dart_ExitIsolate();
  if (previous_)
    Dart_EnterIsolate(previous_);
}

}  // namespace tonic
