| Index: src/global-handles.cc
|
| diff --git a/src/global-handles.cc b/src/global-handles.cc
|
| index 5df9dd4c6c78857f517bc83b23a19b5e4d4d2179..5632c7c7c937b00c436f5c3775e13b29a8b97ece 100644
|
| --- a/src/global-handles.cc
|
| +++ b/src/global-handles.cc
|
| @@ -1020,7 +1020,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;
|
| }
|
| @@ -1062,8 +1061,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;
|
| @@ -1079,7 +1079,7 @@ int EternalHandles::Create(Isolate* isolate, Object* object) {
|
| if (isolate->heap()->InNewSpace(object)) {
|
| new_space_indices_.Add(size_);
|
| }
|
| - return size_++;
|
| + *index = size_++;
|
| }
|
|
|
|
|
|
|