summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/heap/HeapBlock.h
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-10-17 16:21:14 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2012-10-17 16:21:14 +0200
commit8995b83bcbfbb68245f779b64e5517627c6cc6ea (patch)
tree17985605dab9263cc2444bd4d45f189e142cca7c /Source/JavaScriptCore/heap/HeapBlock.h
parentb9c9652036d5e9f1e29c574f40bc73a35c81ace6 (diff)
downloadqtwebkit-8995b83bcbfbb68245f779b64e5517627c6cc6ea.tar.gz
Imported WebKit commit cf4f8fc6f19b0629f51860cb2d4b25e139d07e00 (http://svn.webkit.org/repository/webkit/trunk@131592)
New snapshot that includes the build fixes for Mac OS X 10.6 and earlier as well as the previously cherry-picked changes
Diffstat (limited to 'Source/JavaScriptCore/heap/HeapBlock.h')
-rw-r--r--Source/JavaScriptCore/heap/HeapBlock.h22
1 files changed, 9 insertions, 13 deletions
diff --git a/Source/JavaScriptCore/heap/HeapBlock.h b/Source/JavaScriptCore/heap/HeapBlock.h
index a63b7ebe1..677eaacd4 100644
--- a/Source/JavaScriptCore/heap/HeapBlock.h
+++ b/Source/JavaScriptCore/heap/HeapBlock.h
@@ -27,13 +27,14 @@
#define HeapBlock_h
#include <wtf/DoublyLinkedList.h>
-#include <wtf/PageAllocationAligned.h>
#include <wtf/StdLibExtras.h>
namespace JSC {
enum AllocationEffort { AllocationCanFail, AllocationMustSucceed };
+class Region;
+
#if COMPILER(GCC)
#define CLASS_IF_GCC class
#else
@@ -44,30 +45,25 @@ template<typename T>
class HeapBlock : public DoublyLinkedListNode<T> {
friend CLASS_IF_GCC DoublyLinkedListNode<T>;
public:
- static const size_t s_blockSize = 64 * KB;
-
- static PageAllocationAligned destroy(HeapBlock* block)
+ static HeapBlock* destroy(HeapBlock* block)
{
static_cast<T*>(block)->~T();
-
- PageAllocationAligned allocation;
- std::swap(allocation, block->m_allocation);
- return allocation;
+ return block;
}
- HeapBlock(const PageAllocationAligned& allocation)
+ HeapBlock(Region* region)
: DoublyLinkedListNode<T>()
- , m_allocation(allocation)
+ , m_region(region)
, m_prev(0)
, m_next(0)
{
- ASSERT(m_allocation);
+ ASSERT(m_region);
}
- const PageAllocationAligned allocation() const { return m_allocation; }
+ Region* region() const { return m_region; }
private:
- PageAllocationAligned m_allocation;
+ Region* m_region;
T* m_prev;
T* m_next;
};