| Index: runtime/vm/isolate.cc
|
| diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
|
| index e2c77fa0066167c8263fda45688a222fc1a48953..c4d7978da840dab96b4fe38a60670703368d081c 100644
|
| --- a/runtime/vm/isolate.cc
|
| +++ b/runtime/vm/isolate.cc
|
| @@ -134,6 +134,21 @@ Isolate::~Isolate() {
|
| message_handler_ = NULL; // Fail fast if we send messages to a dead isolate.
|
| }
|
|
|
| +void Isolate::SetCurrent(Isolate* current) {
|
| + Thread::SetThreadLocal(isolate_key, reinterpret_cast<uword>(current));
|
| +}
|
| +
|
| +
|
| +ThreadLocalKey Isolate::isolate_key = Thread::kInvalidThreadLocal;
|
| +
|
| +
|
| +void Isolate::InitOnce() {
|
| + ASSERT(isolate_key == Thread::kInvalidThreadLocal);
|
| + isolate_key = Thread::CreateThreadLocal();
|
| + ASSERT(isolate_key != Thread::kInvalidThreadLocal);
|
| + create_callback_ = NULL;
|
| +}
|
| +
|
|
|
| Isolate* Isolate::Init(const char* name_prefix) {
|
| Isolate* result = new Isolate();
|
|
|