summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/runtime/JSWrapperObject.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2015-05-20 09:56:07 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2015-05-20 09:56:07 +0000
commit41386e9cb918eed93b3f13648cbef387e371e451 (patch)
treea97f9d7bd1d9d091833286085f72da9d83fd0606 /Source/JavaScriptCore/runtime/JSWrapperObject.h
parente15dd966d523731101f70ccf768bba12435a0208 (diff)
downloadWebKitGtk-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.h93
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