- 25 Jun, 2014 1 commit
-
-
wingo@igalia.com authored
ES6 will allow trailing commas in object literals. It turns out that V8 already allowed it, too, as does JSC and SpiderMonkey. R=marja@chromium.org BUG= Review URL: https://codereview.chromium.org/350353002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jun, 2014 1 commit
-
-
marja@chromium.org authored
This is a reincarnation of r21841. The previous try was https://codereview.chromium.org/314603004/ but it regressed JSBench and morejs. BUG= R=rossberg@chromium.org Review URL: https://codereview.chromium.org/335293004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jun, 2014 2 commits
-
-
marja@chromium.org authored
Moves the strict mode checks and error reporting for the function and parameter names into a separate CheckStrictFunctionNameAndParameters() function in ParserBase. Parsing of arrow functions will then use this new function instead of duplicating the error code. BUG= R=marja@chromium.org Review URL: https://codereview.chromium.org/332053004 Patch from Adrián Pérez de Castro <aperez@igalia.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/333013002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Jun, 2014 1 commit
-
-
marja@chromium.org authored
Plus the fixes on top. Reason: regresses benchmarks (JSBench) and perf (morejs). TBR=rossberg@chromium.org BUG=385404 LOG=N Review URL: https://codereview.chromium.org/345513003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Jun, 2014 1 commit
-
-
marja@chromium.org authored
We used to allow any number of parameters in getters and setters to match JSC. This is a violation of ES5.1 and both SpiderMonkey and Chakra throw on these syntax errors. BUG=v8:3371 LOG=Y R=marja@chromium.org Review URL: https://codereview.chromium.org/329413002 Patch from Erik Arvidsson <arv@chromium.org>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jun, 2014 1 commit
-
-
marja@chromium.org authored
This is needed so that we can run Parser on a non-main thread (independent of the Isolate and the V8 heap). BUG= R=rossberg@chromium.org Review URL: https://codereview.chromium.org/314603004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jun, 2014 2 commits
-
-
marja@chromium.org authored
- Missing includes / forward declaration - Parser: Simplifying calling error reporting funcs. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/307393002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
- this avoids using relative include paths which are forbidden by the style guide - makes the code more readable since it's clear which header is meant - allows for starting to use checkdeps BUG=none R=jkummerow@chromium.org, danno@chromium.org LOG=n Review URL: https://codereview.chromium.org/304153016 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 May, 2014 1 commit
-
-
marja@chromium.org authored
In some places, we pretended that there can be multiple arguments, though in practice there was only one. In other places (most importantly, PreParser), we only handled one argument. (This means that we were not able to produce a multi-argument error inside a lazy function anyway.) This CL makes it clear that there is ever only one argument. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/273653002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2014 1 commit
-
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/259183002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Apr, 2014 1 commit
-
-
marja@chromium.org authored
Adds new Traits::Type::StatementList definitions both for Parser and PreParser, and the corresponding NewStatementList() factory function. This is needed to be able to define in ParserBase parsing functions that return and manipulate lists of statements. Moving and renaming PreParser::Statement to PreParserStatement is also needed so its definition is available earlier for PreParserStatementList to use it. R=marja@chromium.org Review URL: https://codereview.chromium.org/252423007 Patch from Adrian Perez de Castro <aperez@igalia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Apr, 2014 1 commit
-
-
marja@chromium.org authored
This bug went unnoticed because PreParserIdentifier and Handle<String> have default ctors which create a null identifier, but this it not true for all possible identifier types (especially pointers). R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/238253012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Apr, 2014 1 commit
-
-
marja@chromium.org authored
State of the art: - Chromium doesn't do a separate preparsing phase any more. - We start parsing with Parser, and when it sees a lazy function, it falls back to PreParser for that function. - The symbol data should contain symbols which are *outside* lazy functions. - So Parser should always produce symbol data, and PreParser should never. - Because it's this simple now, we don't need to keep track of "should produce symbol data" (i.e., whether we're inside a lazy func or not). R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/222123003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Apr, 2014 2 commits
-
-
rossberg@chromium.org authored
As required by the spec, and implemented by other browsers. (Plus minor clean-up for redeclaration TypeErrors.) R=marja@chromium.org BUG= LOG=Y Review URL: https://codereview.chromium.org/220473014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
Necessary for web legacy compatibility. Also fold in additional strict mode checks into LHS checks. Minor constness clean-ups on the way. R=marja@chromium.org BUG=chromium:358346 LOG=Y Review URL: https://codereview.chromium.org/217823003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Mar, 2014 1 commit
-
-
marja@chromium.org authored
The Isolate* member of ParserBase::FunctionState was only used by Parser. Removing it makes it clear that there are no isolates in PreParser. (There's also no Zone, since PreParserTraits::Type::Zone is void.) R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/216883003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Mar, 2014 1 commit
-
-
marja@chromium.org authored
Historically, we used to track the "with-ness" of a scope differently; not creating a with scope, but setting a property on the scope (see https://codereview.chromium.org/5166006 ). For laziness decisions, checking the with-ness should be unnecessary: the current scope is function scope, and if the outer scope is global scope, there's surely no with scope in between. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/209863004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Mar, 2014 3 commits
-
-
marja@chromium.org authored
Functions moved: ParseMemberWithNewPrefixesExpression, ParseMemberExpression, ParseMemberExpressionContinuation. Now all Parse*Expression functions are in ParserBase. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/207633003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
Includes cleanups: - Reorganized functions in PreParserFactory to be in the logical order. - De-hackified things PreParser doesn't need to track, such as IsCall & IsCallNew. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/206433003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
+ enable a test which checks that Parser and PreParser produce the "invalid left hand side" errors consistently. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/202333004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Mar, 2014 1 commit
-
-
marja@chromium.org authored
Notes: - This makes PreParser produce invalid_lhs_in_assignment and invalid_lhs_in_prefix_op. Other errors will follow as the corresponding funcs move to ParserBase. - PreParserExpression::IsStrictFunction and StrictFunction() are not needed any more -> removed them. R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/196343033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Mar, 2014 4 commits
-
-
marja@chromium.org authored
This also makes PreParser produce the strict_delete error the same way as Parser (see test). R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/203193004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
This reverts revision 20077. Reason: build fail on some compilers. BUG= TBR=marja@chromium.org,rossberg@chromium.org Review URL: https://codereview.chromium.org/203413009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
This also makes PreParser produce the strict_delete error the same way as Parser (see test). R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/203193004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
This CL makes the Parser produce the data PreParser used to produce. This enables us to get rid of the unnecessary preparsing phase. The first part is here: https://codereview.chromium.org/199063003/ BUG= R=dcarney@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/203353002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Mar, 2014 1 commit
-
-
marja@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/203493002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Mar, 2014 4 commits
-
-
marja@chromium.org authored
R=mstarzinger@chromium.org BUG=v8:3126 LOG=N Review URL: https://codereview.chromium.org/196933005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
R=mstarzinger@chromium.org BUG=v8:3126 LOG=N Review URL: https://codereview.chromium.org/198053002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
TBR=marja@chromium.org BUG= Review URL: https://codereview.chromium.org/199743006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
This is required by the spec. It also prevents crashes resulting from the attempt to read type feedback for the RHS of an invalid assignment which full codegen never actually allocated info for. To do: check properly in preparser already. R=marja@chromium.org, mstarzinger@chromium.org BUG=351658 LOG=Y Review URL: https://codereview.chromium.org/200473003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Mar, 2014 2 commits
-
-
marja@chromium.org authored
R=mstarzinger@chromium.org BUG=v8:3126 LOG=N Review URL: https://codereview.chromium.org/197353003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
R=mstarzinger@chromium.org, mstarzinger BUG=v8:3126 LOG=N Committed: https://code.google.com/p/v8/source/detail?r=19908 Review URL: https://codereview.chromium.org/197653002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Mar, 2014 3 commits
-
-
marja@chromium.org authored
This reverts revision 19908. Reason: clang doesn't like it. BUG= Review URL: https://codereview.chromium.org/199233003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
R=mstarzinger@chromium.org, mstarzinger BUG=v8:3126 LOG=N Review URL: https://codereview.chromium.org/197653002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=marja@chromium.org BUG= Review URL: https://codereview.chromium.org/198713002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2014 3 commits
-
-
marja@chromium.org authored
R=rossberg@chromium.org, rossberg BUG=v8:3126 LOG=N Review URL: https://codereview.chromium.org/196953004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
ReportUnexpectedToken already calls Traits::ReportMessageAt. If we're in Parser, that already suppresses the syntax error. If we're in PreParser, we don't need to suppress the syntax error (preparser errors don't go through Isolate, and having both stack overflow and a syntax error present is handled correctly by PreParserApi::PreParse). R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/197293003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=marja@chromium.org BUG= Review URL: https://codereview.chromium.org/197103002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Mar, 2014 1 commit
-
-
marja@chromium.org authored
Notes: - PreParser didn't produce "too_many_arguments"; now it does. - The argument count in the error message was wrong; fixed it. BUG=v8:3126 LOG=N R=ulan@chromium.org Review URL: https://codereview.chromium.org/194503004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-