- 27 Mar, 2017 1 commit
-
-
Wiktor Garbacz authored
A step towards removing isolate from ParseInfo. Removing isolate from ParseInfo will make it easier to create and execute parse tasks on background threads. BUG=v8:6093 Change-Id: I977eec8faecc8a112506f219994b4e4ec388b180 Reviewed-on: https://chromium-review.googlesource.com/458004 Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Daniel Vogelheim <vogelheim@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#44160}
-
- 24 Mar, 2017 1 commit
-
-
Wiktor Garbacz authored
A step towards removing isolate from ParseInfo. Removing isolate from ParseInfo will make it easier to create and execute parse tasks on background threads. BUG=v8:6093 Change-Id: If5e7ba2f76f9f8422c26f47c9f0eb5b197114b25 Reviewed-on: https://chromium-review.googlesource.com/458000Reviewed-by:
Daniel Vogelheim <vogelheim@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#44089}
-
- 28 Feb, 2017 1 commit
-
-
Georg Neis authored
This is more useful than always returning undefined. BUG=v8:1569,v8:5978 Change-Id: Id10cf87f7865db1a85de412460eaead4e4bf3b62 Reviewed-on: https://chromium-review.googlesource.com/446846Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#43498}
-
- 17 Jan, 2017 1 commit
-
-
leszeks authored
This internalization was not necessary, since the rewriting does not use the .result name string. The subsequent internalization is still needed, so to simplify later refactoring, this CL also adds "releasing" of the disallow scopes and uses them here immediately before the second internalize. Notably, this means that the rewriting is now also in the disallow scopes. Driveby: Remove isolate from the rewriter's processor constructor. BUG=v8:5832 Review-Url: https://codereview.chromium.org/2635913002 Cr-Commit-Position: refs/heads/master@{#42403}
-
- 16 Jan, 2017 1 commit
-
-
leszeks authored
Adds checks to ensure that AST rewriting only runs for top-level (or eval) code, that for these cases it runs on the main thread, and that for non-top-level code it can safely be called off-thread. BUG=v8:5832 Review-Url: https://codereview.chromium.org/2630563002 Cr-Commit-Position: refs/heads/master@{#42367}
-
- 09 Jan, 2017 2 commits
-
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2579243003 Cr-Commit-Position: refs/heads/master@{#42143}
-
marja authored
Downside: this adds all kinds of weird includes in the .cc files. (See design doc linked in the bug.) BUG=v8:5402 Review-Url: https://codereview.chromium.org/2622503002 Cr-Commit-Position: refs/heads/master@{#42140}
-
- 05 Dec, 2016 1 commit
-
-
neis authored
R=adamk@chromium.org, verwaest@chromium.org BUG=v8:5698 Review-Url: https://codereview.chromium.org/2537413003 Cr-Commit-Position: refs/heads/master@{#41495}
-
- 24 Oct, 2016 1 commit
-
-
verwaest authored
Now we - always set .result to undefined before a visited loop and switch since we can't know whether they will set a value, - only visit finally if it can break/continue; and only store/restore .result in that case BUG= Review-Url: https://codereview.chromium.org/2427253003 Cr-Commit-Position: refs/heads/master@{#40542}
-
- 21 Oct, 2016 1 commit
-
-
verwaest authored
BUG= Review-Url: https://chromiumcodereview.appspot.com/2431273002 Cr-Commit-Position: refs/heads/master@{#40492}
-
- 20 Sep, 2016 1 commit
-
-
rmcilroy authored
Avoid internalizing on-the-fly now that scope analysis and natives syntax runtime calls no longer require internalized AST values. This should be more efficient by avoiding extra branches on every AST value creation. BUG=v8:5215, chromium:634953 Review-Url: https://codereview.chromium.org/2328593002 Cr-Commit-Position: refs/heads/master@{#39531}
-
- 05 Sep, 2016 2 commits
-
-
machenbach authored
Revert of includes: Make ast.h not need isolate.h any more. (patchset #3 id:60001 of https://codereview.chromium.org/2301423002/ ) Reason for revert: Breaks gc stress: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/5642 Original issue's description: > includes: Make ast.h not need isolate.h any more. > > Also remove other unnecessary includes from ast.h and dependencies. > > BUG=v8:5294 > > Committed: https://crrev.com/9c888dffda4bff420ec3ef21e623aa4e5054d1c3 > Cr-Commit-Position: refs/heads/master@{#39155} TBR=adamk@chromium.org,mstarzinger@chromium.org,bmeurer@chromium.org,marja@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5294 Review-Url: https://codereview.chromium.org/2305373002 Cr-Commit-Position: refs/heads/master@{#39159}
-
marja authored
Also remove other unnecessary includes from ast.h and dependencies. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2301423002 Cr-Commit-Position: refs/heads/master@{#39155}
-
- 22 Aug, 2016 1 commit
-
-
marja authored
This makes us able to get rid of dependencies to parser.h from places which only need the ParseInfo, and also gets rid of the curious Parser <-> Compiler circular dependency. Also IWYUd where necessary. BUG= Review-Url: https://codereview.chromium.org/2268513002 Cr-Commit-Position: refs/heads/master@{#38777}
-
- 05 Aug, 2016 3 commits
-
-
verwaest authored
This reduces peak zone memory usage by ~10% on codeload and ~5% on mandreel. BUG=v8:5209 Committed: https://crrev.com/2648162dcfff622f8587cea2faa8c3af56456968 Review-Url: https://codereview.chromium.org/2209573002 Cr-Original-Commit-Position: refs/heads/master@{#38367} Cr-Commit-Position: refs/heads/master@{#38390}
-
machenbach authored
Revert of Separate Scope into DeclarationScope and Scope (patchset #13 id:240001 of https://codereview.chromium.org/2209573002/ ) Reason for revert: [Sheriff] Make leak checker unhappy: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20debug/builds/10959 Original issue's description: > Separate Scope into DeclarationScope and Scope > > This reduces peak zone memory usage by ~10% on codeload and ~5% on mandreel. > > BUG=v8:5209 > > Committed: https://crrev.com/2648162dcfff622f8587cea2faa8c3af56456968 > Cr-Commit-Position: refs/heads/master@{#38367} TBR=marja@chromium.org,mstarzinger@chromium.org,ahaas@chromium.org,adamk@chromium.org,verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5209 Review-Url: https://codereview.chromium.org/2212383003 Cr-Commit-Position: refs/heads/master@{#38380}
-
verwaest authored
This reduces peak zone memory usage by ~10% on codeload and ~5% on mandreel. BUG=v8:5209 Review-Url: https://codereview.chromium.org/2209573002 Cr-Commit-Position: refs/heads/master@{#38367}
-
- 01 Aug, 2016 1 commit
-
-
verwaest authored
Rather than finalizing after rewriting do-expressions, we rewrite in the outer scope if the block scope was finalized. Rewriting do expressions cannot introduce any new nodes that requires the block to stay around, so finalizing before and after is equivalent. (Only a temporary is introduced which always ends up in a ClosureScope) BUG=v8:5209 R=rossberg@chromium.org, caitpotter88@gmail.com, adamk@chromium.org Review-Url: https://codereview.chromium.org/2167713004 Cr-Commit-Position: refs/heads/master@{#38193}
-
- 15 Jul, 2016 1 commit
-
-
verwaest authored
This replaces the vtable on AstNode with a NodeType tag. The visitors replace double dispatch with a single switch over the NodeType. For now, visitors with subclasses still have virtual methods themselves. We should probably specialize them later as well. The uint8_t NodeType allows us to better pack memory, saving 8-16 bytes on many AST nodes (with additional packing that I'll do in a follow-up CL) BUG= Review-Url: https://codereview.chromium.org/2142233003 Cr-Commit-Position: refs/heads/master@{#37788}
-
- 30 Jun, 2016 1 commit
-
-
yangguo authored
R=mstarzinger@chromium.org BUG=v8:5117 Review-Url: https://codereview.chromium.org/2109773004 Cr-Commit-Position: refs/heads/master@{#37426}
-
- 01 Mar, 2016 1 commit
-
-
yangguo authored
We used to emit debug break location on block entry. This cannot be ported to the interpreted as we do not emit bytecode for block entry. This made no sense to begin with though, but accidentally added break locations for var declarations. With this change, the debugger no longer breaks at var declarations without initialization. This is in accordance with the fact that the interpreter does not emit bytecode for uninitialized var declarations. Also fix the bytecode to match full-codegen's behavior wrt return positions: - there is a break location before the return statement, with the source position of the return statement. - right before the actual return, there is another break location. The source position points to the end of the function. R=rmcilroy@chromium.org, vogelheim@chromium.org TBR=rossberg@chromium.org BUG=v8:4690 LOG=N Review URL: https://codereview.chromium.org/1744123003 Cr-Commit-Position: refs/heads/master@{#34388}
-
- 18 Feb, 2016 1 commit
-
-
rossberg authored
Implements iterator finalisation by desugaring for-of loops with an additional try-finally wrapper. See comment in parser.cc for details. Also improved some AST printing facilities while there. @Ross, I had to disable the bytecode generation test for for-of, because it got completely out of hand after this change (the new bytecode has 150+ lines). See the TODO that I assigned to you. Patch set 1 is WIP patch by Georg (http://crrev.com/1695583003), patch set 2 relative changes. @Georg, FYI, I changed the following: - Moved try-finally out of the loop body, for performance, and in order to be able to handle `continue` correctly. - Fixed scope management in ParseForStatement, which was the cause for the variable allocation failure. - Fixed pre-existing zone initialisation bug in rewriter, which caused the crashes. - Enabled all tests, adjusted a few others, added a couple more. BUG=v8:2214 LOG=Y Review URL: https://codereview.chromium.org/1695393003 Cr-Commit-Position: refs/heads/master@{#34111}
-
- 04 Feb, 2016 1 commit
-
-
neis authored
This CL deals with yield* by desugaring it in the parser. Hence the full-codegen implementation of it becomes obsolete and can be removed in a future CL. The only change in semantics should be that the results of the iterator's next and throw methods are checked to be objects, which didn't happen before but is required by the spec. BUG= Review URL: https://codereview.chromium.org/1643903003 Cr-Commit-Position: refs/heads/master@{#33735}
-
- 03 Feb, 2016 1 commit
-
-
adamk authored
This removes --harmony-completion, --harmony-concat-spreadable, and --harmony-tolength and moves the appropriate tests from harmony/ to es6/. Review URL: https://codereview.chromium.org/1667453002 Cr-Commit-Position: refs/heads/master@{#33712}
-
- 26 Nov, 2015 1 commit
-
-
rossberg authored
Moves all files related to AST and scopes into ast/, and all files related to scanner & parser to parsing/. Also eliminates a couple of spurious dependencies. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1481613002 Cr-Commit-Position: refs/heads/master@{#32351}
-
- 04 Nov, 2015 1 commit
-
-
ishell authored
Review URL: https://codereview.chromium.org/1412223018 Cr-Commit-Position: refs/heads/master@{#31785}
-
- 21 Oct, 2015 1 commit
-
-
caitpotter88 authored
Adds an implementation of "do expression" parsing (https://webcache.googleusercontent.com/search?q=cache:MIGALjqPDNgJ:wiki.ecmascript.org/doku.php%3Fid%3Dstrawman:do_expressions+&cd=1&hl=en&ct=clnk&gl=us). This feature provides a way to evaluate a block of statements within an expression context, producing the resulting completion value. This is very helpful for implementing certain language features via desugaring. BUG=v8:4488 LOG=N R=adamk@chromium.org, bmeurer@chromium.org, rossberg@chromium.org, wingo@igalia.com Review URL: https://codereview.chromium.org/1399893002 Cr-Commit-Position: refs/heads/master@{#31428}
-
- 15 Oct, 2015 1 commit
-
-
adamk authored
This adds a bit of boilerplate to some AstVisitors (they now have to declare their own zone_ member and zone() accessor), but makes it clearer what DEFINE_AST_VISITOR_SUBCLASS_MEMBERS is for: stack limit checking. Review URL: https://codereview.chromium.org/1394303008 Cr-Commit-Position: refs/heads/master@{#31287}
-
- 08 Oct, 2015 1 commit
-
-
neis authored
This CL depends on #1362363002. R=rossberg BUG= Review URL: https://codereview.chromium.org/1361403003 Cr-Commit-Position: refs/heads/master@{#31180}
-
- 01 Oct, 2015 2 commits
-
-
neis authored
R=rossberg BUG=v8:2529 LOG=Y Review URL: https://codereview.chromium.org/1375203004 Cr-Commit-Position: refs/heads/master@{#31051}
-
neis authored
This is in preparation of implementing ES6 completion semantics and depends on #1362333002. R=rossberg BUG= Review URL: https://codereview.chromium.org/1362363002 Cr-Commit-Position: refs/heads/master@{#31041}
-
- 30 Sep, 2015 1 commit
-
-
neis authored
R=rossberg BUG= Review URL: https://codereview.chromium.org/1383553002 Cr-Commit-Position: refs/heads/master@{#31022}
-
- 29 Sep, 2015 1 commit
-
-
https://codereview.chromium.org/1362333002/machenbach authored
Reason for revert: [Sheriff] Seems to break layout tests: http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/2073 https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Linux_64/2073/layout-test-results/results.html Please request rebaseline upstream first. Original issue's description: > Clean up rewriter. > > The main changes are: > - Fix treatment of loops, which was incorrect and sometimes resulted in > the wrong completion value. > - Get rid of unnecessary variables. > > This is in preparation of implementing ES6 completion semantics. > > R=rossberg > BUG= > > Committed: https://crrev.com/b466dc14791844b7ae6d1e9ebd00a778965c206d > Cr-Commit-Position: refs/heads/master@{#30981} TBR=rossberg@chromium.org,neis@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1379513002 Cr-Commit-Position: refs/heads/master@{#30992}
-
- 28 Sep, 2015 1 commit
-
-
neis authored
The main changes are: - Fix treatment of loops, which was incorrect and sometimes resulted in the wrong completion value. - Get rid of unnecessary variables. This is in preparation of implementing ES6 completion semantics. R=rossberg BUG= Review URL: https://codereview.chromium.org/1362333002 Cr-Commit-Position: refs/heads/master@{#30981}
-
- 21 Sep, 2015 1 commit
-
-
littledan authored
ES2015 specifies very particular semantics for functions defined in blocks. In strict mode, it is simply a lexical binding scoped to that block. In sloppy mode, in addition to that lexical binding, there is a var-style binding in the outer scope, which is overwritten with the local binding when the function declaration is evaluated, *as long as* introducing ths var binding would not create a var/let conflict in the outer scope. This patch implements the semantics by introducing a DelegateStatement, which is initially filled in with the EmptyStatement and overwritten with the assignment when the scope is closed out and it can be checked that there is no conflict. This patch is tested with a new mjsunit test, and I tried staging it and running test262, finding that the tests that we have disabled due to lack of Annex B support now pass. R=adamk,rossberg LOG=Y BUG=v8:4285 Review URL: https://codereview.chromium.org/1332873003 Cr-Commit-Position: refs/heads/master@{#30842}
-
- 19 Aug, 2015 1 commit
-
-
titzer authored
R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/1301583005 Cr-Commit-Position: refs/heads/master@{#30254}
-
- 14 Aug, 2015 1 commit
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1297583002 Cr-Commit-Position: refs/heads/master@{#30172}
-
- 18 Jun, 2015 1 commit
-
-
conradw authored
Currently, the desugaring of for loops of the form for (let/const ...; bla; bla) causes them to always have a completion value of 1, regardless of whether the loop body is executed or not. This CL fixes this, realigning initializer blocks as a more general purpose way to avoid the completion value rewriter (since that's all they really do anyway). BUG= Review URL: https://codereview.chromium.org/1177053006 Cr-Commit-Position: refs/heads/master@{#29108}
-
- 08 Jun, 2015 2 commits
-
-
erikcorry authored
Revert of Only record one in n line endings to save space. (patchset #4 id:60001 of https://codereview.chromium.org/1137683003/) Reason for revert: Test failures https://storage.googleapis.com/chromium-layout-test-archives/V8-Blink_Win/345/layout-test-results/results.html Original issue's description: > Only record one in n line endings to save space. > > R=yangguo@chromium.org > BUG= > > Committed: https://crrev.com/b3d4bce593559276e68d3d7d9168f4351e4e5090 > Cr-Commit-Position: refs/heads/master@{#28837} TBR=yangguo@chromium.org,erik.corry@gmail.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1155683010 Cr-Commit-Position: refs/heads/master@{#28841}
-
erikcorry authored
R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/1137683003 Cr-Commit-Position: refs/heads/master@{#28837}
-