- 12 Aug, 2016 1 commit
-
-
yangguo authored
With --ignition-preserve-bytecode, we don't have the guarantee that SharedFunctionInfo::abstract_code() returns the code we deopt to. R=mstarzinger@chromium.org BUG=v8:5265 Review-Url: https://codereview.chromium.org/2239773003 Cr-Commit-Position: refs/heads/master@{#38614}
-
- 10 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 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}
-
- 03 Aug, 2016 4 commits
-
-
lpy authored
Revert of [Tracing] Embed V8 runtime call stats into tracing. (patchset #8 id:140001 of https://codereview.chromium.org/2187693002/ ) Reason for revert: Mac64 ASAN failure. https://build.chromium.org/p/client.v8/builders/V8%20Mac64%20ASAN/builds/7810/steps/Check/logs/Threading4 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 > Cr-Original-Commit-Position: refs/heads/master@{#38270} > Cr-Commit-Position: refs/heads/master@{#38314} TBR=cbruni@chromium.org,fmeawad@chromium.org,machenbach@chromium.org,bmeurer@chromium.org,adamk@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:5089 Review-Url: https://codereview.chromium.org/2200373003 Cr-Commit-Position: refs/heads/master@{#38315}
-
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 Review-Url: https://codereview.chromium.org/2187693002 Cr-Original-Commit-Position: refs/heads/master@{#38270} Cr-Commit-Position: refs/heads/master@{#38314}
-
yangguo authored
Revert of [Tracing] Embed V8 runtime call stats into tracing. (patchset #6 id:100001 of https://codereview.chromium.org/2187693002/ ) Reason for revert: Sanitizer failures: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/10989/ https://build.chromium.org/p/client.v8/builders/V8%20Mac64%20ASAN/builds/7786/ Original issue's description: > [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 > Cr-Commit-Position: refs/heads/master@{#38270} TBR=cbruni@chromium.org,fmeawad@chromium.org,machenbach@chromium.org,bmeurer@chromium.org,adamk@chromium.org,rmcilroy@chromium.org,lpy@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5089 Review-Url: https://codereview.chromium.org/2203913004 Cr-Commit-Position: refs/heads/master@{#38275}
-
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=5089 Review-Url: https://codereview.chromium.org/2187693002 Cr-Commit-Position: refs/heads/master@{#38270}
-
- 27 Jul, 2016 1 commit
-
-
yangguo authored
Review-Url: https://codereview.chromium.org/2175193003 Cr-Commit-Position: refs/heads/master@{#38081}
-
- 25 Jul, 2016 1 commit
-
-
jochen authored
R=bmeurer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2173403002 Cr-Commit-Position: refs/heads/master@{#38007}
-
- 19 Jul, 2016 1 commit
-
-
mstarzinger authored
This allows to pass deoptimization reasons to the profiler without the requirement of always providing a source position. The absence of deopt reasons is now communicated via a sentinel as the deopt id value. The deoptimization reasons recently added to TurboFan are now passed to the profiler. R=bmeurer@chromium.org TEST=cctest/test-cpu-profiler Review-Url: https://codereview.chromium.org/2159793002 Cr-Commit-Position: refs/heads/master@{#37852}
-
- 18 Jul, 2016 1 commit
-
-
bmeurer authored
So far TurboFan wasn't adding the deoptimization reasons for eager/soft deoptimization exits that can be used by either the DevTools profiler or the --trace-deopt flag. This adds basic support for deopt reasons on Deoptimize, DeoptimizeIf and DeoptimizeUnless nodes and threads through the reasons to the code generation. Also moves the DeoptReason to it's own file (to resolve include cycles) and drops unused reasons. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2161543002 Cr-Commit-Position: refs/heads/master@{#37823}
-
- 29 Jun, 2016 3 commits
-
-
yangguo authored
R=mstarzinger@chromium.org BUG=v8:5117 Review-Url: https://codereview.chromium.org/2109613004 Cr-Commit-Position: refs/heads/master@{#37397}
-
yangguo authored
R=bmeurer@chromium.org BUG=v8:5117 Review-Url: https://codereview.chromium.org/2109673003 Cr-Commit-Position: refs/heads/master@{#37392}
-
titzer authored
R=yangguo@chromium.org,jarin@chromium.org BUG= Review-Url: https://codereview.chromium.org/2112443002 Cr-Commit-Position: refs/heads/master@{#37377}
-
- 27 Jun, 2016 1 commit
-
-
bbudge authored
Replaces ArchDefault method with Crankshaft and Turbofan getters. Eliminates IsAllocated method on Register, FloatRegister, DoubleRegister. Eliminates ToString method too. Changes call sites to access appropriate arch default RegisterConfiguration. LOG=N BUG= Review-Url: https://codereview.chromium.org/2092413002 Cr-Commit-Position: refs/heads/master@{#37297}
-
- 23 Jun, 2016 1 commit
-
-
franzih authored
Now we can turn it into a turbofan stub. Create new instance types JS_ARGUMENTS_TYPE and JS_ERROR_TYPE. Review-Url: https://codereview.chromium.org/2080243003 Cr-Commit-Position: refs/heads/master@{#37219}
-
- 15 Jun, 2016 1 commit
-
-
alph authored
The patch introduces a dedicated dispatching class for JIT code events. It is set as a helper on the isolate. This allows classes across v8 to break their dependency on Logger and CpuProfiler. These two became just regular clients of the dispatcher. BUG=v8:4789 Review-Url: https://codereview.chromium.org/2061623002 Cr-Commit-Position: refs/heads/master@{#37005}
-
- 14 Jun, 2016 1 commit
-
-
ishell authored
[stubs] Ensure that StoreTransitionStub does not bailout after the properties backing store is enlarged. In addition, this CL fixes --trace-hydrogen-stubs mode. BUG=chromium:601420 LOG=Y Review-Url: https://codereview.chromium.org/2068693003 Cr-Commit-Position: refs/heads/master@{#36971}
-
- 06 Jun, 2016 1 commit
-
-
cbruni authored
Passing in the isolate and pointer compare the instnance against the corresponding constant is always faster than decoding the instance types. BUG= Review-Url: https://codereview.chromium.org/2028983002 Cr-Commit-Position: refs/heads/master@{#36744}
-
- 03 Jun, 2016 1 commit
-
-
bbudge authored
LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2031873002 Cr-Commit-Position: refs/heads/master@{#36715}
-
- 27 May, 2016 1 commit
-
-
mstarzinger authored
This allows sloppy arguments objects to be allocated by the generic Heap::AllocateJSObjectFromMap allocation function. An empty elements backing store for such objects is provided. This is needed in order to materialize such objects without access to a specific native context. R=bmeurer@chromium.org TEST=mjsunit/regress/regress-crbug-613919 BUG=chromium:613919 Review-Url: https://codereview.chromium.org/2014343004 Cr-Commit-Position: refs/heads/master@{#36547}
-
- 23 May, 2016 1 commit
-
-
mstarzinger authored
This makes sure the deoptimizer can materialize sloppy arguments objects with the FAST_SLOPPY_ARGUMENTS_ELEMENTS elements kind. TurboFan's escape analysis treates those as normal JSObject types and hence materializes them differently than Crankshaft does. R=verwaest@chromium.org TEST=mjsunit/regress/regress-crbug-613919 BUG=chromium:613919 Review-Url: https://codereview.chromium.org/2001133002 Cr-Commit-Position: refs/heads/master@{#36440}
-
- 20 May, 2016 1 commit
-
-
mstarzinger authored
This adds support to materialize JSFunction objects from deoptimization information. By now we need to support this because TurboFan's escape analysis can produce virtual (i.e. non-escaping) closures. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/1998143002 Cr-Commit-Position: refs/heads/master@{#36400}
-
- 18 May, 2016 1 commit
-
-
rmcilroy authored
In order to support compiling to baseline on return we need to be able to return to the actual return address. With this change this is what the Return bytecode now does, removing the need for the InterpreterExitTrampoline. This change also removes the InterpreterNotifyDeoptXXX builtins and unifies FCG and Igntion to both use NotifyDeoptXXX. As part of this change, FullCodegenerator::State is moved to Deoptimize::BailoutState. BUG=v8:4280 LOG=N Committed: https://crrev.com/34c9626e2ee56fe805de549697ca5323aed7cb66 Cr-Commit-Position: refs/heads/master@{#36288} Review-Url: https://codereview.chromium.org/1969423002 Cr-Commit-Position: refs/heads/master@{#36310}
-
- 17 May, 2016 2 commits
-
-
machenbach authored
Revert of [Interpreter] Remove InterpreterExitTrampoline and replace with returning to the entry trampoline. (patchset #6 id:170001 of https://codereview.chromium.org/1969423002/ ) Reason for revert: Breaks https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm%20-%20sim/builds/619 Might only affect pure release builds? Original issue's description: > [Interpreter] Remove InterpreterExitTrampoline and replace with returning to the entry trampoline. > > In order to support compiling to baseline on return we need to be able to > return to the actual return address. With this change this is what the > Return bytecode now does, removing the need for the > InterpreterExitTrampoline. > > This change also removes the InterpreterNotifyDeoptXXX builtins and > unifies FCG and Igntion to both use NotifyDeoptXXX. As part of this > change, FullCodegenerator::State is moved to Deoptimize::BailoutState. > > BUG=v8:4280 > LOG=N > > Committed: https://crrev.com/34c9626e2ee56fe805de549697ca5323aed7cb66 > Cr-Commit-Position: refs/heads/master@{#36288} TBR=mstarzinger@chromium.org,oth@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:4280 Review-Url: https://codereview.chromium.org/1986353002 Cr-Commit-Position: refs/heads/master@{#36294}
-
rmcilroy authored
In order to support compiling to baseline on return we need to be able to return to the actual return address. With this change this is what the Return bytecode now does, removing the need for the InterpreterExitTrampoline. This change also removes the InterpreterNotifyDeoptXXX builtins and unifies FCG and Igntion to both use NotifyDeoptXXX. As part of this change, FullCodegenerator::State is moved to Deoptimize::BailoutState. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/1969423002 Cr-Commit-Position: refs/heads/master@{#36288}
-
- 13 May, 2016 2 commits
-
-
cbruni authored
By fully annotating the API with runtime counters we can properly measure how much time we spend in total in v8. When --runtime-call-stats is specified we now disable the fast-paths for callbacks to properly measure them. As a drive-by-fix this CL unifies the LOG messages in api.cc. Additionally we added missing timers to gain better resolution in the parser and callbacks. BUG= Review-Url: https://codereview.chromium.org/1923893002 Cr-Commit-Position: refs/heads/master@{#36248}
-
mstarzinger authored
This makes the profiler reconstruct inlined function frames at eager deopt points from the deoptimization data. The main goal of this is to remove the last side-channel where Crankshaft communicates directly to the profiler. This is the last preparatory step towards deprecating the side-channel in question. R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/1973993002 Cr-Commit-Position: refs/heads/master@{#36229}
-
- 12 May, 2016 1 commit
-
-
cbruni authored
Currently we do not check for @@isConcatSpreadable properly. If the Symbol is set on the Array.prototype or Object.prototype the current fast paths fail. This CL adds a fix to globally invalidate a isConcatSpreadable_protector. Drive-by-fix: use named accessors for context variables LOG=N BUG=chromium:542504, v8:903 Review-Url: https://codereview.chromium.org/1409123003 Cr-Commit-Position: refs/heads/master@{#36201}
-
- 11 May, 2016 1 commit
-
-
mstarzinger authored
This passes the inlining_id of deoptimization points via the relocation info instead of via a side-channel to the CPU profiler. This is one step towards deprecating the side-channel in question and avoid the need for performing a lookup of the return address of the deopt point. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/1956693002 Cr-Commit-Position: refs/heads/master@{#36177}
-
- 06 May, 2016 2 commits
-
-
ishell authored
Deoptimizer is now able to reconstruct topmost accessor and constructor frames. BUG=chromium:608278, v8:4698 LOG=N TBR=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1936043002 Cr-Commit-Position: refs/heads/master@{#36075}
-
mstarzinger authored
R=jarin@chromium.org Review-Url: https://codereview.chromium.org/1945363002 Cr-Commit-Position: refs/heads/master@{#36069}
-
- 29 Apr, 2016 1 commit
-
-
mlippautz authored
- Move the concurrent unmapping to MemoryAllocator - Hide (private) members where possible - MemoryAllocator:Free is now the bottleneck for freeing - Pooled pages are either allocated from a set of pooled pages are obtained through work stealing from the concurrent unmapper BUG=chromium:605866, chromium:581412 LOG=N This reverts commit 25ff296c. Review-Url: https://codereview.chromium.org/1929503002 Cr-Commit-Position: refs/heads/master@{#35910}
-
- 27 Apr, 2016 1 commit
-
-
hablich authored
Revert of [heap] Uncommit pooled pages concurrently (patchset #5 id:120001 of https://codereview.chromium.org/1913083002/ ) Reason for revert: Creates a spike of OOM(v8) crashers on Win32. Original issue's description: > [heap] Uncommit pooled pages concurrently > > - Move the concurrent unmapping to MemoryAllocator > - Hide (private) members where possible > - MemoryAllocator:Free is now the bottleneck for freeing > - Pooled pages are either allocated from a set of pooled pages are obtained > through work stealing from the concurrent unmapper > > BUG=chromium:605866, chromium:581412 > LOG=N > > Committed: https://crrev.com/2158df87116906160cebc3ad20c97f454822da03 > Cr-Commit-Position: refs/heads/master@{#35797} TBR=hpayer@chromium.org,mlippautz@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:605866, chromium:581412 Review URL: https://codereview.chromium.org/1925563003 Cr-Commit-Position: refs/heads/master@{#35819}
-
- 26 Apr, 2016 1 commit
-
-
mlippautz authored
- Move the concurrent unmapping to MemoryAllocator - Hide (private) members where possible - MemoryAllocator:Free is now the bottleneck for freeing - Pooled pages are either allocated from a set of pooled pages are obtained through work stealing from the concurrent unmapper BUG=chromium:605866, chromium:581412 LOG=N Review URL: https://codereview.chromium.org/1913083002 Cr-Commit-Position: refs/heads/master@{#35797}
-
- 22 Apr, 2016 1 commit
-
-
jarin authored
The approximate mode enables taking an approximate stack trace from GC, where the top frames might be missing if inlined. Note that in that case, the frame summary will refer to optimized code, so it will not be possible to take source position. (The user of the summary will have to handle the case frame_summary.abstract_code()->kind() == AbstractCode::OPTIMIZED_CODE specially.) Review URL: https://codereview.chromium.org/1907443002 Cr-Commit-Position: refs/heads/master@{#35728}
-
- 21 Apr, 2016 1 commit
-
-
ishell authored
[deoptimizer] Do not modify stack_fp which is used as a key for lookup of previously materialized objects. BUG=chromium:604680, v8:4698 LOG=N Review URL: https://codereview.chromium.org/1904663003 Cr-Commit-Position: refs/heads/master@{#35693}
-
- 11 Apr, 2016 1 commit
-
-
ishell authored
[deoptimizer] Extend assert to also expect kTailCallerFunction as bottommost frame when accessing arguments for inlined function. BUG=chromium:601617, v8:4698 LOG=N Review URL: https://codereview.chromium.org/1876753002 Cr-Commit-Position: refs/heads/master@{#35385}
-
- 06 Apr, 2016 1 commit
-
-
bmeurer authored
Introduce a ResumeGeneratorTrampoline, which does the actual stack state reconstruction (currently always restores a fullcodegen frame), and introduce appropriate TurboFan builtins for %GeneratorPrototype%.next, %GeneratorPrototype%.return and %GeneratorPrototype%.throw based on this native builtin. Also unify the flooding in case of step-in to always work based on JSFunction and remove the special casing for JSGeneratorObject. R=mstarzinger@chromium.org, neis@chromium.org TBR=rossberg@chromium.org BUG=chromium:513471 LOG=n Review URL: https://codereview.chromium.org/1865833002 Cr-Commit-Position: refs/heads/master@{#35283}
-