Skip to content

Commit

Permalink
Revert "Revert of [oilpan]: optimize the way we allocate persistent h…
Browse files Browse the repository at this point in the history
…andles in wrappers. (patchset #6 id:100001 of https://codereview.chromium.org/52535 3002/)"

Reland the wrapper persistent change using placement new for the constructor and no use of destructors. Also when constructing the object we make no assumption about the content of the slot.

This reverts commit 1738b5c.

[email protected], [email protected], [email protected], [email protected], [email protected]
BUG=411240

Review URL: https://codereview.chromium.org/556823003

git-svn-id: svn://svn.chromium.org/blink/trunk@181645 bbb929c8-8fbe-4397-9dbb-9b2b20218538
  • Loading branch information
[email protected] committed Sep 9, 2014
1 parent fa6fa13 commit f1e3a29
Show file tree
Hide file tree
Showing 69 changed files with 428 additions and 82 deletions.
2 changes: 1 addition & 1 deletion Source/bindings/core/v8/NPV8Object.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ using namespace blink;

namespace {

PersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer)
WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer)
{
ASSERT_NOT_REACHED();
return 0;
Expand Down
6 changes: 3 additions & 3 deletions Source/bindings/core/v8/V8DOMWrapper.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ class V8DOMWrapper {
static v8::Handle<v8::Object> associateObjectWithWrapperNonTemplate(Node*, const WrapperTypeInfo*, v8::Handle<v8::Object>, v8::Isolate*);
static void setNativeInfo(v8::Handle<v8::Object>, const WrapperTypeInfo*, ScriptWrappableBase* internalPointer);
static void setNativeInfoForHiddenWrapper(v8::Handle<v8::Object>, const WrapperTypeInfo*, ScriptWrappableBase* internalPointer);
static void setNativeInfoWithPersistentHandle(v8::Handle<v8::Object>, const WrapperTypeInfo*, ScriptWrappableBase* internalPointer, PersistentNode*);
static void setNativeInfoWithPersistentHandle(v8::Handle<v8::Object>, const WrapperTypeInfo*, ScriptWrappableBase* internalPointer, WrapperPersistentNode*);
static void clearNativeInfo(v8::Handle<v8::Object>, const WrapperTypeInfo*);

static bool isDOMWrapper(v8::Handle<v8::Value>);
Expand Down Expand Up @@ -104,7 +104,7 @@ inline void V8DOMWrapper::setNativeInfoForHiddenWrapper(v8::Handle<v8::Object> w
wrapper->SetAlignedPointerInInternalField(v8DOMWrapperTypeIndex, const_cast<WrapperTypeInfo*>(wrapperTypeInfo));
}

inline void V8DOMWrapper::setNativeInfoWithPersistentHandle(v8::Handle<v8::Object> wrapper, const WrapperTypeInfo* wrapperTypeInfo, ScriptWrappableBase* internalPointer, PersistentNode* handle)
inline void V8DOMWrapper::setNativeInfoWithPersistentHandle(v8::Handle<v8::Object> wrapper, const WrapperTypeInfo* wrapperTypeInfo, ScriptWrappableBase* internalPointer, WrapperPersistentNode* handle)
{
ASSERT(wrapper->InternalFieldCount() >= 3);
ASSERT(internalPointer);
Expand Down Expand Up @@ -142,7 +142,7 @@ inline v8::Handle<v8::Object> V8DOMWrapper::associateObjectWithWrapper(PassRefPt
template<typename V8T, typename T>
inline v8::Handle<v8::Object> V8DOMWrapper::associateObjectWithWrapper(T* object, const WrapperTypeInfo* wrapperTypeInfo, v8::Handle<v8::Object> wrapper, v8::Isolate* isolate)
{
setNativeInfoWithPersistentHandle(wrapper, wrapperTypeInfo, V8T::toScriptWrappableBase(object), new Persistent<T>(object));
setNativeInfoWithPersistentHandle(wrapper, wrapperTypeInfo, V8T::toScriptWrappableBase(object), WrapperPersistent<T>::create(object));
ASSERT(isDOMWrapper(wrapper));
DOMDataStore::setWrapper<V8T>(object, wrapper, isolate, wrapperTypeInfo);
return wrapper;
Expand Down
16 changes: 8 additions & 8 deletions Source/bindings/core/v8/WrapperTypeInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ static const int v8PrototypeInternalFieldcount = 1;
typedef v8::Handle<v8::FunctionTemplate> (*DomTemplateFunction)(v8::Isolate*);
typedef void (*RefObjectFunction)(ScriptWrappableBase* internalPointer);
typedef void (*DerefObjectFunction)(ScriptWrappableBase* internalPointer);
typedef PersistentNode* (*CreatePersistentHandleFunction)(ScriptWrappableBase* internalPointer);
typedef WrapperPersistentNode* (*CreatePersistentHandleFunction)(ScriptWrappableBase* internalPointer);
typedef ActiveDOMObject* (*ToActiveDOMObjectFunction)(v8::Handle<v8::Object>);
typedef EventTarget* (*ToEventTargetFunction)(v8::Handle<v8::Object>);
typedef void (*ResolveWrapperReachabilityFunction)(ScriptWrappableBase* internalPointer, const v8::Persistent<v8::Object>&, v8::Isolate*);
Expand Down Expand Up @@ -128,7 +128,7 @@ struct WrapperTypeInfo {
refObjectFunction(internalPointer);
}

PersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer) const
WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer) const
{
ASSERT(createPersistentHandleFunction);
return createPersistentHandleFunction(internalPointer);
Expand Down Expand Up @@ -220,26 +220,26 @@ inline const WrapperTypeInfo* toWrapperTypeInfo(v8::Handle<v8::Object> wrapper)
return getInternalField<WrapperTypeInfo, v8DOMWrapperTypeIndex>(wrapper);
}

inline const PersistentNode* toPersistentHandle(const v8::Handle<v8::Object>& wrapper)
inline const WrapperPersistentNode* toPersistentHandle(const v8::Handle<v8::Object>& wrapper)
{
// Persistent handle is stored in the last internal field.
return static_cast<PersistentNode*>(wrapper->GetAlignedPointerFromInternalField(wrapper->InternalFieldCount() - 1));
return static_cast<WrapperPersistentNode*>(wrapper->GetAlignedPointerFromInternalField(wrapper->InternalFieldCount() - 1));
}

inline void releaseObject(v8::Handle<v8::Object> wrapper)
{
const WrapperTypeInfo* typeInfo = toWrapperTypeInfo(wrapper);
if (typeInfo->gcType == WrapperTypeInfo::GarbageCollectedObject) {
const PersistentNode* handle = toPersistentHandle(wrapper);
const WrapperPersistentNode* handle = toPersistentHandle(wrapper);
// This will be null iff a wrapper for a hidden wrapper object,
// see V8DOMWrapper::setNativeInfoForHiddenWrapper().
delete handle;
WrapperPersistentNode::destroy(handle);
} else if (typeInfo->gcType == WrapperTypeInfo::WillBeGarbageCollectedObject) {
#if ENABLE(OILPAN)
const PersistentNode* handle = toPersistentHandle(wrapper);
const WrapperPersistentNode* handle = toPersistentHandle(wrapper);
// This will be null iff a wrapper for a hidden wrapper object,
// see V8DOMWrapper::setNativeInfoForHiddenWrapper().
delete handle;
WrapperPersistentNode::destroy(handle);
#else
ASSERT(typeInfo->derefObjectFunction);
typeInfo->derefObjectFunction(toScriptWrappableBase(wrapper));
Expand Down
2 changes: 1 addition & 1 deletion Source/bindings/core/v8/custom/V8ArrayBufferCustom.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ void V8ArrayBuffer::derefObject(ScriptWrappableBase* internalPointer)
toImpl(internalPointer)->deref();
}

PersistentNode* V8ArrayBuffer::createPersistentHandle(ScriptWrappableBase* internalPointer)
WrapperPersistentNode* V8ArrayBuffer::createPersistentHandle(ScriptWrappableBase* internalPointer)
{
ASSERT_NOT_REACHED();
return 0;
Expand Down
2 changes: 1 addition & 1 deletion Source/bindings/core/v8/custom/V8ArrayBufferCustom.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class V8ArrayBuffer {
static ArrayBuffer* toImplWithTypeCheck(v8::Isolate*, v8::Handle<v8::Value>);
static void refObject(ScriptWrappableBase* internalPointer);
static void derefObject(ScriptWrappableBase* internalPointer);
static PersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static const WrapperTypeInfo wrapperTypeInfo;
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount;

Expand Down
6 changes: 5 additions & 1 deletion Source/bindings/core/v8/custom/V8InjectedScriptManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,16 @@ static v8::Local<v8::Object> createInjectedScriptHostV8Wrapper(PassRefPtrWillBeR
// Create a weak reference to the v8 wrapper of InspectorBackend to deref
// InspectorBackend when the wrapper is garbage collected.
InjectedScriptManager::CallbackData* callbackData = injectedScriptManager->createCallbackData(injectedScriptManager);
#if ENABLE(OILPAN)
callbackData->hostPtr = WrapperPersistent<InjectedScriptHost>::create(host.get());
#else
callbackData->host = host.get();
#endif
callbackData->handle.set(isolate, wrapper);
callbackData->handle.setWeak(callbackData, &InjectedScriptManager::setWeakCallback);

#if ENABLE(OILPAN)
V8DOMWrapper::setNativeInfoWithPersistentHandle(wrapper, &V8InjectedScriptHost::wrapperTypeInfo, host->toScriptWrappableBase(), &callbackData->host);
V8DOMWrapper::setNativeInfoWithPersistentHandle(wrapper, &V8InjectedScriptHost::wrapperTypeInfo, host->toScriptWrappableBase(), callbackData->hostPtr);
#else
V8DOMWrapper::setNativeInfo(wrapper, &V8InjectedScriptHost::wrapperTypeInfo, host->toScriptWrappableBase());
#endif
Expand Down
4 changes: 2 additions & 2 deletions Source/bindings/core/v8/custom/V8TypedArrayCustom.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ class V8TypedArray {
static TypedArray* toImplWithTypeCheck(v8::Isolate*, v8::Handle<v8::Value>);
static void refObject(ScriptWrappableBase* internalPointer);
static void derefObject(ScriptWrappableBase* internalPointer);
static PersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static const WrapperTypeInfo wrapperTypeInfo;
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount;

Expand Down Expand Up @@ -210,7 +210,7 @@ void V8TypedArray<TypedArray>::derefObject(ScriptWrappableBase* internalPointer)
}

template <typename TypedArray>
PersistentNode* V8TypedArray<TypedArray>::createPersistentHandle(ScriptWrappableBase* internalPointer)
WrapperPersistentNode* V8TypedArray<TypedArray>::createPersistentHandle(ScriptWrappableBase* internalPointer)
{
ASSERT_NOT_REACHED();
return 0;
Expand Down
6 changes: 3 additions & 3 deletions Source/bindings/templates/interface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1246,13 +1246,13 @@ void {{v8_class}}::derefObject(ScriptWrappableBase* internalPointer)
{% endif %}
}
PersistentNode* {{v8_class}}::createPersistentHandle(ScriptWrappableBase* internalPointer)
WrapperPersistentNode* {{v8_class}}::createPersistentHandle(ScriptWrappableBase* internalPointer)
{
{% if gc_type == 'GarbageCollectedObject' %}
return new Persistent<{{cpp_class}}>(internalPointer->toImpl<{{cpp_class}}>());
return WrapperPersistent<{{cpp_class}}>::create(internalPointer->toImpl<{{cpp_class}}>());
{% elif gc_type == 'WillBeGarbageCollectedObject' %}
#if ENABLE(OILPAN)
return new Persistent<{{cpp_class}}>(internalPointer->toImpl<{{cpp_class}}>());
return WrapperPersistent<{{cpp_class}}>::create(internalPointer->toImpl<{{cpp_class}}>());
#else
ASSERT_NOT_REACHED();
return 0;
Expand Down
2 changes: 1 addition & 1 deletion Source/bindings/templates/interface.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class {{v8_class}} {
static const WrapperTypeInfo wrapperTypeInfo;
static void refObject(ScriptWrappableBase* internalPointer);
static void derefObject(ScriptWrappableBase* internalPointer);
static PersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
{% if has_visit_dom_wrapper %}
static void visitDOMWrapper(ScriptWrappableBase* internalPointer, const v8::Persistent<v8::Object>&, v8::Isolate*);
{% endif %}
Expand Down
2 changes: 1 addition & 1 deletion Source/bindings/tests/results/V8SVGTestInterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ void V8SVGTestInterface::derefObject(ScriptWrappableBase* internalPointer)
internalPointer->toImpl<SVGTestInterface>()->deref();
}

PersistentNode* V8SVGTestInterface::createPersistentHandle(ScriptWrappableBase* internalPointer)
WrapperPersistentNode* V8SVGTestInterface::createPersistentHandle(ScriptWrappableBase* internalPointer)
{
ASSERT_NOT_REACHED();
return 0;
Expand Down
2 changes: 1 addition & 1 deletion Source/bindings/tests/results/V8SVGTestInterface.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class V8SVGTestInterface {
static const WrapperTypeInfo wrapperTypeInfo;
static void refObject(ScriptWrappableBase* internalPointer);
static void derefObject(ScriptWrappableBase* internalPointer);
static PersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
static inline ScriptWrappableBase* toScriptWrappableBase(SVGTestInterface* impl)
{
Expand Down
2 changes: 1 addition & 1 deletion Source/bindings/tests/results/V8TestException.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ void V8TestException::derefObject(ScriptWrappableBase* internalPointer)
internalPointer->toImpl<TestException>()->deref();
}

PersistentNode* V8TestException::createPersistentHandle(ScriptWrappableBase* internalPointer)
WrapperPersistentNode* V8TestException::createPersistentHandle(ScriptWrappableBase* internalPointer)
{
ASSERT_NOT_REACHED();
return 0;
Expand Down
2 changes: 1 addition & 1 deletion Source/bindings/tests/results/V8TestException.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class V8TestException {
static const WrapperTypeInfo wrapperTypeInfo;
static void refObject(ScriptWrappableBase* internalPointer);
static void derefObject(ScriptWrappableBase* internalPointer);
static PersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
static inline ScriptWrappableBase* toScriptWrappableBase(TestException* impl)
{
Expand Down
2 changes: 1 addition & 1 deletion Source/bindings/tests/results/V8TestInterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2085,7 +2085,7 @@ void V8TestInterface::derefObject(ScriptWrappableBase* internalPointer)
internalPointer->toImpl<TestInterfaceImplementation>()->deref();
}

PersistentNode* V8TestInterface::createPersistentHandle(ScriptWrappableBase* internalPointer)
WrapperPersistentNode* V8TestInterface::createPersistentHandle(ScriptWrappableBase* internalPointer)
{
ASSERT_NOT_REACHED();
return 0;
Expand Down
2 changes: 1 addition & 1 deletion Source/bindings/tests/results/V8TestInterface.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ class V8TestInterface {
static const WrapperTypeInfo wrapperTypeInfo;
static void refObject(ScriptWrappableBase* internalPointer);
static void derefObject(ScriptWrappableBase* internalPointer);
static PersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static void visitDOMWrapper(ScriptWrappableBase* internalPointer, const v8::Persistent<v8::Object>&, v8::Isolate*);
static ActiveDOMObject* toActiveDOMObject(v8::Handle<v8::Object>);
static void implementsCustomVoidMethodMethodCustom(const v8::FunctionCallbackInfo<v8::Value>&);
Expand Down
2 changes: 1 addition & 1 deletion Source/bindings/tests/results/V8TestInterface2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -517,7 +517,7 @@ void V8TestInterface2::derefObject(ScriptWrappableBase* internalPointer)
internalPointer->toImpl<TestInterface2>()->deref();
}

PersistentNode* V8TestInterface2::createPersistentHandle(ScriptWrappableBase* internalPointer)
WrapperPersistentNode* V8TestInterface2::createPersistentHandle(ScriptWrappableBase* internalPointer)
{
ASSERT_NOT_REACHED();
return 0;
Expand Down
2 changes: 1 addition & 1 deletion Source/bindings/tests/results/V8TestInterface2.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class V8TestInterface2 {
static const WrapperTypeInfo wrapperTypeInfo;
static void refObject(ScriptWrappableBase* internalPointer);
static void derefObject(ScriptWrappableBase* internalPointer);
static PersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static void visitDOMWrapper(ScriptWrappableBase* internalPointer, const v8::Persistent<v8::Object>&, v8::Isolate*);
static void constructorCallback(const v8::FunctionCallbackInfo<v8::Value>&);
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
Expand Down
2 changes: 1 addition & 1 deletion Source/bindings/tests/results/V8TestInterface3.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ void V8TestInterface3::derefObject(ScriptWrappableBase* internalPointer)
internalPointer->toImpl<TestInterface3>()->deref();
}

PersistentNode* V8TestInterface3::createPersistentHandle(ScriptWrappableBase* internalPointer)
WrapperPersistentNode* V8TestInterface3::createPersistentHandle(ScriptWrappableBase* internalPointer)
{
ASSERT_NOT_REACHED();
return 0;
Expand Down
2 changes: 1 addition & 1 deletion Source/bindings/tests/results/V8TestInterface3.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class V8TestInterface3 {
static const WrapperTypeInfo wrapperTypeInfo;
static void refObject(ScriptWrappableBase* internalPointer);
static void derefObject(ScriptWrappableBase* internalPointer);
static PersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static void visitDOMWrapper(ScriptWrappableBase* internalPointer, const v8::Persistent<v8::Object>&, v8::Isolate*);
static void indexedPropertyGetterCustom(uint32_t, const v8::PropertyCallbackInfo<v8::Value>&);
static void indexedPropertySetterCustom(uint32_t, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<v8::Value>&);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -534,7 +534,7 @@ void V8TestInterfaceCheckSecurity::derefObject(ScriptWrappableBase* internalPoin
internalPointer->toImpl<TestInterfaceCheckSecurity>()->deref();
}

PersistentNode* V8TestInterfaceCheckSecurity::createPersistentHandle(ScriptWrappableBase* internalPointer)
WrapperPersistentNode* V8TestInterfaceCheckSecurity::createPersistentHandle(ScriptWrappableBase* internalPointer)
{
ASSERT_NOT_REACHED();
return 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class V8TestInterfaceCheckSecurity {
static const WrapperTypeInfo wrapperTypeInfo;
static void refObject(ScriptWrappableBase* internalPointer);
static void derefObject(ScriptWrappableBase* internalPointer);
static PersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
static inline ScriptWrappableBase* toScriptWrappableBase(TestInterfaceCheckSecurity* impl)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ void V8TestInterfaceConstructor::derefObject(ScriptWrappableBase* internalPointe
internalPointer->toImpl<TestInterfaceConstructor>()->deref();
}

PersistentNode* V8TestInterfaceConstructor::createPersistentHandle(ScriptWrappableBase* internalPointer)
WrapperPersistentNode* V8TestInterfaceConstructor::createPersistentHandle(ScriptWrappableBase* internalPointer)
{
ASSERT_NOT_REACHED();
return 0;
Expand Down
2 changes: 1 addition & 1 deletion Source/bindings/tests/results/V8TestInterfaceConstructor.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ class V8TestInterfaceConstructor {
static const WrapperTypeInfo wrapperTypeInfo;
static void refObject(ScriptWrappableBase* internalPointer);
static void derefObject(ScriptWrappableBase* internalPointer);
static PersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static void constructorCallback(const v8::FunctionCallbackInfo<v8::Value>&);
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
static inline ScriptWrappableBase* toScriptWrappableBase(TestInterfaceConstructor* impl)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ void V8TestInterfaceConstructor2::derefObject(ScriptWrappableBase* internalPoint
internalPointer->toImpl<TestInterfaceConstructor2>()->deref();
}

PersistentNode* V8TestInterfaceConstructor2::createPersistentHandle(ScriptWrappableBase* internalPointer)
WrapperPersistentNode* V8TestInterfaceConstructor2::createPersistentHandle(ScriptWrappableBase* internalPointer)
{
ASSERT_NOT_REACHED();
return 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class V8TestInterfaceConstructor2 {
static const WrapperTypeInfo wrapperTypeInfo;
static void refObject(ScriptWrappableBase* internalPointer);
static void derefObject(ScriptWrappableBase* internalPointer);
static PersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static void constructorCallback(const v8::FunctionCallbackInfo<v8::Value>&);
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
static inline ScriptWrappableBase* toScriptWrappableBase(TestInterfaceConstructor2* impl)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ void V8TestInterfaceConstructor3::derefObject(ScriptWrappableBase* internalPoint
internalPointer->toImpl<TestInterfaceConstructor3>()->deref();
}

PersistentNode* V8TestInterfaceConstructor3::createPersistentHandle(ScriptWrappableBase* internalPointer)
WrapperPersistentNode* V8TestInterfaceConstructor3::createPersistentHandle(ScriptWrappableBase* internalPointer)
{
ASSERT_NOT_REACHED();
return 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class V8TestInterfaceConstructor3 {
static const WrapperTypeInfo wrapperTypeInfo;
static void refObject(ScriptWrappableBase* internalPointer);
static void derefObject(ScriptWrappableBase* internalPointer);
static PersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static WrapperPersistentNode* createPersistentHandle(ScriptWrappableBase* internalPointer);
static void constructorCallback(const v8::FunctionCallbackInfo<v8::Value>&);
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
static inline ScriptWrappableBase* toScriptWrappableBase(TestInterfaceConstructor3* impl)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ void V8TestInterfaceConstructor4::derefObject(ScriptWrappableBase* internalPoint
internalPointer->toImpl<TestInterfaceConstructor4>()->deref();
}

PersistentNode* V8TestInterfaceConstructor4::createPersistentHandle(ScriptWrappableBase* internalPointer)
WrapperPersistentNode* V8TestInterfaceConstructor4::createPersistentHandle(ScriptWrappableBase* internalPointer)
{
ASSERT_NOT_REACHED();
return 0;
Expand Down
Loading

0 comments on commit f1e3a29

Please sign in to comment.