- 17 Jan, 2017 4 commits
-
-
machenbach authored
Revert of [complier] Enable parallel eager inner function compilation with compiler dispatcher. (patchset #11 id:260001 of https://codereview.chromium.org/2611313002/ ) Reason for revert: Some crashes on mac: https://build.chromium.org/p/client.v8/builders/V8%20Mac%20-%20debug/builds/11982/steps/Ignition%20-%20turbofan/logs/regress-crbug-429159 https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/10966 Original issue's description: > [complier] Enable parallel eager inner function compilation with compiler dispatcher. > > Enable enqueueing of eager inner function compilation onto the compiler > dispatcher. This enables these tasks to be performed in parallel to > compilation of the outer functio (only for Ignition functions). > We currently synchronize to ensure all inner function compilations > are complete before executing the outer function - future work will > allow outer function execution to happenin parallel to inner function > compilation. > > BUG=v8:5203,v8:5215 > > Review-Url: https://codereview.chromium.org/2611313002 > Cr-Commit-Position: refs/heads/master@{#42413} > Committed: https://chromium.googlesource.com/v8/v8/+/f12661a1ece4e9c9cb8df5c2d349db960356e604 TBR=jochen@chromium.org,marja@chromium.org,mstarzinger@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/2637123002 Cr-Commit-Position: refs/heads/master@{#42416}
-
rmcilroy authored
Enable enqueueing of eager inner function compilation onto the compiler dispatcher. This enables these tasks to be performed in parallel to compilation of the outer functio (only for Ignition functions). We currently synchronize to ensure all inner function compilations are complete before executing the outer function - future work will allow outer function execution to happenin parallel to inner function compilation. BUG=v8:5203,v8:5215 Review-Url: https://codereview.chromium.org/2611313002 Cr-Commit-Position: refs/heads/master@{#42413}
-
jochen authored
Instead, it is supposed to just return an empty context if it failed. Also don't invoke interceptors (we don't for the parts that deserialize from the snapshot anyways). BUG=v8:5830 R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2636903002 Cr-Commit-Position: refs/heads/master@{#42404}
-
mstarzinger authored
This makes sure all call sites allocating and installing the feedback vector metadata are within the compilation pipeline and avoids spreading them accross components. R=leszeks@chromium.org Review-Url: https://codereview.chromium.org/2631253002 Cr-Commit-Position: refs/heads/master@{#42399}
-
- 16 Jan, 2017 2 commits
-
-
leszeks authored
BUG=v8:5832 Review-Url: https://codereview.chromium.org/2627783008 Cr-Commit-Position: refs/heads/master@{#42377}
-
leszeks authored
Moves constant element/property array building to be deferred for igition and on-demand for the other compilers, and splits off the object/array literal depth/flag initialisation from the array building. BUG=v8:5832 Review-Url: https://codereview.chromium.org/2625873009 Cr-Commit-Position: refs/heads/master@{#42362}
-
- 12 Jan, 2017 3 commits
-
-
mvstanton authored
Literal arrays and feedback vectors for a function can be garbage collected if we don't have a rooted closure for the function, which happens often. It's expensive to come back from this (recreating boilerplates and gathering feedback again), and the cost is disproportionate if the function was inlined into optimized code. To guard against losing these arrays when we need them, we'll now create literal arrays when creating the feedback vector for the outer closure, and root them strongly in that vector. BUG=v8:5456 Review-Url: https://codereview.chromium.org/2620753003 Cr-Original-Commit-Position: refs/heads/master@{#42258} Committed: https://chromium.googlesource.com/v8/v8/+/31887804107bf5c103d915f5c601cfaaf1cd7cb6 Review-Url: https://codereview.chromium.org/2620753003 Cr-Commit-Position: refs/heads/master@{#42264}
-
machenbach authored
Revert of [TypeFeedbackVector] Root literal arrays in function literals slots (patchset #7 id:120001 of https://codereview.chromium.org/2620753003/ ) Reason for revert: gc stress: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/8105 also on mac Original issue's description: > [TypeFeedbackVector] Root literal arrays in function literals slots > > Literal arrays and feedback vectors for a function can be garbage > collected if we don't have a rooted closure for the function, which > happens often. It's expensive to come back from this (recreating > boilerplates and gathering feedback again), and the cost is > disproportionate if the function was inlined into optimized code. > > To guard against losing these arrays when we need them, we'll now > create literal arrays when creating the feedback vector for the outer > closure, and root them strongly in that vector. > > BUG=v8:5456 > > Review-Url: https://codereview.chromium.org/2620753003 > Cr-Commit-Position: refs/heads/master@{#42258} > Committed: https://chromium.googlesource.com/v8/v8/+/31887804107bf5c103d915f5c601cfaaf1cd7cb6 TBR=bmeurer@chromium.org,mstarzinger@chromium.org,yangguo@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:5456 Review-Url: https://codereview.chromium.org/2626863004 Cr-Commit-Position: refs/heads/master@{#42260}
-
mvstanton authored
Literal arrays and feedback vectors for a function can be garbage collected if we don't have a rooted closure for the function, which happens often. It's expensive to come back from this (recreating boilerplates and gathering feedback again), and the cost is disproportionate if the function was inlined into optimized code. To guard against losing these arrays when we need them, we'll now create literal arrays when creating the feedback vector for the outer closure, and root them strongly in that vector. BUG=v8:5456 Review-Url: https://codereview.chromium.org/2620753003 Cr-Commit-Position: refs/heads/master@{#42258}
-
- 11 Jan, 2017 1 commit
-
-
rmcilroy authored
This CL modifies the ast-numbering phase to collect function literals which should be compiled eagerly. This is then used to eagerly compile the inner functions before compiling the outer function. This will be used to queue compilation jobs on the CompilerDispatcher in a later CL. This CL moves the compilation of eager inner functions out of the GetSharedFunctionInfo function and instead compiles them explicitly. This simplifies GetSharedFunctionInfo and also means there is no need to pass a LazyCompilationMode to the function, so this concept has been removed. BUG=v8:5203,v8:5215 Review-Url: https://codereview.chromium.org/2618553004 Cr-Commit-Position: refs/heads/master@{#42221}
-
- 09 Jan, 2017 1 commit
-
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2579243003 Cr-Commit-Position: refs/heads/master@{#42143}
-
- 03 Jan, 2017 4 commits
-
-
rmcilroy authored
Tracks background compilation of Ignition in a separate bucket from main thread compilation. Also add some more compilation buckets for functions which can take a significant proportion of compilation. BUG=v8:5203,v8:5215 Review-Url: https://codereview.chromium.org/2577263002 Cr-Original-Commit-Position: refs/heads/master@{#42026} Committed: https://chromium.googlesource.com/v8/v8/+/b0e9116d59326a4f9a4f4691b61a510e342338c9 Review-Url: https://codereview.chromium.org/2577263002 Cr-Commit-Position: refs/heads/master@{#42042}
-
mythria authored
When baselining a function using the BaselineFunctionOnNextCall intrinsic, it is not always ensured that a function is already compiled. Update the Runtime_BaselineFunctionOnNextCall function to trigger a compile if it is not already compiled. BUG=v8:5768 Review-Url: https://codereview.chromium.org/2594543003 Cr-Commit-Position: refs/heads/master@{#42033}
-
machenbach authored
Revert of [Compiler] Track Ignition background compilation separately in RuntimeStats. (patchset #3 id:80001 of https://codereview.chromium.org/2577263002/ ) Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/13358 Original issue's description: > [Compiler] Track Ignition background compilation separately in RuntimeStats. > > Tracks background compilation of Ignition in a separate bucket from main thread > compilation. Also add some more compilation buckets for functions which can take a > significant proportion of compilation. > > BUG=v8:5203,v8:5215 > > Review-Url: https://codereview.chromium.org/2577263002 > Cr-Commit-Position: refs/heads/master@{#42026} > Committed: https://chromium.googlesource.com/v8/v8/+/b0e9116d59326a4f9a4f4691b61a510e342338c9 TBR=jochen@chromium.org,cbruni@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/2609773003 Cr-Commit-Position: refs/heads/master@{#42031}
-
rmcilroy authored
Tracks background compilation of Ignition in a separate bucket from main thread compilation. Also add some more compilation buckets for functions which can take a significant proportion of compilation. BUG=v8:5203,v8:5215 Review-Url: https://codereview.chromium.org/2577263002 Cr-Commit-Position: refs/heads/master@{#42026}
-
- 22 Dec, 2016 1 commit
-
-
hablich authored
Revert of [TypeFeedbackVector] Root literal arrays in function literals slots (patchset #11 id:370001 of https://codereview.chromium.org/2504153002/ ) Reason for revert: Speculative revert because of blocked roll: https://codereview.chromium.org/2596013002/ Original issue's description: > [TypeFeedbackVector] Root literal arrays in function literals slots > > Literal arrays and feedback vectors for a function can be garbage > collected if we don't have a rooted closure for the function, which > happens often. It's expensive to come back from this (recreating > boilerplates and gathering feedback again), and the cost is > disproportionate if the function was inlined into optimized code. > > To guard against losing these arrays when we need them, we'll now > create literal arrays when creating the feedback vector for the outer > closure, and root them strongly in that vector. > > BUG=v8:5456 > > Review-Url: https://codereview.chromium.org/2504153002 > Cr-Commit-Position: refs/heads/master@{#41893} > Committed: https://chromium.googlesource.com/v8/v8/+/93df094081f04c629c3df2e40318de90ce5e0fb9 TBR=bmeurer@chromium.org,mlippautz@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:5456 Review-Url: https://codereview.chromium.org/2597163002 Cr-Commit-Position: refs/heads/master@{#41917}
-
- 21 Dec, 2016 1 commit
-
-
mvstanton authored
Literal arrays and feedback vectors for a function can be garbage collected if we don't have a rooted closure for the function, which happens often. It's expensive to come back from this (recreating boilerplates and gathering feedback again), and the cost is disproportionate if the function was inlined into optimized code. To guard against losing these arrays when we need them, we'll now create literal arrays when creating the feedback vector for the outer closure, and root them strongly in that vector. BUG=v8:5456 Review-Url: https://codereview.chromium.org/2504153002 Cr-Commit-Position: refs/heads/master@{#41893}
-
- 19 Dec, 2016 1 commit
-
-
jochen authored
BUG=chromium:675114 R=titzer@chromium.org Review-Url: https://codereview.chromium.org/2583113002 Cr-Commit-Position: refs/heads/master@{#41796}
-
- 16 Dec, 2016 3 commits
-
-
jochen authored
BUG=v8:5394 R=mstarzinger@chromium.org,rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2579973002 Cr-Commit-Position: refs/heads/master@{#41754}
-
rmcilroy authored
When mark-shared-funtion-for-tier-up is enabled, a function could be marked for optimization, then the baseline (FCG) code is flushed by the GC. The next time the function is executed, we shouldn't optimize the code if there isn't baseline code. BUG=chromium:673242 Review-Url: https://codereview.chromium.org/2575333003 Cr-Commit-Position: refs/heads/master@{#41751}
-
mtrofin authored
BUG=643595 Review-Url: https://codereview.chromium.org/2582583002 Cr-Original-Commit-Position: refs/heads/master@{#41738} Committed: https://chromium.googlesource.com/v8/v8/+/cb433bed0b940a7073b5215e6684b940eec54edd Review-Url: https://codereview.chromium.org/2582583002 Cr-Commit-Position: refs/heads/master@{#41743}
-
- 15 Dec, 2016 4 commits
-
-
mtrofin authored
Revert of [wasm] simpler detection if we compiled asm-wasm (patchset #1 id:1 of https://codereview.chromium.org/2582583002/ ) Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/10384 Original issue's description: > [wasm] simpler detection if we compiled asm-wasm > > BUG=643595 > > Review-Url: https://codereview.chromium.org/2582583002 > Cr-Commit-Position: refs/heads/master@{#41738} > Committed: https://chromium.googlesource.com/v8/v8/+/cb433bed0b940a7073b5215e6684b940eec54edd TBR=yangguo@chromium.org,bradnelson@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=643595 Review-Url: https://codereview.chromium.org/2582623002 Cr-Commit-Position: refs/heads/master@{#41739}
-
mtrofin authored
BUG=643595 Review-Url: https://codereview.chromium.org/2582583002 Cr-Commit-Position: refs/heads/master@{#41738}
-
jochen authored
Original CL description: > Store SharedFunctionInfos of a Script in a FixedArray indexed by their ID > > Now that SharedFunctionInfos have a unique ID (and the IDs are dense), > we can use them as an index into an array, instead of using a > WeakFixedArray where we have to do a linear scan. > > Hooking up liveedit is a bit more involved, see > https://docs.google.com/presentation/d/1FtNa3U7WsF5bPhY9uGoJG5Y9hnz5VBDabfOWpb4unWI/edit > for an overview > > BUG=v8:5589 > R=verwaest@chromium.org,jgruber@chromium.org > > Review-Url: https://codereview.chromium.org/2547483002 BUG=v8:5589 TBR=verwaest@chromium.org,jgruber@chromium.org Review-Url: https://codereview.chromium.org/2577063002 Cr-Commit-Position: refs/heads/master@{#41734}
-
mtrofin authored
Determine if the scope of the function to be serialized includes asm- wasm, and if so, bypass serialization, since we do not support it in that scenario. In this change, we do so regardless of whether the asm-wasm path was successful. This is so we keep the design simple, since the guidance to developers, moving forward, is to use wasm. BUG=643595 Review-Url: https://codereview.chromium.org/2573193002 Cr-Commit-Position: refs/heads/master@{#41704}
-
- 14 Dec, 2016 2 commits
-
-
bradnelson authored
Adding timing info going to the console about asm.js Rename ConvertAsmToWasm -> CompileAsmViaWasm, to be more precise. Add enum for wasm data elements. BUG=v8:4203 R=titzer@chromium.org,yangguo@chromium.org Review-Url: https://codereview.chromium.org/2577453003 Cr-Commit-Position: refs/heads/master@{#41695}
-
kozyatinskiy authored
Revert of Store SharedFunctionInfos of a Script in a FixedArray indexed by their ID (patchset #11 id:190001 of https://codereview.chromium.org/2547483002/ ) Reason for revert: LiveEdit is broken in some cases. Original issue's description: > Store SharedFunctionInfos of a Script in a FixedArray indexed by their ID > > Now that SharedFunctionInfos have a unique ID (and the IDs are dense), > we can use them as an index into an array, instead of using a > WeakFixedArray where we have to do a linear scan. > > Hooking up liveedit is a bit more involved, see > https://docs.google.com/presentation/d/1FtNa3U7WsF5bPhY9uGoJG5Y9hnz5VBDabfOWpb4unWI/edit > for an overview > > BUG=v8:5589 > R=verwaest@chromium.org,jgruber@chromium.org > > Committed: https://crrev.com/6595e7405769dc9d49e9568d61485efc6d468baf > Cr-Commit-Position: refs/heads/master@{#41600} TBR=jgruber@chromium.org,verwaest@chromium.org,yangguo@chromium.org,jochen@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:5589,chromium:673950 NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/2578433002 Cr-Commit-Position: refs/heads/master@{#41684}
-
- 09 Dec, 2016 1 commit
-
-
yangguo authored
Logging for --perf-prof is not GC safe. Now, we are going to emit source position info for optimized code when we are profiling, logging, or debugging, and under the same condition, pre-compute the line ends array for line number computation. R=tebbi@chromium.org BUG=v8:5730 Review-Url: https://codereview.chromium.org/2562973002 Cr-Commit-Position: refs/heads/master@{#41619}
-
- 08 Dec, 2016 1 commit
-
-
jochen authored
Now that SharedFunctionInfos have a unique ID (and the IDs are dense), we can use them as an index into an array, instead of using a WeakFixedArray where we have to do a linear scan. Hooking up liveedit is a bit more involved, see https://docs.google.com/presentation/d/1FtNa3U7WsF5bPhY9uGoJG5Y9hnz5VBDabfOWpb4unWI/edit for an overview BUG=v8:5589 R=verwaest@chromium.org,jgruber@chromium.org Review-Url: https://codereview.chromium.org/2547483002 Cr-Commit-Position: refs/heads/master@{#41600}
-
- 02 Dec, 2016 1 commit
-
-
jgruber authored
This relands API deprecation (without removing the implementation), removal of NewFunction and BeforeCompile events, and removal of DebugCommandProcessor tests. The remaining portion of the original CLs can be relanded after the 4.7 branch point. Original CLs: https://codereview.chromium.org/2524323002 https://codereview.chromium.org/2531543002 BUG=v8:5510 Review-Url: https://codereview.chromium.org/2546473008 Cr-Commit-Position: refs/heads/master@{#41446}
-
- 01 Dec, 2016 1 commit
-
-
jgruber authored
Debugging API is still in use by Node. Revert "[debug] remove deprecated debug command message queue." This reverts commit abdbfc95. Revert "[debug] mark more unused debug API as deprecated." This reverts commit d5ada19c. BUG=v8:5530 Review-Url: https://codereview.chromium.org/2537313005 Cr-Commit-Position: refs/heads/master@{#41427}
-
- 30 Nov, 2016 2 commits
-
-
jochen authored
Also move them to a separate interface header to avoid having to include parser.h so much BUG=v8:5589 R=verwaest@chromium.org,marja@chromium.org Review-Url: https://codereview.chromium.org/2534393002 Cr-Commit-Position: refs/heads/master@{#41386}
-
bradnelson authored
Make the AsmWasmBuilder drive the process of typing and potentially parsing function bodies. This will allow us to keep only a single asm.js function's AST in memory as we convert to WebAssembly. This is needed to keep our memory footprint low. Add some additional output to a few tests that's helpful to see which stage they fail at. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 LOG=N R=marja@chromium.org,adamk@chromium.org,aseemgarg@chromium.org,titzer@chromium.org Review-Url: https://codereview.chromium.org/2398023002 Cr-Commit-Position: refs/heads/master@{#41372}
-
- 29 Nov, 2016 2 commits
-
-
alph authored
Rename it to better represent the reason. Also makes the inspector sentence "Not Optimized: Optimized too many times" look less confusing. Review-Url: https://codereview.chromium.org/2530423003 Cr-Commit-Position: refs/heads/master@{#41369}
-
rmcilroy authored
Functions with asm-wasm data shouldn't be marked for optimization, since they will be optimized using the asm-wasm data instead. Review-Url: https://codereview.chromium.org/2537103002 Cr-Commit-Position: refs/heads/master@{#41367}
-
- 28 Nov, 2016 1 commit
-
-
jochen authored
They're supposed to be stable across several parse passes, so we'll also store them in the associated SharedFunctionInfos To achieve this, the PreParser and Parser need to generated the same number of FunctionLiterals. To achieve this, we teach the PreParser about desuggaring of class literals. For regular functions, the function IDs are assigned in the order they occur in the source. For arrow functions, however, we only know that it's an arrow function after parsing the parameter list, and so the ID assigned to the arrow function is larger than the IDs assigned to functions defined in the parameter list. This implies that we have to reset the function ID counter to before the parameter list when re-parsing an arrow function. To be able to do this, we store the number of function literals found in the parameter list of arrow functions as well. BUG=v8:5589 Review-Url: https://codereview.chromium.org/2481163002 Cr-Commit-Position: refs/heads/master@{#41309}
-
- 26 Nov, 2016 1 commit
-
-
rmcilroy authored
If code has AsmWasm data we shouldn't try to optimize the JS as well, since it will instead be optimized using the WASM data. BUG= Review-Url: https://codereview.chromium.org/2534463003 Cr-Commit-Position: refs/heads/master@{#41293}
-
- 25 Nov, 2016 1 commit
-
-
yangguo authored
R=jgruber@chromium.org BUG=v8:5510 Review-Url: https://codereview.chromium.org/2531543002 Cr-Commit-Position: refs/heads/master@{#41283}
-
- 23 Nov, 2016 1 commit
-
-
rmcilroy authored
BUG=v8:4280,v8:5657 Review-Url: https://codereview.chromium.org/2505933008 Cr-Commit-Position: refs/heads/master@{#41209}
-
- 21 Nov, 2016 1 commit
-
-
mstarzinger authored
This removes the deprecated generator support for resumable functions from {FullCodeGenerator}. The existing {AstNumbering} heuristic already triggers Ignition for most resumable functions, with this change we make said heuristic a hard choice and remove the deprecated code. This also has the advantage that any suspended {JSGeneratorObject} instance on the heap is guaranteed to have code based on a bytecode array. R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2504223002 Cr-Commit-Position: refs/heads/master@{#41135}
-