diff options
Diffstat (limited to 'Source/JavaScriptCore/runtime/JSWrapperObject.h')
-rw-r--r-- | Source/JavaScriptCore/runtime/JSWrapperObject.h | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/Source/JavaScriptCore/runtime/JSWrapperObject.h b/Source/JavaScriptCore/runtime/JSWrapperObject.h index 72bc1874c..f1b6d3286 100644 --- a/Source/JavaScriptCore/runtime/JSWrapperObject.h +++ b/Source/JavaScriptCore/runtime/JSWrapperObject.h @@ -32,16 +32,32 @@ namespace JSC { public: typedef JSDestructibleObject Base; + static size_t allocationSize(size_t inlineCapacity) + { + ASSERT_UNUSED(inlineCapacity, !inlineCapacity); + return sizeof(JSWrapperObject); + } + JSValue internalValue() const; - void setInternalValue(JSGlobalData&, JSValue); + void setInternalValue(VM&, JSValue); - static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype) + static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype) { - return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); + return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info); + } + + static ptrdiff_t internalValueOffset() { return OBJECT_OFFSETOF(JSWrapperObject, m_internalValue); } + static ptrdiff_t internalValueCellOffset() + { +#if USE(JSVALUE64) + return internalValueOffset(); +#else + return internalValueOffset() + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.payload); +#endif } protected: - explicit JSWrapperObject(JSGlobalData&, Structure*); + explicit JSWrapperObject(VM&, Structure*); static const unsigned StructureFlags = OverridesVisitChildren | Base::StructureFlags; static void visitChildren(JSCell*, SlotVisitor&); @@ -50,8 +66,8 @@ namespace JSC { WriteBarrier<Unknown> m_internalValue; }; - inline JSWrapperObject::JSWrapperObject(JSGlobalData& globalData, Structure* structure) - : JSDestructibleObject(globalData, structure) + inline JSWrapperObject::JSWrapperObject(VM& vm, Structure* structure) + : JSDestructibleObject(vm, structure) { } @@ -60,11 +76,11 @@ namespace JSC { return m_internalValue.get(); } - inline void JSWrapperObject::setInternalValue(JSGlobalData& globalData, JSValue value) + inline void JSWrapperObject::setInternalValue(VM& vm, JSValue value) { ASSERT(value); ASSERT(!value.isObject()); - m_internalValue.set(globalData, this, value); + m_internalValue.set(vm, this, value); } } // namespace JSC |