Title: [127338] trunk/Source/_javascript_Core
- Revision
- 127338
- Author
- [email protected]
- Date
- 2012-08-31 17:08:18 -0700 (Fri, 31 Aug 2012)
Log Message
Rolled back in a piece of <http://trac.webkit.org/changeset/127293>.
Shrink activation objects by half
https://bugs.webkit.org/show_bug.cgi?id=95591
Reviewed by Sam Weinig.
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::MarkedBlock):
* heap/MarkedBlock.h:
(MarkedBlock):
(JSC::MarkedBlock::globalData):
(JSC):
* heap/WeakSet.cpp:
(JSC::WeakSet::addAllocator):
* heap/WeakSet.h:
(WeakSet):
(JSC::WeakSet::WeakSet):
(JSC::WeakSet::globalData):
* runtime/JSGlobalData.h:
(JSC::WeakSet::heap):
(JSC):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (127337 => 127338)
--- trunk/Source/_javascript_Core/ChangeLog 2012-08-31 23:49:17 UTC (rev 127337)
+++ trunk/Source/_javascript_Core/ChangeLog 2012-09-01 00:08:18 UTC (rev 127338)
@@ -1,3 +1,28 @@
+2012-08-31 Geoffrey Garen <[email protected]>
+
+ Rolled back in a piece of <http://trac.webkit.org/changeset/127293>.
+
+ Shrink activation objects by half
+ https://bugs.webkit.org/show_bug.cgi?id=95591
+
+ Reviewed by Sam Weinig.
+
+ * heap/MarkedBlock.cpp:
+ (JSC::MarkedBlock::MarkedBlock):
+ * heap/MarkedBlock.h:
+ (MarkedBlock):
+ (JSC::MarkedBlock::globalData):
+ (JSC):
+ * heap/WeakSet.cpp:
+ (JSC::WeakSet::addAllocator):
+ * heap/WeakSet.h:
+ (WeakSet):
+ (JSC::WeakSet::WeakSet):
+ (JSC::WeakSet::globalData):
+ * runtime/JSGlobalData.h:
+ (JSC::WeakSet::heap):
+ (JSC):
+
2012-08-31 Mark Lam <[email protected]>
Refactor LLInt and supporting code in preparation for the C Loop backend.
Modified: trunk/Source/_javascript_Core/heap/MarkedBlock.cpp (127337 => 127338)
--- trunk/Source/_javascript_Core/heap/MarkedBlock.cpp 2012-08-31 23:49:17 UTC (rev 127337)
+++ trunk/Source/_javascript_Core/heap/MarkedBlock.cpp 2012-09-01 00:08:18 UTC (rev 127338)
@@ -45,7 +45,7 @@
, m_cellsNeedDestruction(cellsNeedDestruction)
, m_onlyContainsStructures(onlyContainsStructures)
, m_state(New) // All cells start out unmarked.
- , m_weakSet(heap)
+ , m_weakSet(heap->globalData())
{
ASSERT(heap);
HEAP_LOG_BLOCK_STATE_TRANSITION(this);
Modified: trunk/Source/_javascript_Core/heap/MarkedBlock.h (127337 => 127338)
--- trunk/Source/_javascript_Core/heap/MarkedBlock.h 2012-08-31 23:49:17 UTC (rev 127337)
+++ trunk/Source/_javascript_Core/heap/MarkedBlock.h 2012-09-01 00:08:18 UTC (rev 127338)
@@ -121,6 +121,7 @@
void lastChanceToFinalize();
Heap* heap() const;
+ JSGlobalData* globalData() const;
WeakSet& weakSet();
enum SweepMode { SweepOnly, SweepToFreeList };
@@ -262,6 +263,11 @@
return m_weakSet.heap();
}
+ inline JSGlobalData* MarkedBlock::globalData() const
+ {
+ return m_weakSet.globalData();
+ }
+
inline WeakSet& MarkedBlock::weakSet()
{
return m_weakSet;
Modified: trunk/Source/_javascript_Core/heap/WeakSet.cpp (127337 => 127338)
--- trunk/Source/_javascript_Core/heap/WeakSet.cpp 2012-08-31 23:49:17 UTC (rev 127337)
+++ trunk/Source/_javascript_Core/heap/WeakSet.cpp 2012-09-01 00:08:18 UTC (rev 127338)
@@ -27,6 +27,7 @@
#include "WeakSet.h"
#include "Heap.h"
+#include "JSGlobalData.h"
namespace JSC {
@@ -73,7 +74,7 @@
WeakBlock::FreeCell* WeakSet::addAllocator()
{
WeakBlock* block = WeakBlock::create();
- m_heap->didAllocate(WeakBlock::blockSize);
+ heap()->didAllocate(WeakBlock::blockSize);
m_blocks.append(block);
WeakBlock::SweepResult sweepResult = block->takeSweepResult();
ASSERT(!sweepResult.isNull() && sweepResult.freeList);
Modified: trunk/Source/_javascript_Core/heap/WeakSet.h (127337 => 127338)
--- trunk/Source/_javascript_Core/heap/WeakSet.h 2012-08-31 23:49:17 UTC (rev 127337)
+++ trunk/Source/_javascript_Core/heap/WeakSet.h 2012-09-01 00:08:18 UTC (rev 127338)
@@ -38,11 +38,12 @@
static WeakImpl* allocate(JSValue, WeakHandleOwner* = 0, void* context = 0);
static void deallocate(WeakImpl*);
- WeakSet(Heap*);
+ WeakSet(JSGlobalData*);
~WeakSet();
void lastChanceToFinalize();
Heap* heap() const;
+ JSGlobalData* globalData() const;
bool isEmpty() const;
@@ -61,19 +62,19 @@
WeakBlock::FreeCell* m_allocator;
WeakBlock* m_nextAllocator;
DoublyLinkedList<WeakBlock> m_blocks;
- Heap* m_heap;
+ JSGlobalData* m_globalData;
};
-inline WeakSet::WeakSet(Heap* heap)
+inline WeakSet::WeakSet(JSGlobalData* globalData)
: m_allocator(0)
, m_nextAllocator(0)
- , m_heap(heap)
+ , m_globalData(globalData)
{
}
-inline Heap* WeakSet::heap() const
+inline JSGlobalData* WeakSet::globalData() const
{
- return m_heap;
+ return m_globalData;
}
inline bool WeakSet::isEmpty() const
Modified: trunk/Source/_javascript_Core/runtime/JSGlobalData.h (127337 => 127338)
--- trunk/Source/_javascript_Core/runtime/JSGlobalData.h 2012-08-31 23:49:17 UTC (rev 127337)
+++ trunk/Source/_javascript_Core/runtime/JSGlobalData.h 2012-09-01 00:08:18 UTC (rev 127338)
@@ -474,6 +474,11 @@
}
#endif
+ inline Heap* WeakSet::heap() const
+ {
+ return &m_globalData->heap;
+ }
+
} // namespace JSC
#endif // JSGlobalData_h
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes