diff options
Diffstat (limited to 'Source/JavaScriptCore/runtime')
-rw-r--r-- | Source/JavaScriptCore/runtime/JSCell.h | 8 | ||||
-rw-r--r-- | Source/JavaScriptCore/runtime/JSObject.h | 3 | ||||
-rw-r--r-- | Source/JavaScriptCore/runtime/PropertyOffset.h | 4 | ||||
-rw-r--r-- | Source/JavaScriptCore/runtime/Structure.h | 18 | ||||
-rw-r--r-- | Source/JavaScriptCore/runtime/WriteBarrier.h | 6 |
5 files changed, 9 insertions, 30 deletions
diff --git a/Source/JavaScriptCore/runtime/JSCell.h b/Source/JavaScriptCore/runtime/JSCell.h index ef06b1ecf..a63e08e33 100644 --- a/Source/JavaScriptCore/runtime/JSCell.h +++ b/Source/JavaScriptCore/runtime/JSCell.h @@ -30,6 +30,7 @@ #include "JSLock.h" #include "JSValueInlineMethods.h" #include "SlotVisitor.h" +#include "SlotVisitorInlineMethods.h" #include "WriteBarrier.h" #include <wtf/Noncopyable.h> @@ -108,7 +109,6 @@ namespace JSC { // Object operations, with the toObject operation included. const ClassInfo* classInfo() const; - const ClassInfo* validatedClassInfo() const; const MethodTable* methodTable() const; static void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot&); static void putByIndex(JSCell*, ExecState*, unsigned propertyName, JSValue, bool shouldThrow); @@ -133,11 +133,6 @@ namespace JSC { return OBJECT_OFFSETOF(JSCell, m_structure); } - static ptrdiff_t classInfoOffset() - { - return OBJECT_OFFSETOF(JSCell, m_classInfo); - } - void* structureAddress() { return &m_structure; @@ -170,7 +165,6 @@ namespace JSC { private: friend class LLIntOffsetsExtractor; - const ClassInfo* m_classInfo; WriteBarrier<Structure> m_structure; }; diff --git a/Source/JavaScriptCore/runtime/JSObject.h b/Source/JavaScriptCore/runtime/JSObject.h index f4b847b4c..5e2c12f2f 100644 --- a/Source/JavaScriptCore/runtime/JSObject.h +++ b/Source/JavaScriptCore/runtime/JSObject.h @@ -346,9 +346,6 @@ namespace JSC { Structure* createInheritorID(JSGlobalData&); StorageBarrier m_outOfLineStorage; -#if USE(JSVALUE32_64) - void* m_padding; -#endif }; diff --git a/Source/JavaScriptCore/runtime/PropertyOffset.h b/Source/JavaScriptCore/runtime/PropertyOffset.h index 511c5e334..aa82eb468 100644 --- a/Source/JavaScriptCore/runtime/PropertyOffset.h +++ b/Source/JavaScriptCore/runtime/PropertyOffset.h @@ -34,9 +34,9 @@ namespace JSC { #if USE(JSVALUE32_64) -#define INLINE_STORAGE_CAPACITY 6 +#define INLINE_STORAGE_CAPACITY 7 #else -#define INLINE_STORAGE_CAPACITY 5 +#define INLINE_STORAGE_CAPACITY 6 #endif typedef int PropertyOffset; diff --git a/Source/JavaScriptCore/runtime/Structure.h b/Source/JavaScriptCore/runtime/Structure.h index 57368bee8..73ec0789e 100644 --- a/Source/JavaScriptCore/runtime/Structure.h +++ b/Source/JavaScriptCore/runtime/Structure.h @@ -460,7 +460,7 @@ namespace JSC { ASSERT(!heap.globalData()->isInitializingObject()); heap.globalData()->setInitializingObjectClass(&Structure::s_info); #endif - JSCell* result = static_cast<JSCell*>(heap.allocateStructure()); + JSCell* result = static_cast<JSCell*>(heap.allocateStructure(sizeof(Structure))); result->clearStructure(); return result; } @@ -554,17 +554,7 @@ namespace JSC { m_structure.set(globalData, this, structure); } - inline const ClassInfo* JSCell::validatedClassInfo() const - { -#if ENABLE(GC_VALIDATION) - ASSERT(m_structure.unvalidatedGet()->classInfo() == m_classInfo); -#else - ASSERT(m_structure->classInfo() == m_classInfo); -#endif - return m_classInfo; - } - - ALWAYS_INLINE void MarkStack::internalAppend(JSCell* cell) + ALWAYS_INLINE void SlotVisitor::internalAppend(JSCell* cell) { ASSERT(!m_isCheckingForDefaultMarkViolation); if (!cell) @@ -603,8 +593,7 @@ namespace JSC { } inline JSCell::JSCell(JSGlobalData& globalData, Structure* structure) - : m_classInfo(structure->classInfo()) - , m_structure(globalData, this, structure) + : m_structure(globalData, this, structure) { } @@ -616,7 +605,6 @@ namespace JSC { if (structure) #endif m_structure.setEarlyValue(globalData, this, structure); - m_classInfo = structure->classInfo(); // Very first set of allocations won't have a real structure. ASSERT(m_structure || !globalData.structureStructure); } diff --git a/Source/JavaScriptCore/runtime/WriteBarrier.h b/Source/JavaScriptCore/runtime/WriteBarrier.h index 9784a921e..ef8c3aff8 100644 --- a/Source/JavaScriptCore/runtime/WriteBarrier.h +++ b/Source/JavaScriptCore/runtime/WriteBarrier.h @@ -225,14 +225,14 @@ template <typename U, typename V> inline bool operator==(const WriteBarrierBase< return lhs.get() == rhs.get(); } -// MarkStack functions +// SlotVisitor functions -template<typename T> inline void MarkStack::append(WriteBarrierBase<T>* slot) +template<typename T> inline void SlotVisitor::append(WriteBarrierBase<T>* slot) { internalAppend(*slot->slot()); } -ALWAYS_INLINE void MarkStack::appendValues(WriteBarrierBase<Unknown>* barriers, size_t count) +ALWAYS_INLINE void SlotVisitor::appendValues(WriteBarrierBase<Unknown>* barriers, size_t count) { append(barriers->slot(), count); } |