Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(725)

Unified Diff: src/isolate.h

Issue 3076032: [Isolates] A fix for 2 crashing tests in arm simulator (post-API patch). (Closed)
Patch Set: Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/arm/simulator-arm.cc ('k') | src/isolate.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/isolate.h
diff --git a/src/isolate.h b/src/isolate.h
index 909bba948229893393f7bcedf1baa5768ac3f3d3..064815e98fa2c54ccb5196d4394c1c28c48f93ec 100644
--- a/src/isolate.h
+++ b/src/isolate.h
@@ -48,6 +48,7 @@
namespace assembler {
namespace arm {
class Redirection;
+class Simulator;
}
}
#endif
@@ -310,6 +311,9 @@ class Isolate {
thread_id_(thread_id),
stack_limit_(0),
thread_state_(NULL),
+#if !defined(__arm__) && defined(V8_TARGET_ARCH_ARM)
+ simulator_(NULL),
+#endif
next_(NULL),
prev_(NULL) { }
Isolate* isolate() const { return isolate_; }
@@ -318,6 +322,14 @@ class Isolate {
uintptr_t stack_limit() const { return stack_limit_; }
ThreadState* thread_state() const { return thread_state_; }
void set_thread_state(ThreadState* value) { thread_state_ = value; }
+
+#if !defined(__arm__) && defined(V8_TARGET_ARCH_ARM)
+ assembler::arm::Simulator* simulator() const { return simulator_; }
+ void set_simulator(assembler::arm::Simulator* simulator) {
+ simulator_ = simulator;
+ }
+#endif
+
bool Matches(Isolate* isolate, ThreadId thread_id) const {
return isolate_ == isolate && thread_id_ == thread_id;
}
@@ -328,6 +340,10 @@ class Isolate {
uintptr_t stack_limit_;
ThreadState* thread_state_;
+#if !defined(__arm__) && defined(V8_TARGET_ARCH_ARM)
+ assembler::arm::Simulator* simulator_;
+#endif
+
PerIsolateThreadData* next_;
PerIsolateThreadData* prev_;
@@ -791,10 +807,6 @@ class Isolate {
#endif
#if defined(V8_TARGET_ARCH_ARM) && !defined(__arm__)
- static v8::internal::Thread::LocalStorageKey* simulator_key() {
- return &simulator_key_;
- }
-
bool simulator_initialized() { return simulator_initialized_; }
void set_simulator_initialized(bool initialized) {
simulator_initialized_ = initialized;
@@ -984,8 +996,6 @@ class Isolate {
AtomicWord vm_state_;
#if defined(V8_TARGET_ARCH_ARM) && !defined(__arm__)
- // Create one simulator per thread and keep it in thread local storage.
- static v8::internal::Thread::LocalStorageKey simulator_key_;
bool simulator_initialized_;
HashMap* simulator_i_cache_;
assembler::arm::Redirection* simulator_redirection_;
« no previous file with comments | « src/arm/simulator-arm.cc ('k') | src/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698