- 27 Feb, 2015 1 commit
-
-
loislo authored
Save Unknown position as zero in RelocInfo. Remove copy constructor of SourcePosition because it is trivial. Mechanical replace int raw_position with SourcePosition position. BUG=452067 LOG=n Review URL: https://codereview.chromium.org/959203002 Cr-Commit-Position: refs/heads/master@{#26916}
-
- 20 Feb, 2015 2 commits
-
-
loislo authored
Mechanical change. This will break dependency between profiler-generator and heap-profiler-generator. Later this will help us to reuse SourcePosition in cpu-profiler. BUG=452067 LOG=n Review URL: https://codereview.chromium.org/945873002 Cr-Commit-Position: refs/heads/master@{#26780}
-
loislo authored
We accessed to cpu_profiler for tracking SharedFunctionInfo objects movements and used their addresses for generating function_id. Actually we could replace the manually generated shared_id by the pair script_id + position. In this case we can drop SharedFunctionInfo events support from cpu_profiler and remove the dependency. BTW GetCallUid was used as an unique identifier of the function on the front-end side. Actually it is a hash which might not be unique. So I renamed GetCallUid with GetHash and implemented GetFunctionId method. BUG=452067 LOG=n Review URL: https://codereview.chromium.org/941973002 Cr-Commit-Position: refs/heads/master@{#26775}
-
- 12 Feb, 2015 3 commits
-
-
loislo authored
1) create beefy RelocInfo table when cpu profiler is active, so if a function was optimized when profiler was active RelocInfo would get separate DeoptInfo for the each deopt case. 2) push DeoptInfo from CodeEntry to ProfileNode. When deopt happens we put the info collected on #1 into CodeEntry and record stack sample. On the sampling thread we grab the deopt data and append it to the corresponding ProfileNode deopts list. Sample profile dump. [Top down]: 0 (root) 0 #1 1 29 #2 1 test 29 #3 2 opt_function 29 #4 2 opt_function 29 #5 deopted at 118 with reason 'not a heap number' deopted at 137 with reason 'division by zero' BUG=452067 LOG=n Committed: https://crrev.com/ce8701b247d3c6604f24f17a90c02d17b4417f54 Cr-Commit-Position: refs/heads/master@{#26615} Review URL: https://codereview.chromium.org/919953002 Cr-Commit-Position: refs/heads/master@{#26630}
-
loislo authored
Revert of CPUProfiler: Push deopt reason further to ProfileNode. (patchset #1 id:1 of https://codereview.chromium.org/919953002/) Reason for revert: static initializers broke the build Original issue's description: > CPUProfiler: Push deopt reason further to ProfileNode. > > 1) create beefy RelocInfo table when cpu profiler is active, so if a function > was optimized when profiler was active RelocInfo would get separate DeoptInfo > for the each deopt case. > > 2) push DeoptInfo from CodeEntry to ProfileNode. > When deopt happens we put the info collected on #1 into CodeEntry and record stack sample. > On the sampling thread we grab the deopt data and append it to the corresponding ProfileNode deopts list. > > Sample profile dump. > [Top down]: > 0 (root) 0 #1 > 1 29 #2 > 5 test 29 #3 > 3 opt_function 29 #4 > deopted at 52 with reason 'not a heap number' > deopted at 71 with reason 'division by zero' > > BUG=452067 > LOG=n > > Committed: https://crrev.com/ce8701b247d3c6604f24f17a90c02d17b4417f54 > Cr-Commit-Position: refs/heads/master@{#26615} TBR=jarin@chromium.org,svenpanne@chromium.org,yurys@chromium.org,alph@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=452067 Review URL: https://codereview.chromium.org/915173005 Cr-Commit-Position: refs/heads/master@{#26616}
-
loislo authored
1) create beefy RelocInfo table when cpu profiler is active, so if a function was optimized when profiler was active RelocInfo would get separate DeoptInfo for the each deopt case. 2) push DeoptInfo from CodeEntry to ProfileNode. When deopt happens we put the info collected on #1 into CodeEntry and record stack sample. On the sampling thread we grab the deopt data and append it to the corresponding ProfileNode deopts list. Sample profile dump. [Top down]: 0 (root) 0 #1 1 29 #2 5 test 29 #3 3 opt_function 29 #4 deopted at 52 with reason 'not a heap number' deopted at 71 with reason 'division by zero' BUG=452067 LOG=n Review URL: https://codereview.chromium.org/919953002 Cr-Commit-Position: refs/heads/master@{#26615}
-
- 11 Feb, 2015 1 commit
-
-
loislo authored
BUG= LOG=n Review URL: https://codereview.chromium.org/907353003 Cr-Commit-Position: refs/heads/master@{#26565}
-
- 10 Feb, 2015 1 commit
-
-
loislo authored
1) Deoptimizer::Reason was replaced with Deoptimizer::DeoptInfo because it also has raw position. Also the old name clashes with DeoptReason enum. 2) c_entry_fp assignment call was added to EntryGenerator::Generate So we can calculate sp and have a chance to record the stack for the deopting function. btw it makes the test stable. 3) new kind of CodeEvents was added to cpu-profiler 4) GetDeoptInfo method was extracted from PrintDeoptLocation. So it could be reused in cpu profiler. BUG=452067 LOG=n Review URL: https://codereview.chromium.org/910773002 Cr-Commit-Position: refs/heads/master@{#26545}
-
- 06 Nov, 2014 1 commit
-
-
svenpanne@chromium.org authored
The idea behind of this solution is to use the existing "relocation info" instead of consumption the CodeLinePosition events emitted by the V8 compilers. During generation code and relocation info are generated simultaneously. When code generation is done you each code object has associated "relocation info". Relocation information lets V8 to mark interesting places in the generated code: the pointers that might need to be relocated (after garbage collection), correspondences between the machine program counter and source locations for stack walking. This patch: 1. Add more source positions info in reloc info to make it suitable for source level mapping. The amount of data should not be increased dramatically because (1) V8 already marks interesting places in the generated code and (2) V8 does not write redundant information (it writes a pair (pc_offset, pos) only if pos is changed and skips other). I measured it on Octane benchmark - for unoptimized code the number of source positions may achieve 2x ('lin_solve' from NavierStokes benchmark). 2. When a sample happens, CPU profiler finds a code object by pc, then use its reloc info to match the sample to a source line. If a source line is found that hit counter is increased by one for this line. 3. Add a new public V8 API to get the hit source lines by CDT CPU profiler. Note that it's expected a minor patch in Blink to pack the source level info in JSON to be shown. 4.Add a test that checks how the samples are distributed through source lines. It tests two cases: (1) relocation info created during code generation and (2) relocation info associated with precompiled function's version. Patch from Denis Pravdin <denis.pravdin@intel.com>; R=svenpanne@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/682143003 Patch from Weiliang <weiliang.lin@intel.com>. Cr-Commit-Position: refs/heads/master@{#25182} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Nov, 2014 1 commit
-
-
jkummerow@chromium.org authored
Shave this yak from orbit, it's the only way to be sure. BUG=chromium:427616 LOG=n R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/700963002 Cr-Commit-Position: refs/heads/master@{#25148} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Oct, 2014 2 commits
-
-
yurys@chromium.org authored
Revert of Extend CPU profiler with mapping ticks to source lines (patchset #3 id:40001 of https://codereview.chromium.org/616963005/) Reason for revert: It broke layout test fast/events/window-onerror-02.html, error column reported by window.onerror is now wrong (I believe it is because of the change in full-codegen): http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/652 Original issue's description: > Extend CPU profiler with mapping ticks to source lines > > The idea behind of this solution is to use the existing "relocation info" instead of consumption the CodeLinePosition events emitted by the V8 compilers. > During generation code and relocation info are generated simultaneously. > When code generation is done you each code object has associated "relocation info". > Relocation information lets V8 to mark interesting places in the generated code: the pointers that might need to be relocated (after garbage collection), > correspondences between the machine program counter and source locations for stack walking. > > This patch: > 1. Add more source positions info in reloc info to make it suitable for source level mapping. > The amount of data should not be increased dramatically because (1) V8 already marks interesting places in the generated code and > (2) V8 does not write redundant information (it writes a pair (pc_offset, pos) only if pos is changed and skips other). > I measured it on Octane benchmark - for unoptimized code the number of source positions may achieve 2x ('lin_solve' from NavierStokes benchmark). > > 2. When a sample happens, CPU profiler finds a code object by pc, then use its reloc info to match the sample to a source line. > If a source line is found that hit counter is increased by one for this line. > > 3. Add a new public V8 API to get the hit source lines by CDT CPU profiler. > Note that it's expected a minor patch in Blink to pack the source level info in JSON to be shown. > > 4.Add a test that checks how the samples are distributed through source lines. > It tests two cases: (1) relocation info created during code generation and (2) relocation info associated with precompiled function's version. > > Patch from Denis Pravdin <denis.pravdin@intel.com> > BUG=None > LOG=Y > R=svenpanne@chromium.org > > Committed: https://code.google.com/p/v8/source/detail?r=24389 TBR=svenpanne@chromium.org,danno@chromium.org,alph@chromium.org,denis.pravdin@intel.com,weiliang.lin@intel.com BUG=None LOG=N Review URL: https://codereview.chromium.org/624443005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
The idea behind of this solution is to use the existing "relocation info" instead of consumption the CodeLinePosition events emitted by the V8 compilers. During generation code and relocation info are generated simultaneously. When code generation is done you each code object has associated "relocation info". Relocation information lets V8 to mark interesting places in the generated code: the pointers that might need to be relocated (after garbage collection), correspondences between the machine program counter and source locations for stack walking. This patch: 1. Add more source positions info in reloc info to make it suitable for source level mapping. The amount of data should not be increased dramatically because (1) V8 already marks interesting places in the generated code and (2) V8 does not write redundant information (it writes a pair (pc_offset, pos) only if pos is changed and skips other). I measured it on Octane benchmark - for unoptimized code the number of source positions may achieve 2x ('lin_solve' from NavierStokes benchmark). 2. When a sample happens, CPU profiler finds a code object by pc, then use its reloc info to match the sample to a source line. If a source line is found that hit counter is increased by one for this line. 3. Add a new public V8 API to get the hit source lines by CDT CPU profiler. Note that it's expected a minor patch in Blink to pack the source level info in JSON to be shown. 4.Add a test that checks how the samples are distributed through source lines. It tests two cases: (1) relocation info created during code generation and (2) relocation info associated with precompiled function's version. Patch from Denis Pravdin <denis.pravdin@intel.com> BUG=None LOG=Y R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/616963005 Patch from Denis Pravdin <denis.pravdin@intel.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Aug, 2014 1 commit
-
-
alph@chromium.org authored
R=yangguo@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/425223004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 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
-
- 20 Jun, 2014 1 commit
-
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/333013002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894 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
-
- 25 Apr, 2014 1 commit
-
-
alph@chromium.org authored
BUG=363976 LOG=Y R=bmeurer@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/259803002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Apr, 2014 1 commit
-
-
alph@chromium.org authored
LOG=N BUG=363976 R=bmeurer@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/243033002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Dec, 2013 1 commit
-
-
yurys@chromium.org authored
All methods for accessing collected profiles by index are deprecated. The indexed storage may well be implemented by the embedder should he need it. CpuProfiler's responsibility is just to create CpuProfile object that contains all collected data and whose lifetime can be managed by the embedder. BUG=chromium:327298 LOG=Y R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/117353002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Oct, 2013 1 commit
-
-
yurys@chromium.org authored
Otherwise the string passed as const char* may be disposed and we will end up with a dangling pointer. Also changed StringsStorage::GetCopy so that a copy is not created if the string is already in the cache. BUG=None R=alph@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/27627006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Oct, 2013 1 commit
-
-
yurys@chromium.org authored
* Removed unused CodeEntry::CopyData * Removed unnecessary INLINE macros BUG=None R=loislo@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/25382003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Oct, 2013 1 commit
-
-
yurys@chromium.org authored
CpuProfileNode currently exposes only line number which is not enough for the cases when there is more than one function on the same line. This change exposes column number on CpuProfileNode. BUG=302537 R=jkummerow@chromium.org, loislo@chromium.org Review URL: https://codereview.chromium.org/25541003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Sep, 2013 1 commit
-
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/23468021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Sep, 2013 1 commit
-
-
loislo@chromium.org authored
Current v8 implementation may disable optimization for a particular function or block it with help of dont_optimize flag. The patch propagates the reason of that to the SharedFunctionInfo where cpu profiler can get it. SharedFunctionInfo is a heap object so I extracted 8 bits from OptsCount for handling bailout reason code. BUG=none TEST=test-profile-generator/BailoutReason R=yangguo@chromium.org Review URL: https://codereview.chromium.org/23817003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Sep, 2013 1 commit
-
-
bmeurer@chromium.org authored
Drop the previous Semaphore class from platform files. Add new Semaphore class using the new TimeDelta class for the WaitFor() operation. Consistently assert correct behaviour for the different implementations. Improve test coverage of the Semaphore class. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/23748003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Aug, 2013 1 commit
-
-
bmeurer@chromium.org authored
These classes are meant to replace OS::Ticks() and OS::TimeCurrentMillis(), which are broken in several ways. The ElapsedTimer class implements a stopwatch using TimeTicks::HighResNow() for high resolution, monotonic timing. Also fix the CpuProfile::GetStartTime() and CpuProfile::GetEndTime() methods to actually return the time relative to the unix epoch as stated in the documentation (previously that was relative to some arbitrary point in time, i.e. boot time). The previous Windows issues have been resolved, and we now use GetTickCount64() on Windows Vista and later, falling back to timeGetTime() with rollover protection for earlier Windows versions. BUG=v8:2853 R=machenbach@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/23490015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Aug, 2013 6 commits
-
-
bmeurer@chromium.org authored
Revert "Cross-compiling from Linux to Android requires -lrt for the host toolset.", "Fix Visual Studio debug build after r16398." and "Reland "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class."" This reverts commit r16398, r16399 and r16402 for breaking the Windows WebKit tests. Will reland fix which doesn't use High Resolution Timer for ElapsedTimer (we suspect QueryPerformanceCounter overhead is responsible for test breakage). TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/23710002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
These classes are meant to replace OS::Ticks() and OS::TimeCurrentMillis(), which are broken in several ways. The ElapsedTimer class implements a stopwatch using TimeTicks::HighResNow() for high resolution, monotonic timing. Also fix the CpuProfile::GetStartTime() and CpuProfile::GetEndTime() methods to actually return the time relative to the unix epoch as stated in the documentation (previously that was relative to some arbitrary point in time, i.e. boot time). BUG=v8:2853 R=machenbach@chromium.org Review URL: https://codereview.chromium.org/23469013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
This reverts commit r16390 for breaking the Windows build. Will reland fixed version, which also uses the platform/ folder instead of time/ folder as per offline discussion. TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/23690003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
These classes are meant to replace OS::Ticks() and OS::TimeCurrentMillis(), which are broken in several ways. The ElapsedTimer class implements a stopwatch using TimeTicks::HighResNow() for high resolution, monotonic timing. Also fix the CpuProfile::GetStartTime() and CpuProfile::GetEndTime() methods to actually return the time relative to the unix epoch as stated in the documentation (previously that was relative to some arbitrary point in time, i.e. boot time). BUG=v8:2853 R=machenbach@chromium.org, yurys@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=16388 Review URL: https://codereview.chromium.org/23295034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
This reverts commit r16388 for breaking build due to merge typo, will reland with typo fixed. TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/23698002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
These classes are meant to replace OS::Ticks() and OS::TimeCurrentMillis(), which are broken in several ways. The ElapsedTimer class implements a stopwatch using TimeTicks::HighResNow() for high resolution, monotonic timing. Also fix the CpuProfile::GetStartTime() and CpuProfile::GetEndTime() methods to actually return the time relative to the unix epoch as stated in the documentation (previously that was relative to some arbitrary point in time, i.e. boot time). BUG=v8:2853 R=machenbach@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/23295034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Aug, 2013 1 commit
-
-
yurys@chromium.org authored
GetTotalTime, GetSelfTime and GetTotalSamplesCount were deprecated in 3.20 (https://code.google.com/p/v8/source/browse/branches/3.20/include/v8-profiler.h) and can be safely removed. BUG=None R=bmeurer@chromium.org, loislo@chromium.org Review URL: https://codereview.chromium.org/23554002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Aug, 2013 1 commit
-
-
yurys@chromium.org authored
This change provides an API for the embedder to tell CPU profiler if it is idle or busy with some task. This way we can discriminate between idle time and some native code execution. BUG=268947 R=alph@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/22412003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Aug, 2013 1 commit
-
-
yurys@chromium.org authored
The start and end time are now measured in microseconds and the type is int64_t. This way it seems more natural as we are going to support submilisecond sampling rate soon. Also it fixes cctest/test-cpu-profiler/ProfileStartEndTime test failure caused by comparison between long double and double. TEST=cctest/test-cpu-profiler/ProfileStartEndTime BUG=v8:2824 R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/22155003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Aug, 2013 3 commits
-
-
bmeurer@chromium.org authored
This reverts r16049 for breaking build on windows. TBR=svenpanne@chromium.org,machenbach@chromium.org Review URL: https://codereview.chromium.org/22189002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
The start and end time are now measured in microseconds and the type is int64_t. This way it seems more natural as we are going to support submilisecond sampling rate soon. Also it fixes cctest/test-cpu-profiler/ProfileStartEndTime test failure caused by comparison between long double and double. TEST=cctest/test-cpu-profiler/ProfileStartEndTime BUG=v8:2824 R=alph@chromium.org, bmeurer@chromium.org Review URL: https://codereview.chromium.org/22172002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
I'm going to change CPU profiler API and deprecate GetSelfTime, GetTotalTime and GetTotalSamplesCount on CpuProfileNode as all of those values are derived from self samples count and sampling rate. The sampling rate in turn is calculate based on the profiling duration so having start/end time and total sample count is enough for calculating smpling rate. BUG=267595 R=alph@chromium.org, bmeurer@chromium.org Review URL: https://codereview.chromium.org/21918002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jul, 2013 1 commit
-
-
yurys@chromium.org authored
Sampling rate is now calculated as total number of samples divided by profiling time in ms. Before the patch the sampling rate was updated once per 100ms which doesn't have any obvious advantage over the simpler method. Also we are going to get rid of the profile node self and total time calculation in the v8 CPU profiler and only expose profiling start/end time for CpuProfile and number of ticks on each ProfileNode and let clients do all the math should they need it. BUG=None R=bmeurer@chromium.org, loislo@chromium.org Review URL: https://codereview.chromium.org/21105003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-