| Index: src/isolate.cc
|
| diff --git a/src/isolate.cc b/src/isolate.cc
|
| index 6c797b252280a75680aa1f1c0f23cf58557d9f7e..1bf79623cc10010a7d6e35ad5e6492836d13676b 100644
|
| --- a/src/isolate.cc
|
| +++ b/src/isolate.cc
|
| @@ -116,7 +116,9 @@ void ThreadLocalTop::InitializeInternal() {
|
| void ThreadLocalTop::Initialize() {
|
| InitializeInternal();
|
| #ifdef USE_SIMULATOR
|
| -#ifdef V8_TARGET_ARCH_ARM
|
| +#ifdef V8_TARGET_ARCH_A64
|
| + simulator_ = Simulator::current(isolate_);
|
| +#elif V8_TARGET_ARCH_ARM
|
| simulator_ = Simulator::current(isolate_);
|
| #elif V8_TARGET_ARCH_MIPS
|
| simulator_ = Simulator::current(isolate_);
|
| @@ -1625,7 +1627,9 @@ char* Isolate::RestoreThread(char* from) {
|
| // This might be just paranoia, but it seems to be needed in case a
|
| // thread_local_top_ is restored on a separate OS thread.
|
| #ifdef USE_SIMULATOR
|
| -#ifdef V8_TARGET_ARCH_ARM
|
| +#ifdef V8_TARGET_ARCH_A64
|
| + thread_local_top()->simulator_ = Simulator::current(this);
|
| +#elif V8_TARGET_ARCH_ARM
|
| thread_local_top()->simulator_ = Simulator::current(this);
|
| #elif V8_TARGET_ARCH_MIPS
|
| thread_local_top()->simulator_ = Simulator::current(this);
|
| @@ -1775,7 +1779,8 @@ Isolate::Isolate()
|
| thread_manager_ = new ThreadManager();
|
| thread_manager_->isolate_ = this;
|
|
|
| -#if defined(V8_TARGET_ARCH_ARM) && !defined(__arm__) || \
|
| +#if defined(V8_TARGET_ARCH_A64) && !defined(__arm__) || \
|
| + defined(V8_TARGET_ARCH_ARM) && !defined(__arm__) || \
|
| defined(V8_TARGET_ARCH_MIPS) && !defined(__mips__)
|
| simulator_initialized_ = false;
|
| simulator_i_cache_ = NULL;
|
| @@ -2128,7 +2133,8 @@ bool Isolate::Init(Deserializer* des) {
|
|
|
| // Initialize other runtime facilities
|
| #if defined(USE_SIMULATOR)
|
| -#if defined(V8_TARGET_ARCH_ARM) || defined(V8_TARGET_ARCH_MIPS)
|
| +#if defined(V8_TARGET_ARCH_A64) || defined(V8_TARGET_ARCH_ARM) || \
|
| + defined(V8_TARGET_ARCH_MIPS)
|
| Simulator::Initialize(this);
|
| #endif
|
| #endif
|
|
|