- 30 May, 2017 1 commit
-
-
ulan authored
This is consistent with C++ memory model and avoids confusion with GC write barrier. BUG= Review-Url: https://codereview.chromium.org/2912773002 Cr-Commit-Position: refs/heads/master@{#45584}
-
- 17 Mar, 2017 1 commit
-
-
jgruber authored
Default to the chromium-internal build config (instead of the more permissive no_chromium_code config). BUG=v8:5878 Review-Url: https://codereview.chromium.org/2758563002 Cr-Commit-Position: refs/heads/master@{#43909}
-
- 08 Jul, 2016 1 commit
-
-
lpy authored
BUG= Review-Url: https://codereview.chromium.org/2125023004 Cr-Commit-Position: refs/heads/master@{#37599}
-
- 26 May, 2016 1 commit
-
-
lpy authored
This patch does five things: 1. Extracts sampler as libsampler to provide sampling functionality support. 2. Makes SampleStack virtual so embedders can override the behaviour of sample collecting. 3. Removes sampler.[h|cc]. 4. Moves sampling thread into log.cc as workaround to keep the --prof functionality. 5. Creates SamplerManager to manage the relationship between samplers and threads. The reason we port hashmap.h is that in debug mode, STL containers are using mutexes from a mutex pool, which may lead to deadlock when using asynchronously signal handler. Currently libsampler is used in V8 temporarily. BUG=v8:4789 LOG=n Committed: https://crrev.com/06cc9b7c176a6223971deaa9fbcafe1a05058c7b Cr-Commit-Position: refs/heads/master@{#36527} Review-Url: https://codereview.chromium.org/1922303002 Cr-Commit-Position: refs/heads/master@{#36532}
-
- 25 May, 2016 2 commits
-
-
lpy authored
Revert of Create libsampler as V8 sampler library. (patchset #24 id:460001 of https://codereview.chromium.org/1922303002/ ) Reason for revert: V8 Linux64 TSAN failure because ThreadSanitizer indicated data race. Original issue's description: > Create libsampler as V8 sampler library. > > This patch does five things: > > 1. Extracts sampler as libsampler to provide sampling functionality support. > 2. Makes SampleStack virtual so embedders can override the behaviour of sample collecting. > 3. Removes sampler.[h|cc]. > 4. Moves sampling thread into log.cc as workaround to keep the --prof functionality. > 5. Creates SamplerManager to manage the relationship between samplers and threads. > > The reason we port hashmap.h is that in debug mode, STL containers are using > mutexes from a mutex pool, which may lead to deadlock when using asynchronously > signal handler. > > Currently libsampler is used in V8 temporarily. > > BUG=v8:4789 > LOG=n > > Committed: https://crrev.com/06cc9b7c176a6223971deaa9fbcafe1a05058c7b > Cr-Commit-Position: refs/heads/master@{#36527} TBR=jochen@chromium.org,alph@chromium.org,fmeawad@chromium.org,yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4789 Review-Url: https://codereview.chromium.org/2000323007 Cr-Commit-Position: refs/heads/master@{#36529}
-
lpy authored
This patch does five things: 1. Extracts sampler as libsampler to provide sampling functionality support. 2. Makes SampleStack virtual so embedders can override the behaviour of sample collecting. 3. Removes sampler.[h|cc]. 4. Moves sampling thread into log.cc as workaround to keep the --prof functionality. 5. Creates SamplerManager to manage the relationship between samplers and threads. The reason we port hashmap.h is that in debug mode, STL containers are using mutexes from a mutex pool, which may lead to deadlock when using asynchronously signal handler. Currently libsampler is used in V8 temporarily. BUG=v8:4789 LOG=n Review-Url: https://codereview.chromium.org/1922303002 Cr-Commit-Position: refs/heads/master@{#36527}
-
- 17 May, 2016 1 commit
-
-
lpy authored
Since we are going to move Sampler as library, we creates tick-sample.[h|cc] for TickSample, in order to maintain legacy code. BUG=v8:4994 LOG=n Review-Url: https://codereview.chromium.org/1952393002 Cr-Commit-Position: refs/heads/master@{#36267}
-
- 02 May, 2016 1 commit
-
-
lpy authored
Currently GetStackSample doesn't support simulator, thus sampler is aware of simulator, but since we are moving it out, it shouldn't have knowledge of simulator. This patch moves the logic using simulator accessible to Isolate::GetStackSample, so that it supports simulator. BUG=v8:4956 LOG=n Review-Url: https://codereview.chromium.org/1926863003 Cr-Commit-Position: refs/heads/master@{#35944}
-
- 22 Apr, 2016 1 commit
-
-
lpy authored
Currently we are using UnsafeCurrent in async signal handler to acquire the isolate of VM thread, but we want to get rid of that since it prevents V8 from being thread agnostic. This patch replaces UnsafeCurrent with a static map, where we store a map of samplers for threads, and makes it accessible by signal handler. BUG=v8:4889 LOG=n Review URL: https://codereview.chromium.org/1900473002 Cr-Commit-Position: refs/heads/master@{#35722}
-
- 16 Apr, 2016 1 commit
-
-
machenbach authored
Revert of Get rid of UnsafeCurrent in Sampler (patchset #12 id:220001 of https://codereview.chromium.org/1858143003/ ) Reason for revert: [Sheriff] Breaks tsan: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/8999 Original issue's description: > Get rid of UnsafeCurrent in Sampler > > Currently we are using UnsafeCurrent in async signal handler to acquire the > isolate of VM thread, but we want to get rid of that since it prevents V8 from > being thread agnostic. > > This patch replaces UnsafeCurrent with a static map, where we store a map of > samplers for threads, and makes it accessible by signal handler. > > BUG=v8:4889 > LOG=n > > Committed: https://crrev.com/62fb4775fea0d56d8a175baf1d902213f6752168 > Cr-Commit-Position: refs/heads/master@{#35541} TBR=jochen@chromium.org,alph@chromium.org,fmeawad@chromium.org,yangguo@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:4889 Review URL: https://codereview.chromium.org/1897673002 Cr-Commit-Position: refs/heads/master@{#35545}
-
- 15 Apr, 2016 1 commit
-
-
lpy authored
Currently we are using UnsafeCurrent in async signal handler to acquire the isolate of VM thread, but we want to get rid of that since it prevents V8 from being thread agnostic. This patch replaces UnsafeCurrent with a static map, where we store a map of samplers for threads, and makes it accessible by signal handler. BUG=v8:4889 LOG=n Review URL: https://codereview.chromium.org/1858143003 Cr-Commit-Position: refs/heads/master@{#35541}
-
- 04 Mar, 2016 2 commits
-
-
mbrandy authored
For platforms that use function descriptors (currently AIX and PPC64BE), log an external callback's entrypoint address rather than its function descriptor address. R=jkummerow@chromium.org, michael_dawson@ca.ibm.com TEST=cctest/test-cpu-profiler/JsNativeJsSample BUG= Review URL: https://codereview.chromium.org/1752173003 Cr-Commit-Position: refs/heads/master@{#34505}
-
bradnelson authored
Frames entering of inside wasm don't have a function or context argument. Adding distinct wasm frame and function types to express this. Fixes a GC issue on several embenchen wasm tests, reenabling them. BUG= https://code.google.com/p/v8/issues/detail?id=4203 TEST=mjsunit/wasm/embenchen R=titzer@chromium.org,aseemgarg@chromium.org,jfb@chromium.org,yangguo@chromium.org LOG=N Review URL: https://codereview.chromium.org/1764603003 Cr-Commit-Position: refs/heads/master@{#34476}
-
- 12 Feb, 2016 1 commit
-
-
alph authored
Recent flake happened bacause all the samples landed into native code. The patch makes sure we collect enough JS samples. BUG=v8:4751 LOG=N Review URL: https://codereview.chromium.org/1695663002 Cr-Commit-Position: refs/heads/master@{#33953}
-
- 26 Jan, 2016 1 commit
-
-
alph authored
It allows embedder to inject a stack sample on demand. BUG=chromium:579191 LOG=N Review URL: https://codereview.chromium.org/1631043002 Cr-Commit-Position: refs/heads/master@{#33527}
-
- 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}
-
- 28 Sep, 2015 1 commit
-
-
alph authored
Drive-by: remove unnecessary includes. Review URL: https://codereview.chromium.org/1356223004 Cr-Commit-Position: refs/heads/master@{#30987}
-
- 13 Aug, 2015 1 commit
-
-
mstarzinger authored
This tries to remove includes of "-inl.h" headers from normal ".h" headers, thereby reducing the chance of any cyclic dependencies and decreasing the average size of our compilation units. Note that this change still leaves 5 violations of that rule in the code. It only tackles "node.h" including "types-inl.h". R=titzer@chromium.org Review URL: https://codereview.chromium.org/1288053004 Cr-Commit-Position: refs/heads/master@{#30161}
-
- 17 Oct, 2014 1 commit
-
-
jkummerow@chromium.org authored
R=loislo@chromium.org, yangguo@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/638633002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Sep, 2014 1 commit
-
-
alph@chromium.org authored
The patch is based on https://codereview.chromium.org/578163002/#ps20001 made by gholap@chromium.org LOG=N BUG=v8:3490 R=bmeurer@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/596533002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24285 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
-
- 24 Jun, 2014 1 commit
-
-
alph@chromium.org authored
LOG=N R=jkummerow@chromium.org, loislo@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/357443003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21986 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
-
- 26 May, 2014 3 commits
-
-
jochen@chromium.org authored
> BUG=none > R=mstarzinger@chromium.org > LOG=n > > Review URL: https://codereview.chromium.org/293363006 BUG=none TBR=mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/295373003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
Because of tree redness. TBR=jochen@chromium.org Review URL: https://codereview.chromium.org/306443002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
BUG=none R=mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/293363006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21482 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
-
- 29 Aug, 2013 1 commit
-
-
yurys@chromium.org authored
Now that CpuProfiler sends does sampling on the profile event processing thread there is no need to launch sampler thread. The latter is used only for --prof profiler. BUG=v8:2814 R=bmeurer@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/23011029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Aug, 2013 1 commit
-
-
yurys@chromium.org authored
New flag is added that allows to specify CPU profiler sampling rate in microseconds as command line argument. It was tested to work fine with 100us interval(currently it is 1ms). Default values are kept the same as in the current implementation. The new implementation is enabled only on POSIX platforms which use signals to collect samples. Other platforms that pause thread being sampled are to follow. SIGPROF signals are now sent on the profiler event processor thread to make sure that the processing thread does fall far behind the sampling. The patch is based on the previous one that was rolled out in r13851. The main difference is that the circular queue is not modified for now. On Linux sampling for CPU profiler is initiated on the profiler event processor thread, other platforms to follow. CPU profiler continues to use SamplingCircularQueue, we will probably replace it with a single sample buffer when Mac and Win ports support profiling on the event processing thread. When --prof option is specified profiling is initiated either on the profiler event processor thread if CPU profiler is on or on the SignalSender thread as it used to be if no CPU profiles are being collected. ProfilerEventsProcessor::ProcessEventsAndDoSample now waits in a tight loop, processing collected samples until sampling interval expires. To save CPU resources I'm planning to change that to use nanosleep as only one sample is expected in the queue at any point. BUG=v8:2814 R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/21101002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16310 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Jul, 2013 1 commit
-
-
loislo@chromium.org authored
The tests sometimes fail on bots as they don't have time to collect enough samples. This change makes them use counter of samples taken when v8 is either in JS or EXTERNAL state and repeat sampling until desired threshold is reached. BUG=v8:2628 R=loislo@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/18418004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jul, 2013 3 commits
-
-
yurys@chromium.org authored
Their values are not used neither by the tick processor nor by CpuProfiler so it is just a waste of space. TickSample used to be a transport for grabbed register values to TickSample::Trace, now they are passed in a special structure RegisterState which is allocated on the stack for the sampling period. Some common pieces were moved from platform-dependent code into Sampler::SampleStack and TickSample::Init. BUG=None R=jkummerow@chromium.org, loislo@chromium.org Review URL: https://codereview.chromium.org/18620002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
This significantly reduces amount of files to be recompiled after changes in cpu-profiler.h and its dependencies. BUG=None R=loislo@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/18522004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
When pc is inside FunctionApply builtin function the top frame may be either 2) Internal stack frame created by FunctionApply itself. In this case we know its caller's pc and can correctly resolve calling function. 1) Frame of the calling JavaScript function that invoked .apply(). In this case we have no practical reliable way to find out the caller's pc so we mark the caller's frame as 'unresolved'. All this logic is implemented in ProfileGenerator. SafeStackFrameIterator is extended to provide type of the current top stack frame (iteration actually starts from the caller's frame as we know top function from pc). BUG=252097 R=jkummerow@chromium.org, loislo@chromium.org Review URL: https://codereview.chromium.org/18269003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Apr, 2013 1 commit
-
-
yurys@chromium.org authored
R=jkummerow BUG=v8:2642 Review URL: https://codereview.chromium.org/14367020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Apr, 2013 1 commit
-
-
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
-
- 15 Apr, 2013 1 commit
-
-
yurys@chromium.org authored
This is a first step to having profiler sampler implementation in one file with platform capabilities guarded with #ifdef. Otherwise we have very similar implementations scattered over platform-*.cc files which makes it hard to see differences and make changes. The next steps will be to merge win32, Mac OS X and Cygwin implementations into sampler.cc They suspend profiled thread instead of sending a signal but apart from that the logic is pretty much the same. Then I'm going to move sampler-related code from log.* into sampler.* BUG=None Review URL: https://codereview.chromium.org/13852005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-