| Index: src/global-handles.cc
|
| diff --git a/src/global-handles.cc b/src/global-handles.cc
|
| index 2eae474510cfc39988fe3be23abe1e8baf81734b..3bfb1e1aedd7c62141123aa05b68f2ef82a9e552 100644
|
| --- a/src/global-handles.cc
|
| +++ b/src/global-handles.cc
|
| @@ -1251,7 +1251,6 @@ void GlobalHandles::ComputeObjectGroupsAndImplicitReferences() {
|
|
|
|
|
| EternalHandles::EternalHandles() : size_(0) {
|
| - STATIC_ASSERT(v8::kUninitializedEternalIndex == kInvalidIndex);
|
| for (unsigned i = 0; i < ARRAY_SIZE(singleton_handles_); i++) {
|
| singleton_handles_[i] = kInvalidIndex;
|
| }
|
| @@ -1293,8 +1292,9 @@ void EternalHandles::PostGarbageCollectionProcessing(Heap* heap) {
|
| }
|
|
|
|
|
| -int EternalHandles::Create(Isolate* isolate, Object* object) {
|
| - if (object == NULL) return kInvalidIndex;
|
| +void EternalHandles::Create(Isolate* isolate, Object* object, int* index) {
|
| + ASSERT_EQ(kInvalidIndex, *index);
|
| + if (object == NULL) return;
|
| ASSERT_NE(isolate->heap()->the_hole_value(), object);
|
| int block = size_ >> kShift;
|
| int offset = size_ & kMask;
|
| @@ -1310,7 +1310,7 @@ int EternalHandles::Create(Isolate* isolate, Object* object) {
|
| if (isolate->heap()->InNewSpace(object)) {
|
| new_space_indices_.Add(size_);
|
| }
|
| - return size_++;
|
| + *index = size_++;
|
| }
|
|
|
|
|
|
|