summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/JavaScriptCore/parser/ParserArena.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/parser/ParserArena.cpp')
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/ParserArena.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/ParserArena.cpp b/src/3rdparty/webkit/JavaScriptCore/parser/ParserArena.cpp
index 2617506..78c5196 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/ParserArena.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/ParserArena.cpp
@@ -24,6 +24,7 @@
*/
#include "config.h"
+#include "Parser.h"
#include "ParserArena.h"
#include "Nodes.h"
@@ -57,4 +58,21 @@ void ParserArena::reset()
m_refCountedObjects.shrink(0);
}
+void* ParserArenaDeletable::operator new(size_t size, JSGlobalData* globalData)
+{
+ ParserArenaDeletable* deletable = static_cast<ParserArenaDeletable*>(fastMalloc(size));
+ globalData->parser->arena().deleteWithArena(deletable);
+ return deletable;
+}
+
+void* ParserArenaDeletable::operator new(size_t size)
+{
+ return fastMalloc(size);
+}
+
+void ParserArenaDeletable::operator delete(void* p)
+{
+ fastFree(p);
+}
+
}