- 24 Feb, 2017 1 commit
-
-
Marja Hölttä authored
This is also needed so that PreParser doesn't need to gather more data for arrow function params in order to create the uninteresting varblock scopes matching the scopes created in Parser::BuildParameterInitializationBlock. This cancels the changes in https://chromium-review.googlesource.com/c/444747 which make PreParser create uninteresting scopes for the normal (non-arrow) function "eval in default param" case. R=vogelheim@chromium.org BUG=v8:5516 Change-Id: I8957ac0796d8738c63492f7928bca6f00e4b4241 Reviewed-on: https://chromium-review.googlesource.com/446339Reviewed-by:
Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#43411}
-
- 22 Feb, 2017 1 commit
-
-
bakkot authored
This implements the proposal at https://github.com/tc39/proposal-template-literal-revision staged behind a flag --harmony-template-escapes. The proposal allows invalid octal, unicode, and hexadecimal escape sequences to appear in tagged template literals, instead of being a syntax error. These have a 'cooked' value of 'undefined', but are still accessible through the 'raw' property. BUG=v8:5546 Review-Url: https://codereview.chromium.org/2665513002 Cr-Commit-Position: refs/heads/master@{#43384}
-
- 20 Feb, 2017 2 commits
-
-
Marja Hölttä authored
Handle eval in default parameters. BUG=v8:5516 R=vogelheim@chromium.org Change-Id: Ib6543a4aef9a3cc9636e65d0337bc269c8a079dc Reviewed-on: https://chromium-review.googlesource.com/444747 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Daniel Vogelheim <vogelheim@chromium.org> Cr-Commit-Position: refs/heads/master@{#43328}
-
Toon Verwaest authored
By now lazy allocation of block scopes probably doesn't make that much sense anymore, since the memory overhead significantly reduced. Not indirecting scope() over ScopeState is faster, which is more important at this point. BUG=v8:5209 Change-Id: I2968f01252769e7b1198a0a0876765a06ab0d3bd Reviewed-on: https://chromium-review.googlesource.com/445025Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#43313}
-
- 17 Feb, 2017 1 commit
-
-
vabr authored
https://codereview.chromium.org/2694003002/ introduced "SyntaxError: Lexical declaration cannot appear in a single-statement context" for the case when let + desctructuring from a list happen. As was pointed out in https://codereview.chromium.org/2694003002/#msg18, the case without destructuring would also benefit from a better message: if a single statement is expected and "let identifier = ..." is seen, the error is indeed again that the lexical declaration is not a statement. However, the current error is "Unexpected identifier", because the parser tries to accept "let" as an identifier in an expression statement, and then gives up seeing the other identifier after "let". This CL ensures that the parser recognises the error properly and reports accordingly. It also renames the existing test, which contains destructuring, and adds the one with a non-destructuring lexical declaration. BUG=v8:5686 Review-Url: https://codereview.chromium.org/2697193007 Cr-Commit-Position: refs/heads/master@{#43275}
-
- 16 Feb, 2017 11 commits
-
-
jwolfe authored
For functions declared in source code, the .toString() representation will be an excerpt of the source code. * For functions declared with the "function" keyword, the excerpt starts at the "function" or "async" keyword and ends at the final "}". The previous behavior would start the excerpt at the "(" of the parameter list, and prepend a canonical `"function " + name` or similar, which would discard comments and formatting surrounding the function's name. Anonymous functions declared as function expressions no longer get the name "anonymous" in their toString representation. * For methods, the excerpt starts at the "get", "set", "*" (for generator methods), or property name, whichever comes first. Previously, the toString representation for methods would use a canonical prefix before the "(" of the parameter list. Note that any "static" keyword is omitted. * For arrow functions and class declarations, the excerpt is unchanged. For functions created with the Function, GeneratorFunction, or AsyncFunction constructors: * The string separating the parameter text and body text is now "\n) {\n", where previously it was "\n/*``*/) {\n" or ") {\n". * At one point, newline normalization was required by the spec here, but that was removed from the spec, and so this CL does not do it. Included in this CL is a fix for CreateDynamicFunction parsing. ')' and '`' characters in the parameter string are no longer disallowed, and Function("a=function(", "}){") is no longer allowed. BUG=v8:4958, v8:4230 Review-Url: https://codereview.chromium.org/2156303002 Cr-Commit-Position: refs/heads/master@{#43262}
-
adamk authored
This changes most callers of ParseScopedStatement to call a new, simpler form of ParseStatement, which takes only |labels| and |ok|. This allows us to remove the |legacy| attribute from ParseScopedStatement. The only remaining caller of ParseScopedStatement is ParseIfStatement. This patch is a strict refactoring, and should change no behavior. R=littledan@chromium.org Review-Url: https://codereview.chromium.org/2699793002 Cr-Commit-Position: refs/heads/master@{#43259}
-
vabr authored
ES2017 forbids the sequence of tokens "let [" in in expression statements [1]. This CL makes ParserBase report those instances as SyntaxError. It also adds a customised error message for that, because the standard "Unexpected token" is not applicable: "let" itself is not forbidden in those context, only the sequence of "let [". [1] https://tc39.github.io/ecma262/#sec-expression-statement BUG=v8:5686 Review-Url: https://codereview.chromium.org/2694003002 Cr-Commit-Position: refs/heads/master@{#43258}
-
mvstanton authored
This is a workaround for the fact that %SetCode can "lose" the script for a js native. If the js native is re-initialized (for a Realm or something), then the source SharedFunctionInfo won't have a script anymore. Nonetheless, we may want to optimize the function. If we've compiled bytecode, then we can compile optimized code without a script. Here, we carve out a special exception for this case, so that we can turn on the --mark-shared-functions-for-tier-up. BUG=v8:5946 R=leszeks@chromium.org Review-Url: https://codereview.chromium.org/2684033007 Cr-Original-Commit-Position: refs/heads/master@{#43240} Committed: https://chromium.googlesource.com/v8/v8/+/4123a3dd790495c40cf839990318a85c146e057d Review-Url: https://codereview.chromium.org/2684033007 Cr-Commit-Position: refs/heads/master@{#43252}
-
machenbach authored
Revert of Allow a ParseInfo without a script for %SetCode users (patchset #5 id:220001 of https://codereview.chromium.org/2684033007/ ) Reason for revert: Please remove the file in status file too. Breaks presubmit: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20presubmit/builds/14754 Or lets call it post-submit :( Original issue's description: > This is a workaround for the fact that %SetCode can "lose" the script for a js native. If the js native is re-initialized (for a Realm or something), then the source SharedFunctionInfo won't have a script anymore. Nonetheless, we may want to optimize the function. If we've compiled bytecode, then we can compile optimized code without a script. > > Here, we carve out a special exception for this case, so that we can turn on the --mark-shared-functions-for-tier-up. > > BUG=v8:5946 > R=leszeks@chromium.org > > Review-Url: https://codereview.chromium.org/2684033007 > Cr-Commit-Position: refs/heads/master@{#43240} > Committed: https://chromium.googlesource.com/v8/v8/+/4123a3dd790495c40cf839990318a85c146e057d TBR=leszeks@chromium.org,mstarzinger@chromium.org,marja@chromium.org,mvstanton@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5946 Review-Url: https://codereview.chromium.org/2703553002 Cr-Commit-Position: refs/heads/master@{#43242}
-
Marja Hölttä authored
Produce the same scopes / variables for parameters (part 3). This CL fixes the ordering + variable types in PreParser when there are simple parameters + a rest parameter. In that case, Parser declares unnamed temporaries for the non-rest params, then the rest param, then the named variables (which are not parameters) for the non-rest params. BUG=v8:5516 R=vogelheim@chromium.org Change-Id: I9b006595039c8002b0508d1d2a200aa9a0f3eae0 Reviewed-on: https://chromium-review.googlesource.com/443527Reviewed-by:
Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#43241}
-
mvstanton authored
This is a workaround for the fact that %SetCode can "lose" the script for a js native. If the js native is re-initialized (for a Realm or something), then the source SharedFunctionInfo won't have a script anymore. Nonetheless, we may want to optimize the function. If we've compiled bytecode, then we can compile optimized code without a script. Here, we carve out a special exception for this case, so that we can turn on the --mark-shared-functions-for-tier-up. BUG=v8:5946 R=leszeks@chromium.org Review-Url: https://codereview.chromium.org/2684033007 Cr-Commit-Position: refs/heads/master@{#43240}
-
Marja Hölttä authored
Patch adopted from mvstanton@ ( https://codereview.chromium.org/2657413002/ ) BUG= Change-Id: I4296b3d5694116e250a6bb88296fbed0f0c444e6 Reviewed-on: https://chromium-review.googlesource.com/443246Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#43238}
-
neis authored
This is in order to prevent accidental bugs in desugarings. R=adamk@chromium.org BUG=v8:5636 Review-Url: https://codereview.chromium.org/2693313002 Cr-Commit-Position: refs/heads/master@{#43237}
-
Daniel Vogelheim authored
BUG=chromium:690003 Change-Id: I0f80911426e9b201be61af313b4b5cacbb357bb5 Reviewed-on: https://chromium-review.googlesource.com/443329Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Daniel Vogelheim <vogelheim@chromium.org> Cr-Commit-Position: refs/heads/master@{#43236}
-
adamk authored
The parser was finalizing the inner block scope, but not clearing the inner block's scope pointer. This doesn't (yet) have any behavioral difference, but makes it easier to make assumptions about the structure of the AST vs the scope chain. R=neis@chromium.org Review-Url: https://codereview.chromium.org/2696233003 Cr-Commit-Position: refs/heads/master@{#43233}
-
- 15 Feb, 2017 4 commits
-
-
caitp authored
When --harmony-async-iteration is enabled, it is now possible to use the for-await-of loop, which uses the Async Iteration protocol rather than the ordinary ES6 Iteration protocol. the Async-from-Sync Iterator object is not implemented in this CL, and so for-await-of loops will abort execution if the iterated object does not have a Symbol.asyncIterator() method. Async-from-Sync Iterators are implemented seperately in https://codereview.chromium.org/2645313003/ BUG=v8:5855, v8:4483 R=neis@chromium.org, littledan@chromium.org, adamk@chromium.org Review-Url: https://codereview.chromium.org/2637403008 Cr-Commit-Position: refs/heads/master@{#43224}
-
Marja Hölttä authored
- Different places used is_simple to mean different things; renamed one. - No need to do Scope::SetHasNoSimpleParameters multiple times. - Normally we create VAR parameters with a name, or (for destructuring parameters), TEMPORARY parmeters with an empty name. *Except* for destructuring rest parameters; then we create VAR a parameter with an empty name. This CL makes the empty-named parameter TEMPORARY instead of VAR. - This makes it clear that Parser::DeclareFormalParameters declares exactly those params which Parser::BuildParamerterInitializationBlock doesn't declare. - This unification doesn't change any functionality, but it makes sense to do since I'll need to make PreParser emulate what Parser does; this way I don't need to emulate the weird behavior. BUG=v8:5501 Change-Id: Ifa6c116bc5908f4e03a36e74f47558888d1582bd Reviewed-on: https://chromium-review.googlesource.com/443106Reviewed-by:
Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#43220}
-
vabr authored
ParserBase::is_any_identifier currently does not recognise Token::ESCAPED_STRICT_RESERVED_WORD as an identifier. This seems different from what ParserBase::ParseIdentifierName does, and also prevents "l\u0065t", unlike "let", from becoming a label. This CL extends is_any_identifier to also accept ESCAPED_STRICT_RESERVED_WORD. BUG=v8:5692 Review-Url: https://codereview.chromium.org/2695973003 Cr-Commit-Position: refs/heads/master@{#43204}
-
vabr authored
The method ExpressionUnexpectedToken is not referenced anywhere apart from its definition. This CL removes it. The association with the bug below is only through discovering the dead code when working on a fix for that bug. BUG=v8:5692 Review-Url: https://codereview.chromium.org/2688413009 Cr-Commit-Position: refs/heads/master@{#43203}
-
- 14 Feb, 2017 1 commit
-
-
adamk authored
R=littledan@chromium.org, marja@chromium.org, vogelheim@chromium.org NOTRY=true Review-Url: https://codereview.chromium.org/2690123003 Cr-Commit-Position: refs/heads/master@{#43196}
-
- 13 Feb, 2017 2 commits
-
-
adamk authored
R=marja@chromium.org Review-Url: https://codereview.chromium.org/2687403003 Cr-Commit-Position: refs/heads/master@{#43172}
-
adamk authored
R=neis@chromium.org Review-Url: https://codereview.chromium.org/2690723002 Cr-Commit-Position: refs/heads/master@{#43144}
-
- 11 Feb, 2017 1 commit
-
-
adamk authored
R=neis@chromium.org Review-Url: https://codereview.chromium.org/2686413002 Cr-Commit-Position: refs/heads/master@{#43125}
-
- 10 Feb, 2017 8 commits
-
-
jwolfe authored
The heuristic checks for "(function", and now it also checks for "(async function". BUG=v8:4230 Review-Url: https://codereview.chromium.org/2682173005 Cr-Commit-Position: refs/heads/master@{#43120}
-
rmcilroy authored
In order to compile eager inner functions on a background thread we need to keep the handles created during parsing and scope analysis alive until the background compilation is complete. In order to do that, we allocate the handles in a deferred handle scope and keep the deferred handles alive with a shared_ptr in the ParseInfo and CompileInfo respectively. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2650883002 Cr-Commit-Position: refs/heads/master@{#43107}
-
Marja Hölttä authored
This CL covers simple ("simple") rest param cases. BUG=v8:5516 R=vogelheim@chromium.org Change-Id: I254c2eb81d759eb2ea2a3d5e7c46bcdc2ccef707 Reviewed-on: https://chromium-review.googlesource.com/440984Reviewed-by:
Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#43106}
-
caitp authored
Alternative approach to https://codereview.chromium.org/2667983004/, which does not depend on implicit control flow changes from https://codereview.chromium.org/2664083002 - Remove handling for `async function` from Parser::RewriteReturn(). This functionality is moved to BytecodeGenerator::BuildAsyncReturn(). This ensures that promise resolution is deferred until all finally blocks are evaluated fully. - Add a new deferred command (CMD_ASYNC_RETURN), which instructs ControlScope to generate return code using BuildAsyncReturn rather than BuildReturn. - Parser has a new `NewReturnStatement()` helper which determines what type of return statement to generate based on the type of function. BUG=v8:5896, v8:4483 R=littledan@chromium.org, neis@chromium.org, rmcilroy@chromium.org, adamk@chromium.org, gsathya@chromium.org Review-Url: https://codereview.chromium.org/2685683002 Cr-Commit-Position: refs/heads/master@{#43104}
-
neis authored
Move the logic into Scope::DeclareVariable to be more robust. BUG=v8:5636 Review-Url: https://codereview.chromium.org/2685293003 Cr-Commit-Position: refs/heads/master@{#43098}
-
rmcilroy authored
Revert of [Compiler] Enable handles created during parsing and scope analysis to be deferred. (patchset #9 id:180001 of https://codereview.chromium.org/2650883002/ ) Reason for revert: Issue on arm64: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim/builds/5752 Original issue's description: > [Compiler] Enable handles created during parsing and scope analysis to be deferred. > > In order to compile eager inner functions on a background thread we need to > keep the handles created during parsing and scope analysis alive until the > background compilation is complete. In order to do that, we allocate the > handles in a deferred handle scope and keep the deferred handles alive with > a shared_ptr in the ParseInfo and CompileInfo respectively. > > BUG=v8:5203 > > Review-Url: https://codereview.chromium.org/2650883002 > Cr-Commit-Position: refs/heads/master@{#43091} > Committed: https://chromium.googlesource.com/v8/v8/+/9346cd9b4c50466aa8d50e98c56b84ba47c2a115 TBR=marja@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5203 Review-Url: https://codereview.chromium.org/2687973003 Cr-Commit-Position: refs/heads/master@{#43093}
-
rmcilroy authored
In order to compile eager inner functions on a background thread we need to keep the handles created during parsing and scope analysis alive until the background compilation is complete. In order to do that, we allocate the handles in a deferred handle scope and keep the deferred handles alive with a shared_ptr in the ParseInfo and CompileInfo respectively. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2650883002 Cr-Commit-Position: refs/heads/master@{#43091}
-
Marja Hölttä authored
This CL covers only the very simple cases. BUG=v8:5516 R=vogelheim@chromium.org Change-Id: Ib6ddc90cbcf1c923a7b72493cfd029cfa835462b Reviewed-on: https://chromium-review.googlesource.com/440246Reviewed-by:
Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#43086}
-
- 09 Feb, 2017 1 commit
-
-
Leszek Swirski authored
Cleans up the internalization. Also, clean up no-longer-used ast symbols, iterator and hasInstance, which were left behind after other refactors. Having an enum here should keep this clean in the future. Change-Id: Id526784b0361c7a2242b21ecf2af72b0403c6ad8 Reviewed-on: https://chromium-review.googlesource.com/440204Reviewed-by:
Marja Hölttä <marja@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#43069}
-
- 08 Feb, 2017 1 commit
-
-
Marja Hölttä authored
E.g., { function lazy_inner(b = somevar) { let somevar; } } If we don't produce the same scopes, PreParser thinks that the unresolved variable inside the default parameter resolves into the variable declared inside the function. Thus, it's not correctly recorded as a free variable. One part is already done by https://codereview.chromium.org/2638333002 . But at the laziness boundary, we still produced different scopes. Unlike previously thought, this is also needed for lazy inner function correctness, not only for "preparser scope analysis" (ie., skipping inner functions). BUG=v8:5938 Change-Id: I047cd43ef16478bb0f18d1f114845e7d1ab8c5f2 Reviewed-on: https://chromium-review.googlesource.com/439345 Commit-Queue: Marja Hölttä <marja@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#43044}
-
- 07 Feb, 2017 6 commits
-
-
hablich authored
Reland of land: [Parse] ParseInfo owns the parsing Zone. (patchset #1 id:1 of https://codereview.chromium.org/2683733002/ ) Reason for revert: False alarm, bot hiccup Original issue's description: > Revert of Reland: [Parse] ParseInfo owns the parsing Zone. (patchset #7 id:140001 of https://codereview.chromium.org/2632123006/ ) > > Reason for revert: > Speculative revert because of revert needed for https://codereview.chromium.org/2632123006 > > Original issue's description: > > Reland: [Parse] ParseInfo owns the parsing Zone. > > > > Moves ownership of the parsing Zone to ParseInfo with a shared_ptr. This is > > in preperation for enabling background compilation jobs for inner functions > > share the AST in the outer-function's parse zone memory (read-only), with the > > and zone being released when all compilation jobs have completed. > > > > BUG=v8:5203,v8:5215 > > > > Review-Url: https://codereview.chromium.org/2632123006 > > Cr-Original-Commit-Position: refs/heads/master@{#42993} > > Committed: https://chromium.googlesource.com/v8/v8/+/14fb337200d5da09c77438ddd40bea935b1dc823 > > Review-Url: https://codereview.chromium.org/2632123006 > > Cr-Commit-Position: refs/heads/master@{#42996} > > Committed: https://chromium.googlesource.com/v8/v8/+/9e7d5a6065470ca03411d4c8dbc61d1be5c3f84a > > TBR=marja@chromium.org,mstarzinger@chromium.org,ahaas@chromium.org,verwaest@chromium.org,rmcilroy@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:5203,v8:5215 > > Review-Url: https://codereview.chromium.org/2683733002 > Cr-Commit-Position: refs/heads/master@{#43008} > Committed: https://chromium.googlesource.com/v8/v8/+/9fe08ec067051c5b46e694568bd01c6dba44cc4d TBR=marja@chromium.org,mstarzinger@chromium.org,ahaas@chromium.org,verwaest@chromium.org,rmcilroy@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5203,v8:5215 Review-Url: https://codereview.chromium.org/2679303003 Cr-Commit-Position: refs/heads/master@{#43015}
-
hablich authored
Reland of [parsing] Fix maybe-assigned for loop variables. (patchset #1 id:1 of https://codereview.chromium.org/2679263002/ ) Reason for revert: False alarm, bot hiccup Original issue's description: > Revert of [parsing] Fix maybe-assigned for loop variables. (patchset #3 id:40001 of https://codereview.chromium.org/2673403003/ ) > > Reason for revert: > Speculative revert because of https://codereview.chromium.org/2679163002/. > > Original issue's description: > > [parsing] Fix maybe-assigned for loop variables. > > > > Due to hoisting, the value of a 'var'-declared variable may actually change even > > if the code contains only the "initial" assignment, namely when that assignment > > occurs inside a loop. For example: > > > > let i = 10; > > do { var x = i } while (i--): > > > > As a simple and very conservative approximation of this, we explicitly mark > > as maybe-assigned any non-lexical variable whose "declaration" does not > > syntactically occur in the function scope. (In the example above, it > > occurs in a block scope.) > > > > BUG=v8:5636 > > > > Review-Url: https://codereview.chromium.org/2673403003 > > Cr-Commit-Position: refs/heads/master@{#42989} > > Committed: https://chromium.googlesource.com/v8/v8/+/a33fcd663b28b8846e12b97c30d6e7d837767f86 > > TBR=marja@chromium.org,adamk@chromium.org,neis@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:5636 > > Review-Url: https://codereview.chromium.org/2679263002 > Cr-Commit-Position: refs/heads/master@{#43010} > Committed: https://chromium.googlesource.com/v8/v8/+/f3ae5ccf57690d8c2d87c4fe1d10b103ad6a4ab3 TBR=marja@chromium.org,adamk@chromium.org,neis@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5636 Review-Url: https://codereview.chromium.org/2686663002 Cr-Commit-Position: refs/heads/master@{#43013}
-
hablich authored
Revert of [parsing] Fix maybe-assigned for loop variables. (patchset #3 id:40001 of https://codereview.chromium.org/2673403003/ ) Reason for revert: Speculative revert because of https://codereview.chromium.org/2679163002/. Original issue's description: > [parsing] Fix maybe-assigned for loop variables. > > Due to hoisting, the value of a 'var'-declared variable may actually change even > if the code contains only the "initial" assignment, namely when that assignment > occurs inside a loop. For example: > > let i = 10; > do { var x = i } while (i--): > > As a simple and very conservative approximation of this, we explicitly mark > as maybe-assigned any non-lexical variable whose "declaration" does not > syntactically occur in the function scope. (In the example above, it > occurs in a block scope.) > > BUG=v8:5636 > > Review-Url: https://codereview.chromium.org/2673403003 > Cr-Commit-Position: refs/heads/master@{#42989} > Committed: https://chromium.googlesource.com/v8/v8/+/a33fcd663b28b8846e12b97c30d6e7d837767f86 TBR=marja@chromium.org,adamk@chromium.org,neis@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5636 Review-Url: https://codereview.chromium.org/2679263002 Cr-Commit-Position: refs/heads/master@{#43010}
-
hablich authored
Revert of Reland: [Parse] ParseInfo owns the parsing Zone. (patchset #7 id:140001 of https://codereview.chromium.org/2632123006/ ) Reason for revert: Speculative revert because of revert needed for https://codereview.chromium.org/2632123006 Original issue's description: > Reland: [Parse] ParseInfo owns the parsing Zone. > > Moves ownership of the parsing Zone to ParseInfo with a shared_ptr. This is > in preperation for enabling background compilation jobs for inner functions > share the AST in the outer-function's parse zone memory (read-only), with the > and zone being released when all compilation jobs have completed. > > BUG=v8:5203,v8:5215 > > Review-Url: https://codereview.chromium.org/2632123006 > Cr-Original-Commit-Position: refs/heads/master@{#42993} > Committed: https://chromium.googlesource.com/v8/v8/+/14fb337200d5da09c77438ddd40bea935b1dc823 > Review-Url: https://codereview.chromium.org/2632123006 > Cr-Commit-Position: refs/heads/master@{#42996} > Committed: https://chromium.googlesource.com/v8/v8/+/9e7d5a6065470ca03411d4c8dbc61d1be5c3f84a TBR=marja@chromium.org,mstarzinger@chromium.org,ahaas@chromium.org,verwaest@chromium.org,rmcilroy@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5203,v8:5215 Review-Url: https://codereview.chromium.org/2683733002 Cr-Commit-Position: refs/heads/master@{#43008}
-
rmcilroy authored
Moves ownership of the parsing Zone to ParseInfo with a shared_ptr. This is in preperation for enabling background compilation jobs for inner functions share the AST in the outer-function's parse zone memory (read-only), with the and zone being released when all compilation jobs have completed. BUG=v8:5203,v8:5215 Review-Url: https://codereview.chromium.org/2632123006 Cr-Original-Commit-Position: refs/heads/master@{#42993} Committed: https://chromium.googlesource.com/v8/v8/+/14fb337200d5da09c77438ddd40bea935b1dc823 Review-Url: https://codereview.chromium.org/2632123006 Cr-Commit-Position: refs/heads/master@{#42996}
-
jochen authored
Revert of Reland: [Parse] ParseInfo owns the parsing Zone. (patchset #6 id:120001 of https://codereview.chromium.org/2632123006/ ) Reason for revert: doesn't compile on ToT Original issue's description: > Reland: [Parse] ParseInfo owns the parsing Zone. > > Moves ownership of the parsing Zone to ParseInfo with a shared_ptr. This is > in preperation for enabling background compilation jobs for inner functions > share the AST in the outer-function's parse zone memory (read-only), with the > and zone being released when all compilation jobs have completed. > > BUG=v8:5203,v8:5215 > > Review-Url: https://codereview.chromium.org/2632123006 > Cr-Commit-Position: refs/heads/master@{#42993} > Committed: https://chromium.googlesource.com/v8/v8/+/14fb337200d5da09c77438ddd40bea935b1dc823 TBR=marja@chromium.org,mstarzinger@chromium.org,ahaas@chromium.org,verwaest@chromium.org,rmcilroy@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5203,v8:5215 Review-Url: https://codereview.chromium.org/2685543003 Cr-Commit-Position: refs/heads/master@{#42994}
-