summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/runtime')
-rw-r--r--Source/JavaScriptCore/runtime/JSCell.h8
-rw-r--r--Source/JavaScriptCore/runtime/JSObject.h3
-rw-r--r--Source/JavaScriptCore/runtime/PropertyOffset.h4
-rw-r--r--Source/JavaScriptCore/runtime/Structure.h18
-rw-r--r--Source/JavaScriptCore/runtime/WriteBarrier.h6
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);
}