Index: Source/core/rendering/InlineBox.cpp |
diff --git a/Source/core/rendering/InlineBox.cpp b/Source/core/rendering/InlineBox.cpp |
index 01b0b0a62b8d3d9eb28c061d13a7d9b50f63e7b5..b74155a4aa899523a4b92c15bbb892e08a474178 100644 |
--- a/Source/core/rendering/InlineBox.cpp |
+++ b/Source/core/rendering/InlineBox.cpp |
@@ -21,10 +21,10 @@ |
#include "core/rendering/InlineBox.h" |
#include "core/dom/WebCoreMemoryInstrumentation.h" |
+#include "core/platform/Partitions.h" |
#include "core/platform/graphics/FontMetrics.h" |
#include "core/rendering/InlineFlowBox.h" |
#include "core/rendering/PaintInfo.h" |
-#include "core/rendering/RenderArena.h" |
#include "core/rendering/RenderBlock.h" |
#include "core/rendering/RootInlineBox.h" |
@@ -50,10 +50,6 @@ struct SameSizeAsInlineBox { |
COMPILE_ASSERT(sizeof(InlineBox) == sizeof(SameSizeAsInlineBox), InlineBox_size_guard); |
#ifndef NDEBUG |
-static bool inInlineBoxDetach; |
-#endif |
- |
-#ifndef NDEBUG |
InlineBox::~InlineBox() |
{ |
@@ -69,32 +65,22 @@ void InlineBox::remove() |
parent()->removeChild(this); |
} |
-void InlineBox::destroy(RenderArena* renderArena) |
+void InlineBox::destroy() |
{ |
-#ifndef NDEBUG |
- inInlineBoxDetach = true; |
-#endif |
delete this; |
-#ifndef NDEBUG |
- inInlineBoxDetach = false; |
-#endif |
- |
- // Recover the size left there for us by operator delete and free the memory. |
- renderArena->free(*(size_t *)this, this); |
} |
-void* InlineBox::operator new(size_t sz, RenderArena* renderArena) |
+#if ENABLE(PARTITION_ALLOC) |
+void* InlineBox::operator new(size_t sz) |
{ |
- return renderArena->allocate(sz); |
+ return partitionAlloc(Partitions::getRenderingPartition(), sz); |
} |
-void InlineBox::operator delete(void* ptr, size_t sz) |
+void InlineBox::operator delete(void* ptr) |
{ |
- ASSERT(inInlineBoxDetach); |
- |
- // Stash size where destroy can find it. |
- *(size_t *)ptr = sz; |
+ partitionFree(ptr); |
} |
+#endif |
#ifndef NDEBUG |
const char* InlineBox::boxName() const |
@@ -184,11 +170,11 @@ void InlineBox::dirtyLineBoxes() |
curr->markDirty(); |
} |
-void InlineBox::deleteLine(RenderArena* arena) |
+void InlineBox::deleteLine() |
{ |
if (!m_bitfields.extracted() && m_renderer->isBox()) |
toRenderBox(m_renderer)->setInlineBoxWrapper(0); |
- destroy(arena); |
+ destroy(); |
} |
void InlineBox::extractLine() |