diff options
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/parser')
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h | 5 | ||||
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp | 6 | ||||
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h | 2 |
3 files changed, 10 insertions, 3 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h b/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h index d17da69..780a624 100644 --- a/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h +++ b/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h @@ -39,6 +39,11 @@ namespace JSC { return fastMalloc(size); } + inline void ParserArenaDeletable::operator delete(void* p) + { + fastFree(p); + } + inline ParserArenaRefCounted::ParserArenaRefCounted(JSGlobalData* globalData) { globalData->parser->arena().derefWithArena(adoptRef(this)); diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp index ba6e1e0..105ceaf 100644 --- a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp @@ -601,7 +601,7 @@ RegisterID* PostfixErrorNode::emitBytecode(BytecodeGenerator& generator, Registe RegisterID* DeleteResolveNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst) { if (generator.registerFor(m_ident)) - return generator.emitUnexpectedLoad(generator.finalDestination(dst), false); + return generator.emitLoad(generator.finalDestination(dst), false); generator.emitExpressionInfo(divot(), startOffset(), endOffset()); RegisterID* base = generator.emitResolveBase(generator.tempDestination(dst), m_ident); @@ -636,7 +636,7 @@ RegisterID* DeleteValueNode::emitBytecode(BytecodeGenerator& generator, Register generator.emitNode(generator.ignoredResult(), m_expr); // delete on a non-location expression ignores the value and returns true - return generator.emitUnexpectedLoad(generator.finalDestination(dst), true); + return generator.emitLoad(generator.finalDestination(dst), true); } // ------------------------------ VoidNode ------------------------------------- @@ -688,7 +688,7 @@ RegisterID* PrefixResolveNode::emitBytecode(BytecodeGenerator& generator, Regist if (generator.isLocalConstant(m_ident)) { if (dst == generator.ignoredResult()) return 0; - RefPtr<RegisterID> r0 = generator.emitUnexpectedLoad(generator.finalDestination(dst), (m_operator == OpPlusPlus) ? 1.0 : -1.0); + RefPtr<RegisterID> r0 = generator.emitLoad(generator.finalDestination(dst), (m_operator == OpPlusPlus) ? 1.0 : -1.0); return generator.emitBinaryOp(op_add, r0.get(), local, r0.get(), OperandTypes()); } diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h index a9f88b7..34b4497 100644 --- a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h +++ b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h @@ -109,6 +109,8 @@ namespace JSC { // Objects created with this version of new are not deleted when the arena is deleted. // Other arrangements must be made. void* operator new(size_t); + + void operator delete(void*); }; class ParserArenaRefCounted : public RefCounted<ParserArenaRefCounted> { |