Flutter Engine
The Flutter Engine
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
base_isolate.h
Go to the documentation of this file.
1// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2// for details. All rights reserved. Use of this source code is governed by a
3// BSD-style license that can be found in the LICENSE file.
4
5#ifndef RUNTIME_VM_BASE_ISOLATE_H_
6#define RUNTIME_VM_BASE_ISOLATE_H_
7
8#include "platform/assert.h"
9#include "vm/globals.h"
10
11namespace dart {
12
13class HandleScope;
14class StackResource;
15class Thread;
16class Zone;
17
18// A BaseIsolate contains just enough functionality to allocate
19// StackResources. This allows us to inline the StackResource
20// constructor/destructor for performance.
22 public:
23#if defined(DEBUG)
24 static void AssertCurrent(BaseIsolate* isolate);
25#endif
26
27 protected:
29
31 // Do not delete stack resources: top_resource_ and current_zone_.
32 }
33
35
36 // Stores the saved [Thread] object of a mutator. Mutators may retain their
37 // thread even when being descheduled (e.g. due to having an active stack).
39
40 private:
41 DISALLOW_COPY_AND_ASSIGN(BaseIsolate);
42};
43
44} // namespace dart
45
46#endif // RUNTIME_VM_BASE_ISOLATE_H_
Thread * scheduled_mutator_thread_
Definition: base_isolate.h:34
Thread * mutator_thread_
Definition: base_isolate.h:38
Definition: dart_vm.cc:33