- 28 Sep, 2016 1 commit
-
-
adamk authored
R=neis@chromium.org Review-Url: https://codereview.chromium.org/2372373002 Cr-Commit-Position: refs/heads/master@{#39842}
-
- 27 Sep, 2016 1 commit
-
-
mvstanton authored
This flag is meant to control whether we add a special context-free entry to the optimized code map or not. A usage of the flag was bogus. BUG= Review-Url: https://codereview.chromium.org/2374723002 Cr-Commit-Position: refs/heads/master@{#39784}
-
- 20 Sep, 2016 1 commit
-
-
jochen authored
This means we can no longer take the closure's context to parse, but need to rely on the outer scope info. Since it's not possible to get that, however, for lazy functions, we introduce a new field to SharedFunctionInfo that stores the outer scope info whenever available. BUG=v8:5215 R=marja@chromium.org,verwaest@chromium.org,jgruber@chromium.org Review-Url: https://codereview.chromium.org/2358503002 Cr-Commit-Position: refs/heads/master@{#39548}
-
- 16 Sep, 2016 1 commit
-
-
mstarzinger authored
This ensures that {Compiler::EnsureBytecode} fails gracefully in case the --ignition-filter flag prevents generation of bytecode for a certain set of functions. This can be triggered via inlining. R=rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2340293002 Cr-Commit-Position: refs/heads/master@{#39466}
-
- 15 Sep, 2016 3 commits
-
-
jochen authored
We don't need the context anymore for parsing, the scope info chain is enough. BUG=v8:5215 R=marja@chromium.org,jgruber@chromium.org,mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2342443004 Cr-Commit-Position: refs/heads/master@{#39457}
-
mstarzinger authored
The semantics of the {BailoutId} representing an OSR entry point is different between the interpreter and the full code generator. These semantics are hard-coded in various graph builders. We need to ensure that the correct graph builder is chosen for OSR compilations. R=rmcilroy@chromium.org TEST=mjsunit/regress/regress-5380 BUG=v8:5380 Review-Url: https://codereview.chromium.org/2341663002 Cr-Commit-Position: refs/heads/master@{#39444}
-
rmcilroy authored
Ignition requires that objects which will be inserted into the constant pool are canonicalized (to enable off-thread bytecode generation). We created a CanonicalizeHandleScope across parse/compile however this impacts performance (~5-8% on CodeLoad). Now we localize the CanonicalHandleScope to only the parse / internalization and renumbering phases where objects are created which could end up in the constant array pool. This seems to address the performance regression. BUG=v8:5203,chromium:634953 Review-Url: https://codereview.chromium.org/2318653002 Cr-Commit-Position: refs/heads/master@{#39443}
-
- 05 Sep, 2016 2 commits
-
-
mstarzinger authored
This handles the case where preparation of bytecode might fail inside Compiler::EnsureBytecode due to the underlying function being a fully validated asm.js module. We simply bailout of bytecode preparation. R=bradnelson@chromium.org TEST=mjsunit/regress/regress-crbug-644111 BUG=chromium:644111 Review-Url: https://codereview.chromium.org/2309853002 Cr-Commit-Position: refs/heads/master@{#39187}
-
fmeawad authored
After we landed the tracing runtime call stats, which gave us a lot of V8 insight in tracing, we noticed that there is some arising issues and discrepancies. Issues include: Missing trace events, that happened due to transforming those trace events into runtime calls Discrepancies include: Missing categories in Runtime call stats like GC, because we are not handling the Scoped runtime calls properly in the tracing version. To reduce/eliminate those issue, we are taking a small step back. We are unifying the RuntimeStats code and using the original one. That would allow us to use all the original probes but emit trace events from them. We are also putting back the trace-events in their place. The output from both system should be intact (Except of the addition of the missing trace-events). Also as a byproduct, we are reducing the number of context scopes by half since we are using the same scope as runtime call stats. As a follow up to this CL, we will address the non-scoped Runtime Call Stats (mainly in GC). BUG=642373 Review-Url: https://codereview.chromium.org/2296243002 Cr-Commit-Position: refs/heads/master@{#39180}
-
- 01 Sep, 2016 1 commit
-
-
lpy authored
We removed some TRACE_EVENT0 instrumentation when we landed runtime call stats tracing, however some of them are used in metrics, this patch adds these TRACE_EVENT0 back. BUG=642373 LOG=N Review-Url: https://codereview.chromium.org/2301743002 Cr-Commit-Position: refs/heads/master@{#39104}
-
- 31 Aug, 2016 2 commits
-
-
marja authored
This way, many files which only need CompilationInfo but not compiler.h and its dependencies can include just compilation-info.h. BUG= Review-Url: https://codereview.chromium.org/2284313003 Cr-Commit-Position: refs/heads/master@{#39038}
-
jochen authored
R=marja@chromium.org TBR=verwaest@chromium.org BUG= Review-Url: https://codereview.chromium.org/2294193003 Cr-Commit-Position: refs/heads/master@{#39037}
-
- 30 Aug, 2016 1 commit
-
-
jochen authored
Instead of creating them on demand all over the place. I plan to link ScopeInfos together, and having one place where all ScopeInfos are created will make this easier. R=verwaest@chromium.org,adamk@chromium.org TBR=mstarzinger@chromium.org BUG=v8:5215 Review-Url: https://codereview.chromium.org/2281073002 Cr-Commit-Position: refs/heads/master@{#39003}
-
- 26 Aug, 2016 1 commit
-
-
mstarzinger authored
R=marja@chromium.org Review-Url: https://codereview.chromium.org/2281543002 Cr-Commit-Position: refs/heads/master@{#38926}
-
- 25 Aug, 2016 3 commits
-
-
bmeurer authored
R=mstarzinger@chromium.org BUG=v8:5309 Review-Url: https://codereview.chromium.org/2274253003 Cr-Commit-Position: refs/heads/master@{#38903}
-
rmcilroy authored
Adds compile operations to the CompilerDispatcherJob interface. As such, introduces Compiler::PrepareUnoptimizedCompilationJob and updates the unoptimized compilation path to use CompilationJobs. Also unifies FinalizeCompilationJob to deal with both optimized and unoptimized compilation jobs. A dummy FullCodegenCompilationJob is also introduced, where all the work is done in the ExecuteJob phase, which cannot be run on a background thread. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2251713002 Cr-Commit-Position: refs/heads/master@{#38897}
-
bmeurer authored
For concurrent recompilation we created the CompilationHandleScope after the CanonicalHandleScope, which basically disabled the canonicalization because the deferred handle creation doesn't pay attention to the canonicalization mode then. This meant that we did not canonicalize handles properly as soon as concurrent recompilation was enabled. R=jarin@chromium.org BUG=v8:5267 Review-Url: https://codereview.chromium.org/2276953004 Cr-Commit-Position: refs/heads/master@{#38882}
-
- 24 Aug, 2016 1 commit
-
-
mstarzinger authored
This preserves the original shared code of the underlying function when bytecode is provided. The method in question should only ensure bytecode is present, but should avoid switching compilation tiers of the given function. It might be that the function was fast-tracked to baseline by inlining without going through the interpreted tier first. R=rmcilroy@chromium.org TEST=mjsunit/regress/regress-crbug-635923 BUG=chromium:635923 Review-Url: https://codereview.chromium.org/2278543002 Cr-Commit-Position: refs/heads/master@{#38866}
-
- 23 Aug, 2016 1 commit
-
-
mstarzinger authored
This changes the compilation pipeline so that mixed stacks are allowed when bytecode is preserved. This means there can be activations of both, "baseline" as well as "unoptimized" code active on the stack at the same time for any single given function. R=rmcilroy@chromium.org BUG=v8:4280 Review-Url: https://codereview.chromium.org/2267693002 Cr-Commit-Position: refs/heads/master@{#38809}
-
- 22 Aug, 2016 2 commits
-
-
rmcilroy authored
Adds InterpreterCompilationJob as a sub-class of CompilationJob, to enable off-thread bytecode generation. Currently only used in Interpreter::MakeBytecode. As part of this change, CompilationJob is modified to make it less specific to optimized compilation, renaming the phases as follows: - CreateGraph -> PrepareJob - OptimizeGraph -> ExecuteJob - GenerateCode -> FinalizeJob RegisterWeakObjectsInOptimizedCode is also moved out of CompilationJob and instead becomes a static function on Compiler. BUG=v8:5203 Committed: https://crrev.com/1fb6a7e697e8bc5b4af51647553741f966e00cdc Committed: https://crrev.com/785990e9fc0dd9a9d963d25d0bed2909165e4ca9 Committed: https://crrev.com/d7c6195c4c5cdc080caa74dfe2ae9ecab69bea73 Review-Url: https://codereview.chromium.org/2240463002 Cr-Original-Original-Original-Commit-Position: refs/heads/master@{#38662} Cr-Original-Original-Commit-Position: refs/heads/master@{#38668} Cr-Original-Commit-Position: refs/heads/master@{#38725} Cr-Commit-Position: refs/heads/master@{#38778}
-
mstarzinger authored
This fixes the uncommon fallback when Compiler::CompileOptimized fails creating optimized code and also the underlying SharedFunctionInfo is not compiled. We make sure not to uselessly regenerate the bytecode. R=rmcilroy@chromium.org BUG=chromium:639753 Review-Url: https://codereview.chromium.org/2261123002 Cr-Commit-Position: refs/heads/master@{#38776}
-
- 19 Aug, 2016 2 commits
-
-
neis authored
R=mstarzinger@chromium.org, rmcilroy@chromium.org BUG= Review-Url: https://codereview.chromium.org/2263493002 Cr-Commit-Position: refs/heads/master@{#38741}
-
marja authored
Rebuilding (after touching certain files) is crazy slow because includes are out of control. Fixing it: - Don't include stuff in headers unless necessary. - Include the stuff you need, not some other stuff that happens to include the stuff you need. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2260483002 Cr-Commit-Position: refs/heads/master@{#38740}
-
- 18 Aug, 2016 3 commits
-
-
rmcilroy authored
Revert of [Interpreter] Introduce InterpreterCompilationJob (patchset #9 id:180001 of https://codereview.chromium.org/2240463002/ ) Reason for revert: Revert again... Original issue's description: > [Interpreter] Introduce InterpreterCompilationJob > > Adds InterpreterCompilationJob as a sub-class of > CompilationJob, to enable off-thread bytecode > generation. Currently only used in > Interpreter::MakeBytecode. > > As part of this change, CompilationJob is modified > to make it less specific to optimized compilation, > renaming the phases as follows: > - CreateGraph -> PrepareJob > - OptimizeGraph -> ExecuteJob > - GenerateCode -> FinalizeJob > > RegisterWeakObjectsInOptimizedCode is also moved out > of CompilationJob and instead becomes a static function > on Compiler. > > BUG=v8:5203 > > Committed: https://crrev.com/1fb6a7e697e8bc5b4af51647553741f966e00cdc > Committed: https://crrev.com/785990e9fc0dd9a9d963d25d0bed2909165e4ca9 > Committed: https://crrev.com/d7c6195c4c5cdc080caa74dfe2ae9ecab69bea73 > Cr-Original-Original-Commit-Position: refs/heads/master@{#38662} > Cr-Original-Commit-Position: refs/heads/master@{#38668} > Cr-Commit-Position: refs/heads/master@{#38725} TBR=mstarzinger@chromium.org,jkummerow@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/2260583002 Cr-Commit-Position: refs/heads/master@{#38727}
-
rmcilroy authored
Adds InterpreterCompilationJob as a sub-class of CompilationJob, to enable off-thread bytecode generation. Currently only used in Interpreter::MakeBytecode. As part of this change, CompilationJob is modified to make it less specific to optimized compilation, renaming the phases as follows: - CreateGraph -> PrepareJob - OptimizeGraph -> ExecuteJob - GenerateCode -> FinalizeJob RegisterWeakObjectsInOptimizedCode is also moved out of CompilationJob and instead becomes a static function on Compiler. BUG=v8:5203 Committed: https://crrev.com/1fb6a7e697e8bc5b4af51647553741f966e00cdc Committed: https://crrev.com/785990e9fc0dd9a9d963d25d0bed2909165e4ca9 Review-Url: https://codereview.chromium.org/2240463002 Cr-Original-Original-Commit-Position: refs/heads/master@{#38662} Cr-Original-Commit-Position: refs/heads/master@{#38668} Cr-Commit-Position: refs/heads/master@{#38725}
-
mstarzinger authored
This fixes canonicalization of {SharedFunctionInfo} objects in the {Compiler::GetSharedFunctionInfo} method when bytecode is preserved. Eager compilation is only triggered when no code is present. R=rmcilroy@chromium.org TEST=mjsunit/regress/regress-crbug-638551 BUG=chromium:638551 Review-Url: https://codereview.chromium.org/2245263006 Cr-Commit-Position: refs/heads/master@{#38709}
-
- 17 Aug, 2016 1 commit
-
-
bradnelson authored
Our previous per-arch instantiation thunks for asm.js didn't support modules that had or were called with anything other than 3 arguments. Adding support for this. Addding a runtime test method to check if asm validation succeeded. Adding a test of validation with different argument count combinations. R=mstarzinger@chromium.org TEST=mjsunit/asm/asm-validator.js BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 Review-Url: https://codereview.chromium.org/2229723002 Cr-Commit-Position: refs/heads/master@{#38688}
-
- 16 Aug, 2016 4 commits
-
-
rmcilroy authored
Revert of [Interpreter] Introduce InterpreterCompilationJob (patchset #7 id:140001 of https://codereview.chromium.org/2240463002/ ) Reason for revert: Breaks Win64 bot Original issue's description: > [Interpreter] Introduce InterpreterCompilationJob > > Adds InterpreterCompilationJob as a sub-class of > CompilationJob, to enable off-thread bytecode > generation. Currently only used in > Interpreter::MakeBytecode. > > As part of this change, CompilationJob is modified > to make it less specific to optimized compilation, > renaming the phases as follows: > - CreateGraph -> PrepareJob > - OptimizeGraph -> ExecuteJob > - GenerateCode -> FinalizeJob > > RegisterWeakObjectsInOptimizedCode is also moved out > of CompilationJob and instead becomes a static function > on Compiler. > > BUG=v8:5203 > > Committed: https://crrev.com/1fb6a7e697e8bc5b4af51647553741f966e00cdc > Committed: https://crrev.com/785990e9fc0dd9a9d963d25d0bed2909165e4ca9 > Cr-Original-Commit-Position: refs/heads/master@{#38662} > Cr-Commit-Position: refs/heads/master@{#38668} TBR=mstarzinger@chromium.org,jkummerow@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/2251673003 Cr-Commit-Position: refs/heads/master@{#38669}
-
rmcilroy authored
Adds InterpreterCompilationJob as a sub-class of CompilationJob, to enable off-thread bytecode generation. Currently only used in Interpreter::MakeBytecode. As part of this change, CompilationJob is modified to make it less specific to optimized compilation, renaming the phases as follows: - CreateGraph -> PrepareJob - OptimizeGraph -> ExecuteJob - GenerateCode -> FinalizeJob RegisterWeakObjectsInOptimizedCode is also moved out of CompilationJob and instead becomes a static function on Compiler. BUG=v8:5203 Committed: https://crrev.com/1fb6a7e697e8bc5b4af51647553741f966e00cdc Review-Url: https://codereview.chromium.org/2240463002 Cr-Original-Commit-Position: refs/heads/master@{#38662} Cr-Commit-Position: refs/heads/master@{#38668}
-
rmcilroy authored
Revert of [Interpreter] Introduce InterpreterCompilationJob (patchset #7 id:140001 of https://codereview.chromium.org/2240463002/ ) Reason for revert: Failing on Win64 bot: https://build.chromium.org/p/client.v8/builders/V8%20Win64/builds/12061/steps/Check/logs/regress-635429 Original issue's description: > [Interpreter] Introduce InterpreterCompilationJob > > Adds InterpreterCompilationJob as a sub-class of > CompilationJob, to enable off-thread bytecode > generation. Currently only used in > Interpreter::MakeBytecode. > > As part of this change, CompilationJob is modified > to make it less specific to optimized compilation, > renaming the phases as follows: > - CreateGraph -> PrepareJob > - OptimizeGraph -> ExecuteJob > - GenerateCode -> FinalizeJob > > RegisterWeakObjectsInOptimizedCode is also moved out > of CompilationJob and instead becomes a static function > on Compiler. > > BUG=v8:5203 > > Committed: https://crrev.com/1fb6a7e697e8bc5b4af51647553741f966e00cdc > Cr-Commit-Position: refs/heads/master@{#38662} TBR=mstarzinger@chromium.org,jkummerow@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/2249153002 Cr-Commit-Position: refs/heads/master@{#38663}
-
rmcilroy authored
Adds InterpreterCompilationJob as a sub-class of CompilationJob, to enable off-thread bytecode generation. Currently only used in Interpreter::MakeBytecode. As part of this change, CompilationJob is modified to make it less specific to optimized compilation, renaming the phases as follows: - CreateGraph -> PrepareJob - OptimizeGraph -> ExecuteJob - GenerateCode -> FinalizeJob RegisterWeakObjectsInOptimizedCode is also moved out of CompilationJob and instead becomes a static function on Compiler. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2240463002 Cr-Commit-Position: refs/heads/master@{#38662}
-
- 12 Aug, 2016 3 commits
-
-
mstarzinger authored
This adds a shortcut to the compilation pipeline that makes sure we are not regenerating bytecode when it has been preserved from a previous request. This can happen when code flushing removes baseline code, thereby clearing the entry trampoline but leaving bytecode intact. R=yangguo@chromium.org BUG=v8:5265 Review-Url: https://codereview.chromium.org/2241783002 Cr-Commit-Position: refs/heads/master@{#38620}
-
yangguo authored
R=mstarzinger@chromium.org BUG=v8:5265 Review-Url: https://codereview.chromium.org/2240103002 Cr-Commit-Position: refs/heads/master@{#38607}
-
yangguo authored
R=mstarzinger@chromium.org BUG=v8:5265 Review-Url: https://codereview.chromium.org/2237423002 Cr-Commit-Position: refs/heads/master@{#38602}
-
- 11 Aug, 2016 1 commit
-
-
rmcilroy authored
Should fix a performance regression introduced by introducing a CanonicalHandleScope for bytecode compilation. Also fix a missing CanonicalHandleScope in GetSharedFunctionInfo. BUG=chromium:634953 Review-Url: https://codereview.chromium.org/2226923002 Cr-Commit-Position: refs/heads/master@{#38583}
-
- 10 Aug, 2016 3 commits
-
-
mstarzinger authored
This adds the --ignition-preserve-bytecode flag which will preserve any existing bytecode, even if a tier-up to baseline code is performed. This is preparatory work in order to allow mixed stacks where bytecode and baseline code can be active at the same time. It also adds a {HasBaselineCode} predicate symmetric to the existing {HasBytecodeArray} predicate. Both predicates are independent and any combination of answers is valid. Further adaptation of the rest of the runtime will be done step-wise in follow-up changes. R=yangguo@chromium.org BUG=v8:5265 Review-Url: https://codereview.chromium.org/2224923003 Cr-Commit-Position: refs/heads/master@{#38540}
-
rmcilroy authored
Updates a number of AST operations to avoid dereferencing handles such that they can safely be called off-thread. Also adds a HandleDereferenceMode argument to some operations where handles are compared. If handle dereferencing is allowed, the handles are compared directly, if not then their locations are compared (which relies on the handles being created in a CanonicalHandleScope). BUG=v8:5203 TBR=adamk@chromium.org Review-Url: https://codereview.chromium.org/2223523002 Cr-Commit-Position: refs/heads/master@{#38526}
-
lpy authored
Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Committed: https://crrev.com/3f936a5b17754783e92d2146eaf66c88a78ee45b Review-Url: https://codereview.chromium.org/2187693002 Cr-Original-Original-Original-Commit-Position: refs/heads/master@{#38270} Cr-Original-Original-Commit-Position: refs/heads/master@{#38314} Cr-Original-Commit-Position: refs/heads/master@{#38403} Cr-Commit-Position: refs/heads/master@{#38510}
-
- 08 Aug, 2016 1 commit
-
-
machenbach authored
Revert of [Tracing] Embed V8 runtime call stats into tracing. (patchset #8 id:140001 of https://codereview.chromium.org/2187693002/ ) Reason for revert: Leaks block chromium roll: https://codereview.chromium.org/2219083003/ Example build: https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/205435 You can add the trybot from tryserver.chromium.linux, linux_chromium_asan_rel_ng, on reland. Original issue's description: > [Reland][Tracing] Embed V8 runtime call stats into tracing. > > Currently we have V8 RuntimeCallStats that is independently from tracing when > running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call > stats into tracing, by having a global table of runtime call counters each > isolate, resetting the table each time we enter a top level trace event, and > dumping the table for each top level trace event. This will make trace file more > compat, as well as enable runtime call stats in tracing system. > > This patch adds ~5% overhead to V8 when the category is enabled, we measure the > overhead by running a script when category is enabled. > > BUG=v8:5089 > > Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa > Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 > Committed: https://crrev.com/3f936a5b17754783e92d2146eaf66c88a78ee45b > Cr-Original-Original-Commit-Position: refs/heads/master@{#38270} > Cr-Original-Commit-Position: refs/heads/master@{#38314} > Cr-Commit-Position: refs/heads/master@{#38403} TBR=cbruni@chromium.org,fmeawad@chromium.org,bmeurer@chromium.org,adamk@chromium.org,rmcilroy@chromium.org,lpy@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:5089 NOTRY=true NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/2221853002 Cr-Commit-Position: refs/heads/master@{#38412}
-
- 05 Aug, 2016 1 commit
-
-
lpy authored
Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Review-Url: https://codereview.chromium.org/2187693002 Cr-Original-Original-Commit-Position: refs/heads/master@{#38270} Cr-Original-Commit-Position: refs/heads/master@{#38314} Cr-Commit-Position: refs/heads/master@{#38403}
-