Index: src/isolate.h |
diff --git a/src/isolate.h b/src/isolate.h |
index 3c55883a86aefa802031c5d1b38b1ba8d05236f3..ecab5fb8744df97d22c92afa176cbae51fdc8c63 100644 |
--- a/src/isolate.h |
+++ b/src/isolate.h |
@@ -1045,8 +1045,14 @@ class Isolate { |
thread_local_top_.current_vm_state_ = state; |
} |
- void SetData(void* data) { embedder_data_ = data; } |
- void* GetData() { return embedder_data_; } |
+ void SetData(uint32_t slot, void* data) { |
+ ASSERT(slot < Internals::kNumIsolateDataSlots); |
+ embedder_data_[slot] = data; |
+ } |
+ void* GetData(uint32_t slot) { |
+ ASSERT(slot < Internals::kNumIsolateDataSlots); |
+ return embedder_data_[slot]; |
+ } |
LookupResult* top_lookup_result() { |
return thread_local_top_.top_lookup_result_; |
@@ -1159,9 +1165,9 @@ class Isolate { |
// These fields are accessed through the API, offsets must be kept in sync |
// with v8::internal::Internals (in include/v8.h) constants. This is also |
// verified in Isolate::Init() using runtime checks. |
- State state_; // Will be padded to kApiPointerSize. |
- void* embedder_data_; |
+ void* embedder_data_[Internals::kNumIsolateDataSlots]; |
Heap heap_; |
+ State state_; // Will be padded to kApiPointerSize. |
// The per-process lock should be acquired before the ThreadDataTable is |
// modified. |