- 21 Aug, 2017 1 commit
-
-
Ross McIlroy authored
Changes the contract of the parser to have a valid character stream passed in the ParseInfo rather than the current situation where either: - it is passed explicitly (e.g., for streaming scripts) - a Script is passed and a character stream is created for this - or a source and encoding is passed in ParseInfo and the character stream is created from this. The parse info also now owns the character stream (in a unique_ptr). It can be destroyed using a new ResetCharacterStream() function. This will enable the character stream to be kept live if any functions are asm.js modules which were parsed, in order to be reused by the asm.js parser. BUG=v8:5203 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ifda167391b2eadb38ebf9fcb2f565d2ed9ea3c6f Reviewed-on: https://chromium-review.googlesource.com/616767 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47474}
-
- 18 Aug, 2017 1 commit
-
-
Ross McIlroy authored
Parse tasks are not currently used, and will need to be changed significantly for background compilation, so we remove them for now. BUG=v8:6093,v8:5203 Change-Id: I44559a94ecca85668f0117629d35aaa5f4075745 Reviewed-on: https://chromium-review.googlesource.com/617140 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47446}
-
- 09 Aug, 2017 1 commit
-
-
Ross McIlroy authored
Splits out AttachOuterScopeInfo from DeclarationScope::Analyze and attaches the outer scope info after parsing has completed (when parsing on the main thread, which is the only time we have an outer scope info) instead of during Compiler::Analyse(). BUG=v8:5203 TBR=yangguo@chromium.org Change-Id: Idd8d2409fb20f09a9f6bbf5cff7e6edcf90077d7 Reviewed-on: https://chromium-review.googlesource.com/605889 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47243}
-
- 07 Aug, 2017 2 commits
-
-
Ross McIlroy authored
Refactors CompileUnoptimizedCode to do all the finalization for both inner and the outermost function after having prepared and executed their compile jobs. This will enable the function to be split into an off-thread phase and a finalization main thread phase. BUG=v8:5203 Change-Id: I400933c27b7aa52f9a7318b721adecfc94c80981 Reviewed-on: https://chromium-review.googlesource.com/602236 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47199}
-
Ross McIlroy authored
Moves creation of the CompilationInfo for unoptimized compilation into the respective CompilationJobs for Igntition, Fullcode and asm.js. This unifies the behaviour with respect to the optimized compilation jobs, and enables the CompileInfo to be owned by the CompilationJob. As part of this change, we no longer build new dummy ParseInfos for eager inner functions, instead using just the single outer ParseInfo created during the actual parsing. BUG=v8:5203 Change-Id: I6813758dfc5eeff44f5a40bf621184e330593bf9 Reviewed-on: https://chromium-review.googlesource.com/601990 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47198}
-
- 04 Aug, 2017 1 commit
-
-
Ross McIlroy authored
Moves the construction of CompilationInfo for unoptimized code into GenerateUnoptimizedCode in preparation for making it owned by the unoptimized compilation jobs (to be done in a followup CL). This CL also adds a new constructor for creation of unoptimized CompilationInfos with fields correctly initialized and updates the existing constructor to he exclusively for optimized compilation. Finally, also moves the call to RecordFunctionCompilation with LAZY_COMPILE_TAG recording into FinalizeUnoptimizedCompilationJob where it is called for other unoptimized compiles. BUG=v8:5203,v8:6659 Change-Id: Icfd7f56588073f2fc547e002db9fa99843ed2e8b Reviewed-on: https://chromium-review.googlesource.com/598908 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#47160}
-
- 03 Aug, 2017 1 commit
-
-
Ross McIlroy authored
Don't hold a pointer to parse_info in compilation_info, and instead explicitly add the fields needed in compiation_info. The intention is to make ParseInfo only actually needed for parsing, and eventually make it possible to compile with only a CompileInfo. BUG=v8:5203 Change-Id: Iecd39245e44c218874401c3991eeaf3ceef2816f Reviewed-on: https://chromium-review.googlesource.com/595738Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47119}
-
- 31 Jul, 2017 1 commit
-
-
Leszek Swirski authored
Also enforce that it is called on the main thread. Change-Id: I827beefe625bebf6c03fce5220cfbbd68e807984 Reviewed-on: https://chromium-review.googlesource.com/591372Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#47000}
-
- 28 Jul, 2017 1 commit
-
-
Leszek Swirski authored
Rather than storing the isolate in compiler dispatcher jobs, which gets weird for jobs that are entirely off-thread, instead pass the isolate in when stepping on the main thread. This makes it clearer which steps must be executed on the main thread, as they require the caller to explicitly give them access to the isolate. Bug: v8:6537 Change-Id: I02fff7c77fdcdbfb099a38235f94d8c1040699ac Reviewed-on: https://chromium-review.googlesource.com/589437 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46962}
-
- 27 Jul, 2017 4 commits
-
-
Ross McIlroy authored
The approach to creating compiler dispatcher jobs for inner functions after they had been parsed didn't provide the startup benifits we hoped for due to the need to hold onto the whole zone memory AST while waiting for the jobs to complete. This CL removes the ability to create these compilation jobs (which was never enabled by default anyway). Going forward we will potentially use the parser task approach to parse+compile inner functions in their own job. BUG=v8:5203 Change-Id: I63134746aa23b4aa6e3bfa17c539954890fd9b0f Reviewed-on: https://chromium-review.googlesource.com/590007Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46948}
-
Leszek Swirski authored
Reland of https://chromium-review.googlesource.com/c/558290/ Makes compiler dispatcher jobs an abstract interface, with unoptimized compile jobs as an implementation of this interface. Bug: v8:6537 Change-Id: Ia85781f72c7aaca497896ca4efa91ada97e43b1c Reviewed-on: https://chromium-review.googlesource.com/589154 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#46940}
-
Leszek Swirski authored
This reverts commit e4bbf92b. Reason for revert: Crashes: https://build.chromium.org/p/client.v8/builders/V8%20Linux64/builds/19156 Original change's description: > [compiler-dispatcher] Make compiler jobs abstract > > Makes compiler dispatcher jobs an abstract interface, with unoptimized > compile jobs as an implementation of this interface. > > Bug: v8:6537 > Change-Id: I6569060a89c92d35e4bc7962623f77082a354934 > Reviewed-on: https://chromium-review.googlesource.com/558290 > Reviewed-by: Georg Neis <neis@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46931} TBR=rmcilroy@chromium.org,neis@chromium.org,leszeks@chromium.org Change-Id: I023c0455929180fdcde3caf581f483f794ca2368 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6537 Reviewed-on: https://chromium-review.googlesource.com/589153Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#46932}
-
Leszek Swirski authored
Makes compiler dispatcher jobs an abstract interface, with unoptimized compile jobs as an implementation of this interface. Bug: v8:6537 Change-Id: I6569060a89c92d35e4bc7962623f77082a354934 Reviewed-on: https://chromium-review.googlesource.com/558290Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#46931}
-
- 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}
-
- 21 Jul, 2017 1 commit
-
-
Ross McIlroy authored
Removes the SharedFunctionInfo field from the ParseInfo structure. Instead require a SharedFunctionInfo to be explicitly passed to ParseFunction. Also renames GetUnoptimizedCode to CompileUnoptimizedFunction to make it clear it should only be called for non-top-level code. BUG=v8:5203 Change-Id: Ibce016e6a5290c3685f7f0a2f5fb1eb2df2ffc3b Reviewed-on: https://chromium-review.googlesource.com/574589 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#46814}
-
- 19 Jul, 2017 1 commit
-
-
Mythri authored
Inlining heuristics in Turbofan used ast node count. Bytecode size is a better approximation of the size of the graph than the ast node count. This cl changes the heuristics to use the bytecode size instead. Also removing the ast_node_count filed in the shared function info. It was used only for the inlining heuristics. Also removed the max_inlined_source_size flag which is no longer used. Bug: Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I8a2d2509c8e8d2779b33b817bb217de203d54ec3 Reviewed-on: https://chromium-review.googlesource.com/570055 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46771}
-
- 04 Jul, 2017 1 commit
-
-
Leszek Swirski authored
Instead of having the "next step" state machine logic in the compiler dispatcher, move it to the compiler dispatcher job. This is a prerequisite to having more generic jobs with slightly different state sets, such as an optimizing compile job. Bug: v8:6537 Change-Id: Ib7319222f26dbc0e2afc95573b06d813825afde3 Reviewed-on: https://chromium-review.googlesource.com/554751 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46396}
-
- 06 Jun, 2017 1 commit
-
-
Igor Sheludko authored
Properly propagate the fact that the function has a statically known name from parser to SharedFunctionInfo objects. The empty string that has been set as name before this CL does not help to distinguish cases like: var o1 = { ''(){} }; var o1 = { [foo()](){} }; or var o2 = { get ''(){} }; var o2 = { get [foo()](){} }; This is a preliminary step for using different layouts for closure objects with and without computed names. TBR=bmeurer@chromium.org, marja@chromium.org Bug: v8:6459 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I10afa6f4bda7881c3714711a75f720f83c1d875d Reviewed-on: https://chromium-review.googlesource.com/522073 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#45744}
-
- 22 May, 2017 1 commit
-
-
Wiktor Garbacz authored
Change-Id: I20ed35a7fb5104a9cc66bb54fa8966589c43d7f9 Reviewed-on: https://chromium-review.googlesource.com/507287Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#45458}
-
- 04 May, 2017 1 commit
-
-
Wiktor Garbacz authored
BUG=v8:6093 Change-Id: Ia14f6200adbe6c557f9b899e67f2d96bf76f3a44 Reviewed-on: https://chromium-review.googlesource.com/494590Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#45093}
-
- 03 May, 2017 1 commit
-
-
Michael Achenbach authored
This reverts commit 8f4e8c0a. Reason for revert: Speculative revert for http://crbug.com/717854 Original change's description: > Fix runtime_call_stats for background parsing. > > BUG=v8:6093 > > Change-Id: I365fbd7c3f33e2de47e0a84ee3ea631b4ffa6d35 > Reviewed-on: https://chromium-review.googlesource.com/488243 > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> > Commit-Queue: Wiktor Garbacz <wiktorg@google.com> > Cr-Commit-Position: refs/heads/master@{#45013} TBR=marja@chromium.org R=marja@chromium.org,vogelheim@chromium.org,cbruni@chromium.org,jochen@chromium.org BUG=v8:6093,chromium:717854 Change-Id: Ia58a420ec4c1e84a9f01eb90545fabb0bc03aa63 Reviewed-on: https://chromium-review.googlesource.com/494568 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#45070}
-
- 02 May, 2017 1 commit
-
-
Wiktor Garbacz authored
BUG=v8:6093 Change-Id: I365fbd7c3f33e2de47e0a84ee3ea631b4ffa6d35 Reviewed-on: https://chromium-review.googlesource.com/488243Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#45013}
-
- 19 Apr, 2017 1 commit
-
-
Adam Klein authored
There's no reason to keep track, for a preparsed function itself, whether that function calls eval. All that matters is that the ancestor scopes are marked as having an inner scope which calls eval. The function will have its "calls eval" bit persisted if/when it's fully parsed. The only "behavioral" change in this patch is the removal of a DCHECK. Bug: v8:6092 Change-Id: I17e396c8a265030fe0ad941707e4a97972e6650b Reviewed-on: https://chromium-review.googlesource.com/481223 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#44732}
-
- 11 Apr, 2017 1 commit
-
-
Wiktor Garbacz authored
This a step towards using CompilerDispatcher in parallel parsing. BUG=v8:6093 Change-Id: I7c0dc0a5f5b25652a8aa98c94b1e069c1f081a5b Reviewed-on: https://chromium-review.googlesource.com/473106Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#44570}
-
- 10 Apr, 2017 1 commit
-
-
Wiktor Garbacz authored
This is inital work in order to utilize CompilerDispatcher in parallel parsing. BUG=v8:6093 Change-Id: I6aae4f32ddb2314585d09039c1c5d7e658dc896f Reviewed-on: https://chromium-review.googlesource.com/469709Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#44509}
-
- 28 Mar, 2017 2 commits
-
-
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: Ic189610a943251b6b0cbd316afbf422c0da7a4cd Reviewed-on: https://chromium-review.googlesource.com/458007 Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#44178}
-
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: Ief4eb3c9873026a93338d5556985f31c9abe17e6 Reviewed-on: https://chromium-review.googlesource.com/458005 Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Reviewed-by: Andreas Haas <ahaas@chromium.org> Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Cr-Commit-Position: refs/heads/master@{#44173}
-
- 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: I25b23b3bf64502f84c28ce688ad2997c9665a069 Reviewed-on: https://chromium-review.googlesource.com/458003Reviewed-by: Daniel Clifford <danno@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Wiktor Garbacz <wiktorg@google.com> Cr-Commit-Position: refs/heads/master@{#44140}
-
- 22 Mar, 2017 1 commit
-
-
Clemens Hammacher authored
The old method always returned a Handle<Object>, requiring an explicit cast in the caller. This CL makes it return Handle<T> if called with a T* as parameter. Also, remove now redundant casts from callers. R=bmeurer@chromium.org Change-Id: I13cfb2f2e812e8582a9a1d9d6c8a5a24f40d0e79 Reviewed-on: https://chromium-review.googlesource.com/458376Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#44012}
-
- 10 Feb, 2017 6 commits
-
-
rmcilroy authored
Don't block on inner function compilation before competing outer function compilation. Instead wait for the compilation to complete when the function is called. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2686673002 Cr-Commit-Position: refs/heads/master@{#43116}
-
rmcilroy authored
When running main-thread compiler-dispatcher jobs, ensure that we enter the correct Context. Also adds a test for compiling an extension in the compiler dispatcher to ensure that idle tasks enter the correct context before finalizing the compilation. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2679193004 Cr-Commit-Position: refs/heads/master@{#43111}
-
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}
-
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}
-
rmcilroy authored
In order to allow parallel compilation of eager inner functions, we need to seperate the zone used for parsing (which will be shared between all the parallel compile jobs) and the zone used for compilation. This CL changes CompilationInfo to require a zone (which can be different from the zone in ParseInfo). We then seal the ParseInfo zone after parsing and analysis is done to prevent any further allocation in that zone, so that it can be shared (read-only) with the parallel compile jobs. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2645403002 Cr-Commit-Position: refs/heads/master@{#43089}
-
- 07 Feb, 2017 5 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
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}
-
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-Commit-Position: refs/heads/master@{#42993}
-