| Index: Source/bindings/core/v8/WrapperTypeInfo.h
|
| diff --git a/Source/bindings/core/v8/WrapperTypeInfo.h b/Source/bindings/core/v8/WrapperTypeInfo.h
|
| index d2d8c76548a1da9ce6d67efcaef09267c5a54117..ee3b098ce79bf9d33be3b1c733619a78cfead8e2 100644
|
| --- a/Source/bindings/core/v8/WrapperTypeInfo.h
|
| +++ b/Source/bindings/core/v8/WrapperTypeInfo.h
|
| @@ -126,12 +126,26 @@ struct WrapperTypeInfo {
|
|
|
| void refObject(ScriptWrappable* scriptWrappable) const
|
| {
|
| + if (gcType == GarbageCollectedObject) {
|
| + ThreadState::current()->persistentAllocated();
|
| + } else if (gcType == WillBeGarbageCollectedObject) {
|
| +#if ENABLE(OILPAN)
|
| + ThreadState::current()->persistentAllocated();
|
| +#endif
|
| + }
|
| ASSERT(refObjectFunction);
|
| refObjectFunction(scriptWrappable);
|
| }
|
|
|
| void derefObject(ScriptWrappable* scriptWrappable) const
|
| {
|
| + if (gcType == GarbageCollectedObject) {
|
| + ThreadState::current()->persistentFreed();
|
| + } else if (gcType == WillBeGarbageCollectedObject) {
|
| +#if ENABLE(OILPAN)
|
| + ThreadState::current()->persistentFreed();
|
| +#endif
|
| + }
|
| ASSERT(derefObjectFunction);
|
| derefObjectFunction(scriptWrappable);
|
| }
|
|
|