- 10 Apr, 2018 1 commit
-
-
Matheus Marchini authored
Before Turbofan/Ignition it was possible to use external profilers to sample running V8/Node.js processes and generate reports/FlameGraphs from that. It's still possible to do so, but non-optimized JavaScript functions appear in the stack as InterpreterEntryTrampoline. This commit adds a runtime flag which makes interpreted frames visible on the process' native stack as distinguishable functions, making the sampled data gathered by external profilers such as Linux perf and DTrace more useful. R=bmeurer@google.com, franzih@google.com, jarin@google.com, yangguo@google.com Bug: v8:7155 Change-Id: I3dc8876aa3cd9f1b9766624842a7cc354ccca415 Reviewed-on: https://chromium-review.googlesource.com/959081 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#52533}
-
- 17 Oct, 2017 1 commit
-
-
Marja Hölttä authored
OSR for functions which use arguments no longer needs to be disabled, since TurboFan handles the case. Bug: Change-Id: I121f1190a142c18f113bd5f875e258812645c43f Reviewed-on: https://chromium-review.googlesource.com/721661Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#48631}
-
- 19 Sep, 2017 1 commit
-
-
Mythri authored
Runtime profiler uses bytecode array size for the tiering up decisions. Bytecode array size includes the header size as well. Inlining heuristics use bytecode array length instead. Bytecode array length is just the size of bytecode not inlcuding any headers. This change is to keep both of them in sync to avoid confusion. Also, the header contains several pointers and hence the size changes depending on the size of kPointerSize. Bug: Change-Id: I22a9cf5e0bb9d6853c6a8be8d69c9ff459418a0d Reviewed-on: https://chromium-review.googlesource.com/670724Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#48081}
-
- 13 Sep, 2017 1 commit
-
-
Ross McIlroy authored
BUG=v8:6409 Change-Id: I9e06388c683e283a1922fb436dceb244f5093042 Reviewed-on: https://chromium-review.googlesource.com/664857Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47993}
-
- 11 Sep, 2017 1 commit
-
-
Mike Stanton authored
Since we don't have a full-codegen compiler anymore, we no longer generate Code::FUNCTION kind. Nice! Here is some cleanup. Bug: v8:6409 Change-Id: I05634e4ca85c4037b49a4346f4e8bae8042b8762 Reviewed-on: https://chromium-review.googlesource.com/657817 Commit-Queue: Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#47951}
-
- 05 Sep, 2017 2 commits
-
-
Leszek Swirski authored
Now that FCG is gone, we don't need to have a code-size multiplier to distinguish Ignition and FCG code sizes. Bug: v8:6409 Change-Id: I05e5fa2483bfc17e91de22736b66ad27a5aab49b Reviewed-on: https://chromium-review.googlesource.com/649149 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#47819}
-
Mythri authored
This cl: https://chromium-review.googlesource.com/c/538614/ changes the number of ticks required for tiering up based on the size of function. An earlier cl: https://chromium-review.googlesource.com/c/529165/ also resets ticks when type feedback changes. So, it is reasonable to assume that a function which has necessary number of ticks has the required type feedback for optimizing. Hence, removing the check for type feedback from the tierinup decision. Bug: Change-Id: Ia350ad4dfba5f93f1a17bdc0c309bf6b41b0c1c9 Reviewed-on: https://chromium-review.googlesource.com/647851Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#47816}
-
- 31 Aug, 2017 1 commit
-
-
Benedikt Meurer authored
Since fullcodegen was removed, all baseline code runs in Ignition now, so the code_is_interpreted parameter to FeedbackVector::ComputeCounts is no longer needed. Bug: v8:6409 Change-Id: I27842a4978079f8166f22db6c695b352a38e1d87 Reviewed-on: https://chromium-review.googlesource.com/646106Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#47748}
-
- 10 Aug, 2017 1 commit
-
-
Ross McIlroy authored
Removes the pathways to use Full-Codegen from compiler.cc. Also removes all paths to optimize using AstGraphBuilder, which relies on Full-codegen. Cleans up ast-numbering, runtime-profiler and some runtime functions to remove now dead code. This makes Full-codegen and AstGraphBuilder dead, but doesn't remove their code yet, that will be done in a followup CL to keep things reviewable. BUG=v8:6409 Change-Id: I3901ff17d960b2bb084cef0cb39fa16cb8419881 Reviewed-on: https://chromium-review.googlesource.com/583328 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47277}
-
- 03 Aug, 2017 1 commit
-
-
Michael Starzinger authored
R=tebbi@chromium.org Change-Id: I9d22e0731da3e170fe40aa34667ff8948e11bb5c Reviewed-on: https://chromium-review.googlesource.com/595972Reviewed-by:
Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#47124}
-
- 28 Jul, 2017 1 commit
-
-
Leszek Swirski authored
With TurboFan, there should no longer be any deopt loops (aside from bugs). So, the "too many deopts" bailout is no longer needed, at least in its current form. This fixes an issue where deopt counts are leaked between native contexts, resulting in optimization being disabled unnecessarily. Bug: v8:6402 Change-Id: Ia06374ae6b5c2d473bcdd8eef1284bf02766c2fb Reviewed-on: https://chromium-review.googlesource.com/588894 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#46961}
-
- 25 Jul, 2017 1 commit
-
-
Leszek Swirski authored
Reland of https://chromium-review.googlesource.com/c/544888/. Instead of counting profiler ticks on the shared function info (which is shared between native contexts), count them on the feedback vector (which is not). This allows us to continue pushing optimization decisions off the SFI, onto the feedback vector. Note that a side-effect of this is that ICs don't have to walk the stack to reset profiler ticks, as they can access the feedback vector directly from their feedback nexus. Change-Id: I7aa6baed03f726843d1b62629c72b74f05114b48 Reviewed-on: https://chromium-review.googlesource.com/579051 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#46868}
-
- 17 Jul, 2017 1 commit
-
-
Leszek Swirski authored
This reverts commit a2fcdc7c. Reason for revert: Large regressions in RCS (https://chromeperf.appspot.com/group_report?bug_id=740126) Original change's description: > [runtime] Move profiler ticks from SFI to feedback vector > > Instead of counting profiler ticks on the shared function info (which is > shared between native contexts), count them on the feedback vector > (which is not). This allows us to continue pushing optimization > decisions off the SFI, onto the feedback vector. > > Note that a side-effect of this is that ICs don't have to walk the stack > to reset profiler ticks, as they can access the feedback vector directly > from their feedback nexus. > > Change-Id: I232ae9e759fca75cd89d393148a4ff42caa2646f > Reviewed-on: https://chromium-review.googlesource.com/544888 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#46411} TBR=rmcilroy@chromium.org,leszeks@chromium.org,ishell@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: Id587e4172e300c420f93c49744a2a0e66696edf8 Reviewed-on: https://chromium-review.googlesource.com/574227 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#46702}
-
- 05 Jul, 2017 1 commit
-
-
Leszek Swirski authored
Instead of counting profiler ticks on the shared function info (which is shared between native contexts), count them on the feedback vector (which is not). This allows us to continue pushing optimization decisions off the SFI, onto the feedback vector. Note that a side-effect of this is that ICs don't have to walk the stack to reset profiler ticks, as they can access the feedback vector directly from their feedback nexus. Change-Id: I232ae9e759fca75cd89d393148a4ff42caa2646f Reviewed-on: https://chromium-review.googlesource.com/544888Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#46411}
-
- 21 Jun, 2017 1 commit
-
-
Mythri authored
Currently, the number of ticks to wait before optimizing is a constant (if sufficient feedback is available). This cl changes it so that, larger functions would have to wait longer for optimizing. The number of ticks required scales linearly with the function size. Bug: Change-Id: Id27bea715cf15960667cf63381b1cbe8dac94428 Reviewed-on: https://chromium-review.googlesource.com/538614 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#46097}
-
- 19 Jun, 2017 1 commit
-
-
Leszek Swirski authored
For interpreted functions, use the optimized code slot in the feedback vector to store an optimization marker (optimize/in optimization queue) rather than changing the JSFunction's code object. Then, adapt the self-healing mechanism to also dispatch based on this optimization marker. Similarly, replace SFI marking with optimization marker checks in CompileLazy. This allows JSFunctions to share optimization information (replacing shared function marking) without leaking this information across native contexts. Non I+TF functions (asm.js or --no-turbo) use a CheckOptimizationMarker shim which generalises the old CompileOptimized/InOptimizationQueue builtins and also checks the same optimization marker as CompileLazy and InterpreterEntryTrampoline. This is a reland of https://chromium-review.googlesource.com/c/509716 Change-Id: I02b790544596562373da4c9c9f6afde5fb3bcffe Reviewed-on: https://chromium-review.googlesource.com/535460Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#45997}
-
- 13 Jun, 2017 3 commits
-
-
Leszek Swirski authored
This reverts commit e39c9e02. Reason for revert: Breaks https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug/builds/15561 Original change's description: > [compiler] Drive optimizations with feedback vector > > For interpreted functions, use the optimized code slot in the feedback vector > to store an optimization marker (optimize/in optimization queue) rather than > changing the JSFunction's code object. Then, adapt the self-healing mechanism > to also dispatch based on this optimization marker. Similarly, replace SFI > marking with optimization marker checks in CompileLazy. > > This allows JSFunctions to share optimization information (replacing shared > function marking) without leaking this information across native contexts. Non > I+TF functions (asm.js or --no-turbo) use a CheckOptimizationMarker shim which > generalises the old CompileOptimized/InOptimizationQueue builtins and also > checks the same optimization marker as CompileLazy and > InterpreterEntryTrampoline. > > Change-Id: I6826bdde7ab9a919cdb6b69bc0ebc6174bcb91ae > Reviewed-on: https://chromium-review.googlesource.com/509716 > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#45901} TBR=rmcilroy@chromium.org,mstarzinger@chromium.org,leszeks@chromium.org No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: Ib6c2b4d90fc5f659a6dcaf3fd30321507ca9cb94 Reviewed-on: https://chromium-review.googlesource.com/532916Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#45903}
-
Leszek Swirski authored
For interpreted functions, use the optimized code slot in the feedback vector to store an optimization marker (optimize/in optimization queue) rather than changing the JSFunction's code object. Then, adapt the self-healing mechanism to also dispatch based on this optimization marker. Similarly, replace SFI marking with optimization marker checks in CompileLazy. This allows JSFunctions to share optimization information (replacing shared function marking) without leaking this information across native contexts. Non I+TF functions (asm.js or --no-turbo) use a CheckOptimizationMarker shim which generalises the old CompileOptimized/InOptimizationQueue builtins and also checks the same optimization marker as CompileLazy and InterpreterEntryTrampoline. Change-Id: I6826bdde7ab9a919cdb6b69bc0ebc6174bcb91ae Reviewed-on: https://chromium-review.googlesource.com/509716 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#45901}
-
Leszek Swirski authored
With the deprecation of Crankshaft, it's no longer necessary for FullCodeGen to keep track of its runtime profiler ticks on the code object, and we can instead unify the behaviour of FCG and Ignition to both increment the SFI counter instead. Bug: v8:6408 Change-Id: Idcdd673aa39af06fe15a0fc14dfda2afafb5e417 Reviewed-on: https://chromium-review.googlesource.com/528117Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#45892}
-
- 06 Jun, 2017 1 commit
-
-
Mythri authored
Introduces ThrowReferenceErrorIfHole / ThrowSuperNotCalledIfHole / ThrowSuperAlreadyCalledIfNotHole bytecodes to handle hole checks. In the bytecode-graph builder they are handled by introducing a deopt point instead of adding explicit control flow. JumpIfNotHole / JumpIfNotHoleConstant bytecodes are removed since they are no longer required. Bug: v8:4280, v8:6383 Change-Id: I58b70c556b0ffa30e41a0cd44016874c3e9c5fe1 Reviewed-on: https://chromium-review.googlesource.com/509613 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Michael Lippautz <mlippautz@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#45720}
-
- 15 May, 2017 2 commits
-
-
Mythri authored
Crankshaft flag and opt flag mostly serve the same purpose. Using crankshaft to mean use optimizing compiler is a bit confusing. This cl: https://chromium-review.googlesource.com/c/490206/ fixes the tests to use opt instead of crankshaft flag. One difference between --no-crankshaft and --no-opt would be that --no-opt would mean no optimizations at all where as with --no-crankshaft would mean we can force optimizations using %OptimizeFunctionOnNextCall. Bug: v8:6325 Change-Id: If17393ac5b6af4ea6e9a98e092f0261c2e0899c5 Reviewed-on: https://chromium-review.googlesource.com/490307Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#45298}
-
jgruber authored
250K was probably still too generous and 80K leads to improvements locally. BUG=v8:6348 Review-Url: https://codereview.chromium.org/2876413002 Cr-Commit-Position: refs/heads/master@{#45288}
-
- 13 Apr, 2017 1 commit
-
-
Leszek Swirski authored
Currently we count optimizations to decide to disable optimization, and count deopts to detect this decision and allow re-enabling optimizations after a while. However, throwing out TurboFan OSR code and GC optimized code evictions do not count as deopts, which means that the optimization count increases without increasing the deopt count. This increased optimization count disables further optimization -- which is bad, because these are not "true" deopts -- and can stop the optimization from being re-enabled, because the deopt count can't go high enough. Instead, we now only ever look at deopts to disable/re-enable optimization, and opt counts are only used for naming log files and in tests. Change-Id: I0c7d6be497545449a38cf952cd2f007ee51982ba Reviewed-on: https://chromium-review.googlesource.com/468811 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#44647}
-
- 05 Apr, 2017 1 commit
-
-
bmeurer authored
When passing --trace-opt-verbose print more information about why we decide not to optimize certain functions. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2800623002 Cr-Commit-Position: refs/heads/master@{#44408}
-
- 27 Mar, 2017 1 commit
-
-
Ross McIlroy authored
Since we no longer support the ignition-staging configuration any longer, we can retire the three tier pipeline and the CompileBaseline functionallity. We still need support for JSFunction self healing due to liveedit (which for --no-turbo might end up replacing a forced Ignition function with a FCG function) - we can remove this once we remove --no-turbo support. BUG=v8:4280 Change-Id: I5482abd17785324654e022affd6bdb555b19b181 Reviewed-on: https://chromium-review.googlesource.com/452620 Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#44141}
-
- 10 Mar, 2017 1 commit
-
-
bmeurer authored
Add log message when RuntimeProfiler checks whether to optimize a function, but that function is already in the optimization queue (with --trace-opt-verbose). R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2740103003 Cr-Commit-Position: refs/heads/master@{#43711}
-
- 07 Feb, 2017 1 commit
-
-
ishell@chromium.org authored
... and TypeFeedbackMetadata to FeedbackMetadata. BUG= Change-Id: I2556d1c2a8f37b8cf3d532cc98d973b6dc7e9e6c Reviewed-on: https://chromium-review.googlesource.com/439244 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#42999}
-
- 06 Feb, 2017 1 commit
-
-
jarin authored
We benefit from the optimizing compiler even if the IC state is generic, so we'd better ignore the generic IC state count for the optimization decision. This improves our speedometer score from 61.5 to 63.7 (default configuration is 65.9). Review-Url: https://codereview.chromium.org/2674203002 Cr-Commit-Position: refs/heads/master@{#42955}
-
- 30 Jan, 2017 1 commit
-
-
mvstanton authored
Compiles simply take too long, and such functions are liable to deopt quickly. BUG=chromium:686153 Review-Url: https://codereview.chromium.org/2667573002 Cr-Commit-Position: refs/heads/master@{#42779}
-
- 13 Jan, 2017 3 commits
-
-
mstarzinger authored
This adapts the aformentioned interface to no longer return a list of {JSFunction} objects, but {SharedFunctionInfo} objects instead. Since deoptimization data only contains the latter as literals, this by now represents the fast path. All call sites requiring the former can use the slow path via {JavaScriptFrame::Summarize} instead. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2626213002 Cr-Original-Commit-Position: refs/heads/master@{#42311} Committed: https://chromium.googlesource.com/v8/v8/+/25a9364f25a40986f4d7266b1fe53a5921754f6a Review-Url: https://codereview.chromium.org/2626213002 Cr-Commit-Position: refs/heads/master@{#42314}
-
mstarzinger authored
Revert of [runtime] Change JavaScriptFrame::GetFunctions interface. (patchset #2 id:20001 of https://codereview.chromium.org/2626213002/ ) Reason for revert: Breaks compilation. Original issue's description: > [runtime] Change JavaScriptFrame::GetFunctions interface. > > This adapts the aformentioned interface to no longer return a list of > {JSFunction} objects, but {SharedFunctionInfo} objects instead. Since > deoptimization data only contains the latter as literals, this by now > represents the fast path. All call sites requiring the former can use > the slow path via {JavaScriptFrame::Summarize} instead. > > R=jarin@chromium.org > > Review-Url: https://codereview.chromium.org/2626213002 > Cr-Commit-Position: refs/heads/master@{#42311} > Committed: https://chromium.googlesource.com/v8/v8/+/25a9364f25a40986f4d7266b1fe53a5921754f6a TBR=jarin@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2629113004 Cr-Commit-Position: refs/heads/master@{#42312}
-
mstarzinger authored
This adapts the aformentioned interface to no longer return a list of {JSFunction} objects, but {SharedFunctionInfo} objects instead. Since deoptimization data only contains the latter as literals, this by now represents the fast path. All call sites requiring the former can use the slow path via {JavaScriptFrame::Summarize} instead. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2626213002 Cr-Commit-Position: refs/heads/master@{#42311}
-
- 17 Nov, 2016 1 commit
-
-
yangguo authored
This method is a slight misnomer. What we actually want to know is whether the function was defined in a user-provided script. Also remove redundant Script::hide_source flag. R=bmeurer@chromium.org, ulan@chromium.org Review-Url: https://codereview.chromium.org/2505853003 Cr-Commit-Position: refs/heads/master@{#41065}
-
- 16 Nov, 2016 2 commits
-
-
machenbach authored
Revert of Refactor SharedFunctionInfo::IsBuiltin. (patchset #1 id:1 of https://codereview.chromium.org/2505853003/ ) Reason for revert: Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/11394 Original issue's description: > Refactor SharedFunctionInfo::IsBuiltin. > > This method is a slight misnomer. What we actually want to know is > whether the function was defined in a user-provided script. > > Also remove redundant Script::hide_source flag. > > R=bmeurer@chromium.org, ulan@chromium.org TBR=bmeurer@chromium.org,ulan@chromium.org,yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2512463002 Cr-Commit-Position: refs/heads/master@{#41050}
-
yangguo authored
This method is a slight misnomer. What we actually want to know is whether the function was defined in a user-provided script. Also remove redundant Script::hide_source flag. R=bmeurer@chromium.org, ulan@chromium.org Review-Url: https://codereview.chromium.org/2505853003 Cr-Commit-Position: refs/heads/master@{#41036}
-
- 15 Nov, 2016 1 commit
-
-
rmcilroy authored
Fix two bugs with the runtime-profiler optimization heuristics for interpreted code: - Reset shared->tick_count for interpreted functions when optimizing - Update ticks after checking whether to optimize functions, to be the same as the FCG profiler checks (where updates are done to the code ticks after deciding whether to optimize). BUG=chromium:662071 Review-Url: https://codereview.chromium.org/2497933002 Cr-Commit-Position: refs/heads/master@{#40978}
-
- 09 Nov, 2016 1 commit
-
-
rmcilroy authored
Adds an IsInterpreted() function to both SharedFunctionInfo and JSFunction. This is used to fix the test-heap code-aging tests since Ignition doesn't age code. BUG=v8:4680 Review-Url: https://codereview.chromium.org/2481433002 Cr-Commit-Position: refs/heads/master@{#40868}
-
- 08 Nov, 2016 1 commit
-
-
rmcilroy authored
It looks like waiting for 4 ticks before optimizing from interpreted code is hurting performance in sunspider after turning on Ignition for all TurboFan code. Set it back to 2 ticks. BUG=chromium:661556 Review-Url: https://codereview.chromium.org/2488703002 Cr-Commit-Position: refs/heads/master@{#40845}
-
- 04 Nov, 2016 1 commit
-
-
mythria authored
When checking for marking a function for optimization, we had a check if the function is already optimized to return early. This works in non-OSR cases. For Turbofan OSR even when the current execution of the function has already been optimized, the function itself will not be replaced with optimized code. Hence, we may end up checking a function that is already marked for optimization again. A check for the frame being optimized avoids these checks. BUG= Review-Url: https://codereview.chromium.org/2450233002 Cr-Commit-Position: refs/heads/master@{#40760}
-
- 02 Nov, 2016 1 commit
-
-
bmeurer authored
All vector ICs use the TypeFeedbackVector::ComputeCounts method now, while the remaining patching ICs still use the traditional way of counting on the TypeFeedbackInfo hanging off the fullcodegen code object. This fixes the problem that counts were sometimes off. Drive-by-fix: Move FullCodeGenerator::CallIC to fullcodegen.cc. R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2472653002 Cr-Commit-Position: refs/heads/master@{#40690}
-