Index: src/api.cc |
diff --git a/src/api.cc b/src/api.cc |
index 3333a06b92706098123903d671b1e3a39f00c260..cf3765c108a20a761e2cabf3312ac7523a3cb0f6 100644 |
--- a/src/api.cc |
+++ b/src/api.cc |
@@ -948,17 +948,13 @@ void V8::DisposeGlobal(i::Object** location) { |
i::GlobalHandles::Destroy(location); |
} |
- |
-void V8::Eternalize(Isolate* v8_isolate, Value* value, int* index) { |
+Value* V8::Eternalize(Isolate* v8_isolate, Value* value) { |
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate); |
i::Object* object = *Utils::OpenHandle(value); |
- isolate->eternal_handles()->Create(isolate, object, index); |
-} |
- |
- |
-Local<Value> V8::GetEternal(Isolate* v8_isolate, int index) { |
- i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate); |
- return Utils::ToLocal(isolate->eternal_handles()->Get(index)); |
+ int index = -1; |
+ isolate->eternal_handles()->Create(isolate, object, &index); |
+ return reinterpret_cast<Value*>( |
+ isolate->eternal_handles()->Get(index).location()); |
} |