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