diff options
author | Kent Hansen <khansen@trolltech.com> | 2009-07-14 15:49:56 (GMT) |
---|---|---|
committer | Kent Hansen <khansen@trolltech.com> | 2009-07-14 15:49:56 (GMT) |
commit | 8fd9cbc859346d758bb730e85c679635f00940df (patch) | |
tree | bc3b10d79a458933b1f481bd7e88d1a633e7bc1e /src/3rdparty/webkit/JavaScriptCore/parser | |
parent | 65b788014759fa06d65d1677b3dbd5cc4b596f6b (diff) | |
parent | 06af27069497a693f5b1a867b29d96297f68eb75 (diff) | |
download | Qt-8fd9cbc859346d758bb730e85c679635f00940df.zip Qt-8fd9cbc859346d758bb730e85c679635f00940df.tar.gz Qt-8fd9cbc859346d758bb730e85c679635f00940df.tar.bz2 |
Merge branch 'qtwebkit-4.6-staging' into qtscript-jsc-backend
Conflicts:
src/3rdparty/webkit/JavaScriptCore/interpreter/Interpreter.cpp
src/script/qscriptecmafunction.cpp
src/script/qscriptecmaglobal.cpp
src/script/qscriptengine.cpp
src/script/qscriptengine_p.cpp
src/script/qscriptenginefwd_p.h
src/script/qscriptextqobject.cpp
src/script/qscriptextqobject_p.h
tests/auto/qscriptqobject/tst_qscriptqobject.cpp
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> { |