- 23 May, 2019 1 commit
-
-
Yang Guo authored
TBR=bmeurer@chromium.org,leszeks@chromium.org Bug: v8:9247 Change-Id: I8d14d0192ea8c705f8274e8e61a162531826edb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1624220Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#61769}
-
- 15 Feb, 2019 1 commit
-
-
Jakob Kummerow authored
This takes heap-inl.h out of the "Giant Include Cluster". Naturally, that means adding a bunch of explicit includes in a bunch of places that relied on transitively including them before. As of this patch, no header file outside src/heap/ includes heap-inl.h. Bug: v8:8562,v8:8499 Change-Id: I65fa763f90e66afc30d105b9277792721f05a6d4 Reviewed-on: https://chromium-review.googlesource.com/c/1459659 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#59617}
-
- 09 Nov, 2018 1 commit
-
-
Toon Verwaest authored
The current implementation isn't very helpful anyway if we ever really want this. Change-Id: Iad4132734980937aee462a1613d47887383585a0 Reviewed-on: https://chromium-review.googlesource.com/c/1328928Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#57388}
-
- 06 Nov, 2018 1 commit
-
-
Joyee Cheung authored
Rename variables and flag names so that the classes can be reused by private methods implementation. In particular: Rename "fields" to "members" in the initializer so that we can initialize both fields and private methods/accessors there, for example: instance_fields_initializer -> instance_members_initializer InitializeClassFieldsStatement -> InitializeClassMembersStatement Rename "private field" to "private name" for the private symbols used to implement private fields so that we can use them to store private methods/accessors later as well, for example: private_field_name_var -> private_name_var NewPrivateFieldSymbol -> NewPrivateNameSymbol The follow-on is in https://chromium-review.googlesource.com/c/v8/v8/+/1301018 The design doc is in https://docs.google.com/document/d/1T-Ql6HOIH2U_8YjWkwK2rTfywwb7b3Qe8d3jkz72KwA/edit?usp=sharing Bug: v8:8330 Change-Id: I1cdca8def711da879b6e4d67c5ff0a5a4a36abbe Reviewed-on: https://chromium-review.googlesource.com/c/1312597Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/master@{#57289}
-
- 17 Oct, 2018 1 commit
-
-
Florian Sattler authored
Store the bits of a small type into the lower bits of a pointer type that are free due to alignment. Furthermore, reordering of members to reduce size of some classes. Change-Id: I3c619cb74053f64995ea7d0cb395e8edda604f18 Reviewed-on: https://chromium-review.googlesource.com/c/1273019 Commit-Queue: Florian Sattler <sattlerf@google.com> Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#56726}
-
- 04 Jul, 2018 1 commit
-
-
Igor Sheludko authored
This is a preliminary step before changing the way we store zone pointers in the zones. Bug: v8:7903, v8:7754 Change-Id: I1e1af1823766c888ee0f8fe190f205f5b7e21973 Reviewed-on: https://chromium-review.googlesource.com/1118887Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#54193}
-
- 30 Nov, 2017 1 commit
-
-
Ulan Degenbaev authored
Currently RuntimeCallStats stores CounterIds as inner pointers. This patch replaces them with enums and removes static table. Bug: chromium:758183 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Icb4030fc3ad3dd02e9c2648ce7c43b6f2d47fa9d Reviewed-on: https://chromium-review.googlesource.com/796477Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#49743}
-
- 28 Nov, 2017 1 commit
-
-
Georg Neis authored
R=adamk@chromium.org Bug: chromium:787698 Change-Id: I873debe61b152a9e88ce22d95a69f27eab2d0f55 Reviewed-on: https://chromium-review.googlesource.com/787473Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#49653}
-
- 23 Nov, 2017 1 commit
-
-
Ross McIlroy authored
Adds some additional RCS counters to correctly account background compilation to the background thread. Also adds a ParseBackgroundProgram as a top-level event for background parsing since otherwise only pre-parsing was being tracked. Perf Sheriffs: Note this is likely to increase the Parse-Background bucket in v8.runtime_stats benchmarks as it now accounts all background parsing correclty. BUG=v8:5203 Change-Id: I6ff614b725d85b0bc1901a7bf0e2bac8de1f7cff Reviewed-on: https://chromium-review.googlesource.com/786237Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#49603}
-
- 23 Oct, 2017 1 commit
-
-
Sathya Gunasekaran authored
This patch implements the runtime semantics of static public class fields. Adds a new InitializeClassFieldsStatement AST node that contains all the static class fields and their initializers. ClassLiteral is now desugared to be included in a do-exp that calls an initializer function which contains this new AST node. Bug: v8:5367 Change-Id: I3574e4c685f1c039de42521c122e24f8d28e5d6c Reviewed-on: https://chromium-review.googlesource.com/714817Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#48835}
-
- 29 Aug, 2017 2 commits
-
-
Adam Klein authored
There was only one case where this wasn't the case, having to do with variable declarations, and for that case the information need not actually be stored on the block, but should rather be propagated to the VariableProxy. Bug: v8:6092 Change-Id: I0d0025ec73d3dd4f9402606105d3e883a9417283 Reviewed-on: https://chromium-review.googlesource.com/639911 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47692}
-
Adam Klein authored
The vast majority of callers pass null |labels| and kNoSourcePosition, so make those the default arguments. Bug: v8:6092 Change-Id: Ifac3f0d49f56b680ec75b1a7afde5e5e788d9cfd Reviewed-on: https://chromium-review.googlesource.com/639761 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47691}
-
- 26 Jul, 2017 1 commit
-
-
Ross McIlroy authored
Moves parser internalization of ast values out of ParseAny/Program/Function and instead internalizes during compile finalization. Currently also internalizes during scope analysis if there is a ScopeInfo to enable variable name lookups. We also internalize early for FCG / AstGraphBuilder. BUG=v8:5203 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ia766795947d847517b87cd5ea39797347083174b Reviewed-on: https://chromium-review.googlesource.com/582407Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46904}
-
- 13 Jun, 2017 1 commit
-
-
jarin authored
Review-Url: https://codereview.chromium.org/2936813002 Cr-Commit-Position: refs/heads/master@{#45906}
-
- 17 May, 2017 1 commit
-
-
Marja Hölttä authored
AstNodeFactory used to get the Zone directly from AstValueFactory. But that's generally the wrong Zone (the main Zone, instead of the temp Zone), and the creator of AstNodeFactory had to call set_zone right after. By adding a Zone param, we can pass the correct Zone right away. Also made PreParserFactory have an AstNodeFactory, so that we don't need to create temporary AstNodeFactories all the time. Also removed AstNodeFactory::BodyScope since DiscardableZoneScope essentially did the same thing already. BUG=v8:5516,v8:6092 Change-Id: I189d2e6afe91c91e49d8ed7e3496a0d9c405e1c5 Reviewed-on: https://chromium-review.googlesource.com/507129 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Cr-Commit-Position: refs/heads/master@{#45370}
-
- 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}
-