summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/JavaScriptCore/parser
diff options
context:
space:
mode:
authorKent Hansen <khansen@trolltech.com>2009-07-28 15:32:59 (GMT)
committerKent Hansen <khansen@trolltech.com>2009-07-28 15:32:59 (GMT)
commit14aa95bf83e8fa91151b5edd3c346c20d942eb81 (patch)
tree46ec6389eb1590e0a018c4acbfba670d315987ba /src/3rdparty/webkit/JavaScriptCore/parser
parent1c72e77e43593dfea6c6392d1058e63762efb534 (diff)
parentf340825f35ad3de28685f4890cd73bbf9bb6c0e6 (diff)
downloadQt-14aa95bf83e8fa91151b5edd3c346c20d942eb81.zip
Qt-14aa95bf83e8fa91151b5edd3c346c20d942eb81.tar.gz
Qt-14aa95bf83e8fa91151b5edd3c346c20d942eb81.tar.bz2
Merge branch 'qtwebkit-4.6-staging' into qtscript-jsc-backend
Conflicts: src/corelib/tools/qregexp.cpp src/script/qscriptengine.cpp src/script/qscriptvalue.cpp
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/parser')
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y10
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/Parser.h2
5 files changed, 9 insertions, 9 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y b/src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y
index c5ca425..354c786 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Grammar.y
@@ -36,8 +36,12 @@
#include "CommonIdentifiers.h"
#include "NodeInfo.h"
#include "Parser.h"
+#include <wtf/FastMalloc.h>
#include <wtf/MathExtras.h>
+#define YYMALLOC fastMalloc
+#define YYFREE fastFree
+
#define YYMAXDEPTH 10000
#define YYENABLE_NLS 0
@@ -88,12 +92,6 @@ static ExpressionNode* combineCommaNodes(void*, ExpressionNode* list, Expression
#pragma warning(disable: 4244)
#pragma warning(disable: 4702)
-// At least some of the time, the declarations of malloc and free that bison
-// generates are causing warnings. A way to avoid this is to explicitly define
-// the macros so that bison doesn't try to declare malloc and free.
-#define YYMALLOC malloc
-#define YYFREE free
-
#endif
#define YYPARSE_PARAM globalPtr
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h b/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h
index 0e1b618..2583162 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Lexer.h
@@ -33,7 +33,7 @@ namespace JSC {
class RegExp;
- class Lexer : Noncopyable {
+ class Lexer : public Noncopyable {
public:
// Character manipulation functions.
static bool isWhiteSpace(int character);
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp
index 105ceaf..6c0d1af 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.cpp
@@ -495,6 +495,8 @@ static RegisterID* emitPreIncOrDec(BytecodeGenerator& generator, RegisterID* src
static RegisterID* emitPostIncOrDec(BytecodeGenerator& generator, RegisterID* dst, RegisterID* srcDst, Operator oper)
{
+ if (srcDst == dst)
+ return generator.emitToJSNumber(dst, srcDst);
return (oper == OpPlusPlus) ? generator.emitPostInc(dst, srcDst) : generator.emitPostDec(dst, srcDst);
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h
index 34b4497..84e8b95 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Nodes.h
@@ -113,7 +113,7 @@ namespace JSC {
void operator delete(void*);
};
- class ParserArenaRefCounted : public RefCounted<ParserArenaRefCounted> {
+ class ParserArenaRefCounted : public RefCountedCustomAllocated<ParserArenaRefCounted> {
protected:
ParserArenaRefCounted(JSGlobalData*);
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/Parser.h b/src/3rdparty/webkit/JavaScriptCore/parser/Parser.h
index 6f4c2b7..373dc00 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/Parser.h
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/Parser.h
@@ -39,7 +39,7 @@ namespace JSC {
template <typename T> struct ParserArenaData : ParserArenaDeletable { T data; };
- class Parser : Noncopyable {
+ class Parser : public Noncopyable {
public:
template <class ParsedNode> PassRefPtr<ParsedNode> parse(ExecState*, Debugger*, const SourceCode&, int* errLine = 0, UString* errMsg = 0);
template <class ParsedNode> PassRefPtr<ParsedNode> reparse(JSGlobalData*, ParsedNode*);