summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/heap/MarkStack.h
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2013-05-23 13:14:13 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2013-05-23 13:14:14 +0200
commita5b43f4f03d88d0fca8fb4531f49d1fecff582b7 (patch)
tree59c92f012966a40ee7087e8817726cadcb73d9ea /Source/JavaScriptCore/heap/MarkStack.h
parent276fb8ee82394b8fe414196677ce6af4028c5652 (diff)
parentd7fff220c897ab0eebcd6ca8087efd4b9477beb9 (diff)
downloadqtwebkit-a5b43f4f03d88d0fca8fb4531f49d1fecff582b7.tar.gz
Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ibe8c6167bf9d9b6bd689b93ed7f5b94cdbd73ba7
Diffstat (limited to 'Source/JavaScriptCore/heap/MarkStack.h')
-rw-r--r--Source/JavaScriptCore/heap/MarkStack.h16
1 files changed, 5 insertions, 11 deletions
diff --git a/Source/JavaScriptCore/heap/MarkStack.h b/Source/JavaScriptCore/heap/MarkStack.h
index 2a7f04450..c97b6a735 100644
--- a/Source/JavaScriptCore/heap/MarkStack.h
+++ b/Source/JavaScriptCore/heap/MarkStack.h
@@ -75,16 +75,6 @@ public:
{
return bitwise_cast<const JSCell**>(this + 1);
}
-
- static size_t capacityFromSize(size_t size)
- {
- return (size - sizeof(MarkStackSegment)) / sizeof(const JSCell*);
- }
-
- static size_t sizeFromCapacity(size_t capacity)
- {
- return sizeof(MarkStackSegment) + capacity * sizeof(const JSCell*);
- }
static const size_t blockSize = 4 * KB;
@@ -111,6 +101,10 @@ public:
bool isEmpty();
private:
+ template <size_t size> struct CapacityFromSize {
+ static const size_t value = (size - sizeof(MarkStackSegment)) / sizeof(const JSCell*);
+ };
+
JS_EXPORT_PRIVATE void expand();
size_t postIncTop();
@@ -124,7 +118,7 @@ private:
DoublyLinkedList<MarkStackSegment> m_segments;
BlockAllocator& m_blockAllocator;
- size_t m_segmentCapacity;
+ JS_EXPORT_PRIVATE static const size_t s_segmentCapacity = CapacityFromSize<MarkStackSegment::blockSize>::value;
size_t m_top;
size_t m_numberOfSegments;