- 29 Aug, 2013 2 commits
-
-
yurys@chromium.org authored
This change removes --prof-lazy command line flag that was introduced for the old CPU profiler implementation in Chrome DevTools. DevTools now use profiler API defined in v8-profiler.h This change also removes methods for pausing resuming --prof profiler. These methods were deprecated in v.3.20 (https://code.google.com/p/v8/source/browse/branches/3.20/include/v8.h#4629) After this change the profiler will always start if --prof option is passed and can be stopped either in the tests or if write to log file fails. BUG=None R=bmeurer@chromium.org, loislo@chromium.org Review URL: https://codereview.chromium.org/23478010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16417 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). 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
-
- 23 Aug, 2013 1 commit
-
-
jkummerow@chromium.org authored
Added a console parameter for source map to the tick processor. The tickprocesspor reads in the source maps and uses it to output the original filename, line number and column in the profile. Modified d8 to output column numbers into the log, since this is needed to do source mapping. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/22897021 Patch from Daniel Kurka <dankurka@google.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Aug, 2013 1 commit
-
-
yangguo@chromium.org authored
Also introduced macros for flag aliases for temporary backwards compatibility. R=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/23014007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16280 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
-
- 26 Jul, 2013 1 commit
-
-
loislo@chromium.org authored
New abstract class CodeEventListener was created. CodeEventLogger which is the base class for Jit, LowLevel and CodeAddressMap loggers was inherited from CodeEventListener. CodeAddressMap class was moved to serializer.cc because serializer is the only user for it. Actually it collects code names and pushes them to the standard log as SnapshotCodeNameEvent. So I extracted this code into separate function CodeNameEvent. It happens that this method works only when Serializer serializes an object. So I added direct log call there. CodeEventLogger class declaration was moved to the header because CodeAddressMap needs it. The code for the nested class CodeEventLogger::NameBuffer was left in the cc file. CpuProfiler now is inherit CodeEventListener but not used the loggers infrastructure yet due to the complex initialization schema. I'd like to fix that in a separate cl. BUG=none TEST=current test set. R=yangguo@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/19724007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Jul, 2013 2 commits
-
-
loislo@chromium.org authored
No logic changes. BUG=none TEST=current test set TBR=yurys@chromium.org Review URL: https://codereview.chromium.org/19724004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
loislo@chromium.org authored
The idea is to extract all the CodeEvent loggers into separate classes make an interface for code events and put them into a listeners array. I extracted code that works with name_buffer into a separate base class CodeEventLogger. And made JitLogger, LowLevelLogger and new CodeMap its descendants. As a side effect I converted NameBuffer into nested class of CodeEventLogger and converted NameMap into nested class of CodeMap. BUG=260203 R=yangguo@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/19795002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Jul, 2013 2 commits
-
-
loislo@chromium.org authored
LogMessageBuilder is a helper class for Log. So I made it a nested class and removed the dependency from Logger. BUG=none TEST=no changes in the logic R=yangguo@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/19768003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
loislo@chromium.org authored
Second patch from the set. BUG=260203 TEST=logic wasn't changed R=yangguo@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/19761003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Jul, 2013 1 commit
-
-
loislo@chromium.org authored
four or even five different logging destinations. I think we can extract the code related to a destination into a separate class, do the same for the all destinations and have four classes with more or less simple common logging API BUG=none Meta-bug= https://code.google.com/p/chromium/issues/detail?id=260203 R=yangguo@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/18259024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jul, 2013 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org BUG= Review URL: https://codereview.chromium.org/17599007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jun, 2013 2 commits
-
-
loislo@chromium.org authored
We have 5 overloaded functions with name CreateCodeEvent. All these functions have many common parts. I'd like to eliminate the difference between them. TEST=existing tests R=yangguo@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/16901014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
loislo@chromium.org authored
This is the next patch on the way of simplifying profiler API. It is extracting the common parts of the serialization process. TEST=current test set R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/16917008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 May, 2013 1 commit
-
-
yurys@chromium.org authored
Stack iterator takes return address based on the frame pointer (ebp) and detects JS frames based on value at fp + StandardFrameConstants::kMarkerOffset. So in order the iterator to work correctly this values should be already setup for the current function. Stack frame is constructed at the very beginning of JS function code and destroyed before return. If sample is taken before before the frame construction is completed or after it was destroyed the stack iterator will wrongly think that FP points at the current functions frame base and will skip callers frame. To avoid this we mark code ranges where stack frame doesn't exist and completely ignore such samples. This fixes cctest/test-cpu-profiler/CollectCpuProfile flakiness. BUG=v8:2628 R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/14253015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Apr, 2013 1 commit
-
-
yangguo@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/14139033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Apr, 2013 2 commits
-
-
yurys@chromium.org authored
Apart from tests Sampler is the only client of StackTracer so it is logical to move it into sampler.h BUG=None Review URL: https://codereview.chromium.org/14208012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
The registry is a simple list of active Samplers but uses additional Mutex. Useful parts were merged into SamplerThread, others removed completely. BUG=None Review URL: https://codereview.chromium.org/14293009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Apr, 2013 1 commit
-
-
yurys@chromium.org authored
Also OS::Sleep(interval_) is used to pause sampling thread on all platforms. It makes no sense to send signal once 900mks to compensate 100mks delay on signal delivery as the signals would be delivered once 900mks. BUG=None Review URL: https://codereview.chromium.org/14238007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Apr, 2013 2 commits
-
-
yurys@chromium.org authored
Use already saved isolate pointer and avoid TLS lookup when retrieving Logger instance BUG=None Review URL: https://codereview.chromium.org/13529004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
Crankshaft doesn't depend on the sampler thread any more. No need to start the that thread for Crankshaft. BUG=v8:2609 Review URL: https://codereview.chromium.org/13526003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Apr, 2013 1 commit
-
-
yurys@chromium.org authored
Relanding r14006 and r14009 that were reverted in r14031 TBR=danno BUG=None Review URL: https://codereview.chromium.org/13460002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Mar, 2013 1 commit
-
-
danno@chromium.org authored
Revert "Allow recording individual samples in addition to the aggregated CPU profiles" Revert "Isolatify CPU profiler" Revert "Isolatify HeapProfiler" Revert "Deprecate HeapSnapshot type" Revert "Isolatify CPU profiler public API" Revert "MSVS compilation fix after r14006" Revert "Add methods to allow resuming execution after calling TerminateExecution()." R=jkummerow@chromium.org,mstarzinger@chromium.org Review URL: https://codereview.chromium.org/12475016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Mar, 2013 1 commit
-
-
yurys@chromium.org authored
BUG=None Review URL: https://codereview.chromium.org/12931004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Mar, 2013 1 commit
-
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/12781004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Mar, 2013 2 commits
-
-
rossberg@chromium.org authored
Since symbols and strings share a common representation, most of this change is about consistently replacing 'String' with 'Name' in all places where property names are expected. In particular, no new logic at all is necessary for maps, property dictionaries, or transitions. :) The only places where an actual case distinction is needed have to do with generated type checks, and with conversions of names to strings (especially in logger and profiler). Left in some TODOs wrt to the API: interceptors and native getters don't accept symbols as property names yet, because that would require extending the external v8.h. (Baseline CL: https://codereview.chromium.org/12296026/) R=verwaest@chromium.org,mstarzinger@chromium.org BUG=v8:2158 Review URL: https://codereview.chromium.org/12330012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/12340112 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Feb, 2013 1 commit
-
-
danno@chromium.org authored
This includes: * adding the CODE_ADD_LINE_POS_INFO, CODE_START_LINE_INFO_RECORDING, CODE_END_LINE_INFO_RECORDING event and the corresponding functionality. * adding the JITCodeLineInfo struct to record the code line info. I added this definition because Danno mentioned that "we'd like to cleanup and decouple the external debugging functionality" * some other small changes. Review URL: https://chromiumcodereview.appspot.com/12223027 Patch from Chunyang Dai <chunyang.dai@intel.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Feb, 2013 1 commit
-
-
svenpanne@chromium.org authored
Improved Frames and their iterators on the way, too. BUG=v8:2487 Review URL: https://codereview.chromium.org/12254007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Jan, 2013 1 commit
-
-
yangguo@chromium.org authored
R=haraken@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/12040075 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Jan, 2013 1 commit
-
-
verwaest@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/11794045 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Dec, 2012 1 commit
-
-
svenpanne@chromium.org authored
Review URL: https://codereview.chromium.org/11441034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Dec, 2012 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/11348298 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Nov, 2012 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/11411224 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-