| 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. | 
|  |