diff options
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/parser')
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*); |