Modified: trunk/Source/_javascript_Core/ChangeLog (184316 => 184317)
--- trunk/Source/_javascript_Core/ChangeLog 2015-05-13 23:18:56 UTC (rev 184316)
+++ trunk/Source/_javascript_Core/ChangeLog 2015-05-13 23:33:10 UTC (rev 184317)
@@ -1,3 +1,18 @@
+2015-05-13 Commit Queue <[email protected]>
+
+ Unreviewed, rolling out r184313.
+ https://bugs.webkit.org/show_bug.cgi?id=144974
+
+ Introduced an assertion failure in class-syntax-
+ declaration.js, class-syntax-_expression_.js, and object-
+ literal-syntax.js (Requested by rniwa on #webkit).
+
+ Reverted changeset:
+
+ "Small refactoring before ES6 Arrow function implementation."
+ https://bugs.webkit.org/show_bug.cgi?id=144954
+ http://trac.webkit.org/changeset/184313
+
2015-05-13 Oliver Hunt <[email protected]>
Ensure that all the smart pointer types in WTF clear their pointer before deref
https://bugs.webkit.org/show_bug.cgi?id=143789
Modified: trunk/Source/_javascript_Core/parser/Parser.cpp (184316 => 184317)
--- trunk/Source/_javascript_Core/parser/Parser.cpp 2015-05-13 23:18:56 UTC (rev 184316)
+++ trunk/Source/_javascript_Core/parser/Parser.cpp 2015-05-13 23:33:10 UTC (rev 184317)
@@ -1310,8 +1310,15 @@
return nullptr;
}
-template <typename LexerType> template <class TreeBuilder> int Parser<LexerType>::parseFunctionParamters(TreeBuilder& context, FunctionRequirements requirements, FunctionParseMode mode, bool nameIsInContainingScope, AutoPopScopeRef& functionScope, ParserFunctionInfo<TreeBuilder>& info)
+template <typename LexerType>
+template <class TreeBuilder> bool Parser<LexerType>::parseFunctionInfo(TreeBuilder& context, FunctionRequirements requirements, FunctionParseMode mode,
+ bool nameIsInContainingScope, ConstructorKind constructorKind, SuperBinding expectedSuperBinding, int functionKeywordStart, ParserFunctionInfo<TreeBuilder>& info)
{
+ AutoPopScopeRef functionScope(this, pushScope());
+ functionScope->setIsFunction();
+ int functionNameStart = m_token.m_location.startOffset;
+ const Identifier* lastFunctionName = m_lastFunctionName;
+ m_lastFunctionName = nullptr;
if (match(IDENT)) {
info.name = m_token.m_data.ident;
m_lastFunctionName = info.name;
@@ -1347,20 +1354,6 @@
}
consumeOrFail(CLOSEPAREN, "Expected a ')' or a ',' after a parameter declaration");
}
-
- return parametersStart;
-}
-
-template <typename LexerType>
-template <class TreeBuilder> bool Parser<LexerType>::parseFunctionInfo(TreeBuilder& context, FunctionRequirements requirements, FunctionParseMode mode, bool nameIsInContainingScope, ConstructorKind constructorKind, SuperBinding expectedSuperBinding, int functionKeywordStart, ParserFunctionInfo<TreeBuilder>& info)
-{
- AutoPopScopeRef functionScope(this, pushScope());
- functionScope->setIsFunction();
- int functionNameStart = m_token.m_location.startOffset;
- const Identifier* lastFunctionName = m_lastFunctionName;
- m_lastFunctionName = nullptr;
-
- int parametersStart = parseFunctionParamters(context, requirements, mode, nameIsInContainingScope, functionScope, info);
matchOrFail(OPENBRACE, "Expected an opening '{' at the start of a ", stringForFunctionMode(mode), " body");
Modified: trunk/Source/_javascript_Core/parser/Parser.h (184316 => 184317)
--- trunk/Source/_javascript_Core/parser/Parser.h 2015-05-13 23:18:56 UTC (rev 184316)
+++ trunk/Source/_javascript_Core/parser/Parser.h 2015-05-13 23:33:10 UTC (rev 184317)
@@ -773,9 +773,6 @@
template <class TreeBuilder> NEVER_INLINE TreeDeconstructionPattern tryParseDeconstructionPatternExpression(TreeBuilder&);
template <class TreeBuilder> NEVER_INLINE bool parseFunctionInfo(TreeBuilder&, FunctionRequirements, FunctionParseMode, bool nameIsInContainingScope, ConstructorKind, SuperBinding, int functionKeywordStart, ParserFunctionInfo<TreeBuilder>&);
-
- template <class TreeBuilder> NEVER_INLINE int parseFunctionParamters(TreeBuilder&, FunctionRequirements, FunctionParseMode, bool, AutoPopScopeRef&, ParserFunctionInfo<TreeBuilder>&);
-
#if ENABLE(ES6_CLASS_SYNTAX)
template <class TreeBuilder> NEVER_INLINE TreeClassExpression parseClass(TreeBuilder&, FunctionRequirements, ParserClassInfo<TreeBuilder>&);
#endif