diff options
| author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
|---|---|---|
| committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
| commit | 41386e9cb918eed93b3f13648cbef387e371e451 (patch) | |
| tree | a97f9d7bd1d9d091833286085f72da9d83fd0606 /Source/JavaScriptCore/runtime/JSWrapperObject.h | |
| parent | e15dd966d523731101f70ccf768bba12435a0208 (diff) | |
| download | WebKitGtk-tarball-41386e9cb918eed93b3f13648cbef387e371e451.tar.gz | |
webkitgtk-2.4.9webkitgtk-2.4.9
Diffstat (limited to 'Source/JavaScriptCore/runtime/JSWrapperObject.h')
| -rw-r--r-- | Source/JavaScriptCore/runtime/JSWrapperObject.h | 93 |
1 files changed, 47 insertions, 46 deletions
diff --git a/Source/JavaScriptCore/runtime/JSWrapperObject.h b/Source/JavaScriptCore/runtime/JSWrapperObject.h index 1036add59..349c75e6a 100644 --- a/Source/JavaScriptCore/runtime/JSWrapperObject.h +++ b/Source/JavaScriptCore/runtime/JSWrapperObject.h @@ -26,61 +26,62 @@ namespace JSC { -// This class is used as a base for classes such as String, -// Number, Boolean and Date which are wrappers for primitive types. -class JSWrapperObject : public JSDestructibleObject { -public: - typedef JSDestructibleObject Base; - - static size_t allocationSize(size_t inlineCapacity) - { - ASSERT_UNUSED(inlineCapacity, !inlineCapacity); - return sizeof(JSWrapperObject); - } - - JSValue internalValue() const; - void setInternalValue(VM&, JSValue); - - static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype) - { - return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info()); - } - - static ptrdiff_t internalValueOffset() { return OBJECT_OFFSETOF(JSWrapperObject, m_internalValue); } - static ptrdiff_t internalValueCellOffset() - { + // This class is used as a base for classes such as String, + // Number, Boolean and Date which are wrappers for primitive types. + class JSWrapperObject : public JSDestructibleObject { + public: + typedef JSDestructibleObject Base; + + static size_t allocationSize(size_t inlineCapacity) + { + ASSERT_UNUSED(inlineCapacity, !inlineCapacity); + return sizeof(JSWrapperObject); + } + + JSValue internalValue() const; + void setInternalValue(VM&, JSValue); + + static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype) + { + return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info()); + } + + static ptrdiff_t internalValueOffset() { return OBJECT_OFFSETOF(JSWrapperObject, m_internalValue); } + static ptrdiff_t internalValueCellOffset() + { #if USE(JSVALUE64) - return internalValueOffset(); + return internalValueOffset(); #else - return internalValueOffset() + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.payload); + return internalValueOffset() + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.payload); #endif - } + } -protected: - explicit JSWrapperObject(VM&, Structure*); + protected: + explicit JSWrapperObject(VM&, Structure*); + static const unsigned StructureFlags = OverridesVisitChildren | Base::StructureFlags; - JS_EXPORT_PRIVATE static void visitChildren(JSCell*, SlotVisitor&); + static void visitChildren(JSCell*, SlotVisitor&); -private: - WriteBarrier<Unknown> m_internalValue; -}; + private: + WriteBarrier<Unknown> m_internalValue; + }; -inline JSWrapperObject::JSWrapperObject(VM& vm, Structure* structure) - : JSDestructibleObject(vm, structure) -{ -} + inline JSWrapperObject::JSWrapperObject(VM& vm, Structure* structure) + : JSDestructibleObject(vm, structure) + { + } -inline JSValue JSWrapperObject::internalValue() const -{ - return m_internalValue.get(); -} + inline JSValue JSWrapperObject::internalValue() const + { + return m_internalValue.get(); + } -inline void JSWrapperObject::setInternalValue(VM& vm, JSValue value) -{ - ASSERT(value); - ASSERT(!value.isObject()); - m_internalValue.set(vm, this, value); -} + inline void JSWrapperObject::setInternalValue(VM& vm, JSValue value) + { + ASSERT(value); + ASSERT(!value.isObject()); + m_internalValue.set(vm, this, value); + } } // namespace JSC |
