- 23 Sep, 2016 1 commit
-
-
klaasb authored
Previously we would not have a total count of ICs when interpreting and thus the check for sufficient type info would always succeed. Also use the optimization checks for OSR while waiting for baseline compilation and refactor the check. BUG=v8:4280 BUG=chromium:634884 Review-Url: https://codereview.chromium.org/2360913003 Cr-Commit-Position: refs/heads/master@{#39677}
-
- 10 Aug, 2016 1 commit
-
-
mstarzinger authored
This switches the interface of the runtime profiler to use frames as opposed to functions for performing on-stack replacement. Requests for such replacements need to target a specific frame. This will enable us to activate bytecode as well as baseline code for the same function. The existing %OptimizeOsr runtime function also had to adapted and now takes an optional stack depth to target a specific stack frame. R=bmeurer@chromium.org BUG=v8:4764 Review-Url: https://codereview.chromium.org/2230783004 Cr-Commit-Position: refs/heads/master@{#38548}
-
- 05 Aug, 2016 1 commit
-
-
mstarzinger authored
This fixes the runtime profiler to no longer assume that seeing an optimized frame on the stack implies the underlying function is not being interpreted when entered normally. This no longer holds with code generated for OSR directly from bytecode (not installed on function). R=rmcilroy@chromium.org TEST=mjsunit/regress/regress-crbug-632800 BUG=chromium:632800 Review-Url: https://codereview.chromium.org/2208603005 Cr-Commit-Position: refs/heads/master@{#38360}
-
- 25 Jul, 2016 1 commit
-
-
rmcilroy authored
Always use the BytecodeGraphBuilder when the --turbo-from-bytecode is enabled, assuming the function should be compiled for Ignition. Adds a new MaybeOptimizeIgnition function to runtime-profiler which is called if the function should be optimized from bytecode rather than going via full-codegen. BUG=v8:4280 Committed: https://crrev.com/9ca7db914be88e6792a88eab4a1988ee031d70c4 Review-Url: https://codereview.chromium.org/2156753002 Cr-Original-Commit-Position: refs/heads/master@{#37921} Cr-Commit-Position: refs/heads/master@{#38002}
-
- 21 Jul, 2016 2 commits
-
-
machenbach authored
Revert of [Intepreter] Always use BytecodeGraphBuilder when --turbo-from-bytecode (patchset #3 id:80001 of https://codereview.chromium.org/2156753002/ ) Reason for revert: Breaks tsan: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/10758 Original issue's description: > [Intepreter] Always use BytecodeGraphBuilder when --turbo-from-bytecode > > Always use the BytecodeGraphBuilder when the --turbo-from-bytecode > is enabled, assuming the function should be compiled for Ignition. > Adds a new MaybeOptimizeIgnition function to runtime-profiler > which is called if the function should be optimized from bytecode > rather than going via full-codegen. > > BUG=v8:4280 > > Committed: https://crrev.com/9ca7db914be88e6792a88eab4a1988ee031d70c4 > Cr-Commit-Position: refs/heads/master@{#37921} TBR=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:4280 Review-Url: https://codereview.chromium.org/2165223002 Cr-Commit-Position: refs/heads/master@{#37925}
-
rmcilroy authored
Always use the BytecodeGraphBuilder when the --turbo-from-bytecode is enabled, assuming the function should be compiled for Ignition. Adds a new MaybeOptimizeIgnition function to runtime-profiler which is called if the function should be optimized from bytecode rather than going via full-codegen. BUG=v8:4280 Review-Url: https://codereview.chromium.org/2156753002 Cr-Commit-Position: refs/heads/master@{#37921}
-
- 16 May, 2016 1 commit
-
-
rmcilroy authored
Remove checks for IC hotness from Ignition tiering up decision since this is not relevent for full-codegen compilation. Also make the decision about what tier we are moving to more explicit and visible in --trace-opt. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/1969773002 Cr-Commit-Position: refs/heads/master@{#36260}
-
- 25 Apr, 2016 1 commit
-
-
mstarzinger authored
This adds a baseline tier to the compilation pipeline. Currently this tier is used to model a path from the interpreter to optimized code via full-codegen code (to ensure sufficient type feedback). Switching from the unoptimized tier to the baseline tier is limited to happen only when there are no activations of the given function on the stack. R=rmcilroy@chromium.org,bmeurer@chromium.org Review URL: https://codereview.chromium.org/1903273004 Cr-Commit-Position: refs/heads/master@{#35757}
-
- 19 Feb, 2016 1 commit
-
-
rmcilroy authored
Adds a profiling counter to each BytecodeArray object, and adds code to Jump and Return bytecode handlers to update this counter by the size of the jump or the distance from the return to the start of the function. This is more accurate than fullcodegen's approach since it takes forward jumps into account as well as back-edges. Modifies RuntimeProfiler to track ticks for interpreted frames. Currently we use the SharedFunctionInfo::profiler_ticks() instead of adding another to tick field to avoid adding another field to BytecodeArray since SharedFunctionInfo::profiler_ticks() is only used by Crankshaft otherwise so we shouldn't need both for BUG=v8:4689 LOG=N Review URL: https://codereview.chromium.org/1707693003 Cr-Commit-Position: refs/heads/master@{#34166}
-
- 30 Sep, 2015 1 commit
-
-
mstarzinger authored
This enables linter checking for "readability/namespace" violations during presubmit and instead marks the few known exceptions that we allow explicitly. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1371083003 Cr-Commit-Position: refs/heads/master@{#31019}
-
- 30 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
Also split v8-core independent methods from checks.h to base/logging.h and merge v8checks with the rest of checks. The CPU::FlushICache method is moved to CpuFeatures::FlushICache RoundUp and related methods are moved to base/macros.h Remove all layering violations from src/libplatform BUG=none R=jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/358363002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jun, 2014 1 commit
-
-
yangguo@chromium.org authored
Having debug break points prevents OSR. That causes allow_osr_at_loop_nesting_level and the actually patched state to go out of sync. R=jkummerow@chromium.org BUG=387599 LOG=Y Review URL: https://codereview.chromium.org/346223007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
BUG=none R=jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/316133002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
- this avoids using relative include paths which are forbidden by the style guide - makes the code more readable since it's clear which header is meant - allows for starting to use checkdeps BUG=none R=jkummerow@chromium.org, danno@chromium.org LOG=n Review URL: https://codereview.chromium.org/304153016 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2014 1 commit
-
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/259183002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Dec, 2013 1 commit
-
-
jkummerow@chromium.org authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/103293006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Jul, 2013 1 commit
-
-
yurys@chromium.org authored
Also removed Logger fields that used to be used for writing compressed logs. BUG=None R=bmeurer@chromium.org, loislo@chromium.org Review URL: https://codereview.chromium.org/20768002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Jun, 2013 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/17030008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Apr, 2013 1 commit
-
-
yurys@chromium.org authored
Now that V8 doesn't use sampling thread for optimizations the methods can be removed. BUG=None Review URL: https://codereview.chromium.org/14057003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Dec, 2012 1 commit
-
-
svenpanne@chromium.org authored
Removing the former was basically a consequence of removing the latter. The net effect is, apart from less code, that the signal sender thread is much more explicit about its logic now. Review URL: https://codereview.chromium.org/11543020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Dec, 2012 1 commit
-
-
svenpanne@chromium.org authored
Review URL: https://codereview.chromium.org/11437016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Apr, 2012 1 commit
-
-
danno@chromium.org authored
BUG=118686 Review URL: https://chromiumcodereview.appspot.com/9976003 Patch from Philippe Liard <pliard@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Mar, 2012 1 commit
-
-
jkummerow@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9864030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2012 1 commit
-
-
fschneider@chromium.org authored
This change includes two CLs by pliard@chromium.org: 1. http://codereview.chromium.org/9447052/ (Add CallOnce() and simple LazyInstance implementation): Note that this implementation of LazyInstance does not handle global destructors (i.e. the lazy instances are never deleted). This CL was initially reviewed on codereview.appspot.com: http://codereview.appspot.com/5687064/ 2. http://codereview.chromium.org/9455088/ (Remove static initializers in v8): This CL depends on CL 9447052 (adding CallOnce and LazyInstance). It is based on a patch sent by Digit. With this patch applied, we have only one static initializer left (in atomicops_internals_x86_gcc.cc). This static initializer populates a structure used by x86 atomic operations. It seems that we can hardly remove it. If possible, it will be removed in a next CL. This CL also modifies the presubmit script to check the number of static initializers. BUG=v8:1859 Review URL: https://chromiumcodereview.appspot.com/9666052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Feb, 2012 1 commit
-
-
vegorov@chromium.org authored
Modify PreProcessOsrEntry to work with OSR entries that have non-empty expression stack. Modify graph builder to take for-in state from environment instead of directly referencing emitted instructions. Extend %OptimizeFunctionOnNextCall with an argument to force OSR to make writing OSR tests easier: %OptimizeFunctionOnNextCall(f, "osr"). R=fschneider@chromium.org TEST=test/mjsunit/compiler/optimized-for-in.js Review URL: https://chromiumcodereview.appspot.com/9431030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Feb, 2012 2 commits
-
-
jkummerow@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9374015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9361026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jan, 2012 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/9139051 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Aug, 2011 1 commit
-
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/7617003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Jul, 2011 1 commit
-
-
vitalyr@chromium.org authored
o The thread local state in an isolate has to be initialized before it's used. o v8::Locker was incorrectly tracking whether it's the topmost one. o Waking the profiler thread on shutdown should not leave the semaphore counter in an inconsitent state. R=fschneider@chromium.org BUG=v8:1522 TEST=cctest/test-lockers/Regress1433 Review URL: http://codereview.chromium.org/7309013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Jun, 2011 1 commit
-
-
vitalyr@chromium.org authored
Lots of web pages have really frequently firing timers that keep the profiler thread spinning if we require a period of JS inactivity before suspending the profiler. While it's possible to throttle it by increasing the sleep delay and adjusting the duration of the required inactive period, it seemed much simpler to just stop it immediately on exiting JS. Stopping the profiler this way effectively turned off two optimization heuristics: 1) eager optimization (it's reset on waking up the profiler and now the profiler wakes up much more frequently) and 2) optimization throttling based on JS to non-JS state ratio (the ratio is now 100%). I removed these two heuristics and found no performance regressions so far. R=ager@chromium.org BUG=crbug.com/77625 TEST=none Review URL: http://codereview.chromium.org/7274024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Apr, 2011 1 commit
-
-
vitalyr@chromium.org authored
Whether it's enabled or not must not change while we're running. Let's not waste time recomputing it. This also makes the VM state tracking code slightly more lightweight. Review URL: http://codereview.chromium.org/6825054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Apr, 2011 1 commit
-
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6826026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Mar, 2011 3 commits
-
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6685088 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Mar, 2011 1 commit
-
-
fschneider@chromium.org authored
It avoids strange performance behavior where hot functions do not get optimized if there is no GC to promote them, and it does not seem to hurt us otherwise. Review URL: http://codereview.chromium.org/6594073 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Dec, 2010 1 commit
-
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Nov, 2010 1 commit
-
-
ager@chromium.org authored
Remove extensions from the external reference table. They should never be part of the serialized code. Create extensions/experimental subdirectory for experimental extensions not officially supported by V8. Review URL: http://codereview.chromium.org/5094003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Jun, 2010 1 commit
-
-
erik.corry@gmail.com authored
Improve code generation for known smis and suspected Smis. Review URL: http://codereview.chromium.org/2452002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-