summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/runtime/JSWrapperObject.h
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-05-30 12:48:17 +0200
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-05-30 12:48:17 +0200
commit881da28418d380042aa95a97f0cbd42560a64f7c (patch)
treea794dff3274695e99c651902dde93d934ea7a5af /Source/JavaScriptCore/runtime/JSWrapperObject.h
parent7e104c57a70fdf551bb3d22a5d637cdcbc69dbea (diff)
parent0fcedcd17cc00d3dd44c718b3cb36c1033319671 (diff)
downloadqtwebkit-881da28418d380042aa95a97f0cbd42560a64f7c.tar.gz
Merge 'wip/next' into dev
Change-Id: Iff9ee5e23bb326c4371ec8ed81d56f2f05d680e9
Diffstat (limited to 'Source/JavaScriptCore/runtime/JSWrapperObject.h')
-rw-r--r--Source/JavaScriptCore/runtime/JSWrapperObject.h93
1 files changed, 46 insertions, 47 deletions
diff --git a/Source/JavaScriptCore/runtime/JSWrapperObject.h b/Source/JavaScriptCore/runtime/JSWrapperObject.h
index f1b6d3286..1036add59 100644
--- a/Source/JavaScriptCore/runtime/JSWrapperObject.h
+++ b/Source/JavaScriptCore/runtime/JSWrapperObject.h
@@ -26,62 +26,61 @@
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), &s_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*);
- static const unsigned StructureFlags = OverridesVisitChildren | Base::StructureFlags;
+protected:
+ explicit JSWrapperObject(VM&, Structure*);
- static void visitChildren(JSCell*, SlotVisitor&);
+ JS_EXPORT_PRIVATE 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