- 12 Jul, 2016 1 commit
-
-
alph authored
BUG=v8:4789 Committed: https://crrev.com/c3a16f0a9f0976411ee25df627534be5f6955c32 Review-Url: https://codereview.chromium.org/2133533002 Cr-Original-Commit-Position: refs/heads/master@{#37618} Cr-Commit-Position: refs/heads/master@{#37660}
-
- 11 Jul, 2016 1 commit
-
-
machenbach authored
Revert "Move SimulatorHelper into V8 out of profiler clients." This reverts commit b8372411. Revert "Make use of v8::TickSample instead of v8::internal::TickSample in logger." This reverts commit c3a16f0a. Revert "Clean up SimulatorHelper code." This reverts commit 8ee236e1. BUG=v8:5193 TBR=alph@chromium.org, yangguo@chromium.org Review-Url: https://codereview.chromium.org/2138643003 Cr-Commit-Position: refs/heads/master@{#37626}
-
- 09 Jul, 2016 1 commit
-
-
alph authored
BUG=v8:4789 Review-Url: https://codereview.chromium.org/2133533002 Cr-Commit-Position: refs/heads/master@{#37618}
-
- 08 Jul, 2016 2 commits
-
-
alph authored
Clients should not know about the simulator. BUG=v8:4789 Review-Url: https://codereview.chromium.org/2128613004 Cr-Commit-Position: refs/heads/master@{#37617}
-
lpy authored
BUG= Review-Url: https://codereview.chromium.org/2125023004 Cr-Commit-Position: refs/heads/master@{#37599}
-
- 06 Jul, 2016 1 commit
-
-
lpy authored
We want to eventually move the profiling functionality out of V8 as library, this patch exposes TickSample and its APIs in v8-profiler.h so that when embedders use library, they can have more details. Minor change: Rename tick-sample.[h|cc] to simulator-helper.[h|cc]. BUG=v8:4789 LOG=N Review-Url: https://codereview.chromium.org/2105943002 Cr-Commit-Position: refs/heads/master@{#37564}
-
- 04 Jul, 2016 1 commit
-
-
lpy authored
Currently there are two logic in Ticker, one is to try to request a pre-allocated TickSample from CpuProfiler and then initialize it, and if the request fails, it will initialize a local TickSample. The other is it will pass an initialized TickSample to Profiler to log into v8.log. This patch splits Ticker into two samplers, the first one remains in log.cc to collect samples and pass to Profiler for logging, the second one will be called by ProfilerEventsProcessor, and only use the circular queue only. BUG=v8:4789 LOG=N Review-Url: https://codereview.chromium.org/2108393002 Cr-Commit-Position: refs/heads/master@{#37506}
-
- 30 Jun, 2016 1 commit
-
-
yangguo authored
R=jgruber@chromium.org BUG=v8:5117 Review-Url: https://codereview.chromium.org/2111793002 Cr-Commit-Position: refs/heads/master@{#37435}
-
- 28 Jun, 2016 1 commit
-
-
alph authored
The main fix is to mark stack memory the SafeStackFrameIterator accesses as initialied. Drive-by: Make sure we bail out when the simulator is in the process of updating FP/SP registers. BUG=v8:5156 Review-Url: https://codereview.chromium.org/2104763002 Cr-Commit-Position: refs/heads/master@{#37315}
-
- 23 Jun, 2016 1 commit
-
-
ssanfilippo authored
Since [1], Logger does not dispatch anymore to the other loggers. This is now the task of the CodeEventDispatcher, and Logger is just a client. One use of the Logger as dispatcher wasn't caught in the refactoring, which caused the entries for bytecode handlers loaded from the snapshot to be missing from the symbols mapping written by PerfBasicLogger. [1] https://crrev.com/9df23510eaa12eb5c298cf68a92e90c6e992855c BUG=v8:4899 LOG=N Review-Url: https://codereview.chromium.org/2085143003 Cr-Commit-Position: refs/heads/master@{#37224}
-
- 22 Jun, 2016 1 commit
-
-
lpy authored
Currently CpuProfiler is a subclass of CodeEventListener, it listens code events from Logger, constructs and stores CodeEventsContainer. This patch is part of the effort to split the logic of CodeEventListener as ProfilerListener out of the profiling functionality logic in CpuProfiler. A ProfilerListener will listen to code events, construct code event to CodeEventsContainer and pass it to code event handler. The reason we refactor CpuProfiler is that eventually we want to move CpuProfiler as part of sampler library and code event listener should stay inside V8. Main changes: 1. Refactored CpuProfiler into two parts, the CpuProfiler with profling functionality and the ProfilerListener listening to code events from Logger. 2. Created CodeEventObserver and made CpuProfiler inherit from it. ProfilerListener will have a list of observers and call CodeEventHandler once a code event is created. 3. Moved code entry list from CodeEntry to ProfilerListener. Minor changes: 1. Moved static code entry as part of CodeEntry. 2. Added ProfilerListener to Logger. BUG=v8:4789 Committed: https://crrev.com/cb59fc1facc9b390e2c7544b4da56a4e0a9b3222 Review-Url: https://codereview.chromium.org/2053523003 Cr-Original-Commit-Position: refs/heads/master@{#37112} Cr-Commit-Position: refs/heads/master@{#37195}
-
- 20 Jun, 2016 2 commits
-
-
lpy authored
Revert of Refactor CpuProfiler. (patchset #13 id:240001 of https://codereview.chromium.org/2053523003/ ) Reason for revert: MIPS compilation error. Original issue's description: > Refactor CpuProfiler. > > Currently CpuProfiler is a subclass of CodeEventListener, it listens code events > from Logger, constructs and stores CodeEventsContainer. This patch is part of > the effort to split the logic of CodeEventListener as ProfilerListener out of > the profiling functionality logic in CpuProfiler. A ProfilerListener will listen > to code events, construct code event to CodeEventsContainer and pass it to code > event handler. > > The reason we refactor CpuProfiler is that eventually we want to move > CpuProfiler as part of sampler library and code event listener should stay > inside V8. > > Main changes: > 1. Refactored CpuProfiler into two parts, the CpuProfiler with profling > functionality and the ProfilerListener listening to code events from Logger. > 2. Created CodeEventObserver and made CpuProfiler inherit from it. > ProfilerListener will have a list of observers and call CodeEventHandler once a > code event is created. > 3. Moved code entry list from CodeEntry to ProfilerListener. > > Minor changes: > 1. Moved static code entry as part of CodeEntry. > 2. Added ProfilerListener to Logger. > > BUG=v8:4789 > > Committed: https://crrev.com/cb59fc1facc9b390e2c7544b4da56a4e0a9b3222 > Cr-Commit-Position: refs/heads/master@{#37112} TBR=alph@chromium.org,jochen@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/2079273003 Cr-Commit-Position: refs/heads/master@{#37113}
-
lpy authored
Currently CpuProfiler is a subclass of CodeEventListener, it listens code events from Logger, constructs and stores CodeEventsContainer. This patch is part of the effort to split the logic of CodeEventListener as ProfilerListener out of the profiling functionality logic in CpuProfiler. A ProfilerListener will listen to code events, construct code event to CodeEventsContainer and pass it to code event handler. The reason we refactor CpuProfiler is that eventually we want to move CpuProfiler as part of sampler library and code event listener should stay inside V8. Main changes: 1. Refactored CpuProfiler into two parts, the CpuProfiler with profling functionality and the ProfilerListener listening to code events from Logger. 2. Created CodeEventObserver and made CpuProfiler inherit from it. ProfilerListener will have a list of observers and call CodeEventHandler once a code event is created. 3. Moved code entry list from CodeEntry to ProfilerListener. Minor changes: 1. Moved static code entry as part of CodeEntry. 2. Added ProfilerListener to Logger. BUG=v8:4789 Review-Url: https://codereview.chromium.org/2053523003 Cr-Commit-Position: refs/heads/master@{#37112}
-
- 15 Jun, 2016 1 commit
-
-
alph authored
The patch introduces a dedicated dispatching class for JIT code events. It is set as a helper on the isolate. This allows classes across v8 to break their dependency on Logger and CpuProfiler. These two became just regular clients of the dispatcher. BUG=v8:4789 Review-Url: https://codereview.chromium.org/2061623002 Cr-Commit-Position: refs/heads/master@{#37005}
-
- 14 Jun, 2016 2 commits
-
-
ishell authored
The former will handle loads of predeclared global variables (vars and functions), lets, consts and undeclared variables. The latter will handle named loads from explicit receiver. In addition, named loads does not depend of the TypeofMode. TypeofMode related cleanup will be done in the follow-up CL. BUG=chromium:576312 LOG=Y TBR=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1912633002 Cr-Commit-Position: refs/heads/master@{#36965}
-
cbruni authored
Reland of place all remaining Oddball checks with new function (patchset #1 id:1 of https://codereview.chromium.org/2060213002/ ) Reason for revert: Cannot reproduce gc-stress failures locally. Original issue's description: > Revert of Replace all remaining Oddball checks with new function (patchset #10 id:180001 of https://codereview.chromium.org/2043183003/ ) > > Reason for revert: > failing tests > > Original issue's description: > > Replace all remaining Oddball checks with new function > > > > This CL removes the IsUndefined() and Co. methods from Object and HeapObject. > > The new method all take the isolate as parameter. > > > > BUG= > > > > Committed: https://crrev.com/ccefb3ae5fe967288d568013fb04e8761eafebc5 > > Cr-Commit-Position: refs/heads/master@{#36921} > > TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org,ahaas@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG= > > Committed: https://crrev.com/33b8bc24a12fb062100c0be84456faeb0b9fa5d1 > Cr-Commit-Position: refs/heads/master@{#36923} TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org,ahaas@chromium.org BUG= Review-Url: https://codereview.chromium.org/2059173002 Cr-Commit-Position: refs/heads/master@{#36957}
-
- 13 Jun, 2016 2 commits
-
-
cbruni authored
Revert of Replace all remaining Oddball checks with new function (patchset #10 id:180001 of https://codereview.chromium.org/2043183003/ ) Reason for revert: failing tests Original issue's description: > Replace all remaining Oddball checks with new function > > This CL removes the IsUndefined() and Co. methods from Object and HeapObject. > The new method all take the isolate as parameter. > > BUG= > > Committed: https://crrev.com/ccefb3ae5fe967288d568013fb04e8761eafebc5 > Cr-Commit-Position: refs/heads/master@{#36921} TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org,ahaas@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review-Url: https://codereview.chromium.org/2060213002 Cr-Commit-Position: refs/heads/master@{#36923}
-
cbruni authored
This CL removes the IsUndefined() and Co. methods from Object and HeapObject. The new method all take the isolate as parameter. BUG= Review-Url: https://codereview.chromium.org/2043183003 Cr-Commit-Position: refs/heads/master@{#36921}
-
- 10 Jun, 2016 1 commit
-
-
cbruni authored
BUG= Review-Url: https://codereview.chromium.org/2050713002 Cr-Commit-Position: refs/heads/master@{#36883}
-
- 09 Jun, 2016 1 commit
-
-
alph authored
Move is_profiling to the isolate for now. BUG=v8:4789 Review-Url: https://codereview.chromium.org/2040683002 Cr-Commit-Position: refs/heads/master@{#36838}
-
- 07 Jun, 2016 1 commit
-
-
ofrobots authored
BUG=v8:5015 R=jarin@chromium.org,yangguo@chromium.org Review-Url: https://codereview.chromium.org/2041243002 Cr-Commit-Position: refs/heads/master@{#36788}
-
- 06 Jun, 2016 1 commit
-
-
cbruni authored
Passing in the isolate and pointer compare the instnance against the corresponding constant is always faster than decoding the instance types. BUG= Review-Url: https://codereview.chromium.org/2028983002 Cr-Commit-Position: refs/heads/master@{#36744}
-
- 31 May, 2016 2 commits
-
-
machenbach authored
Revert of [heap] Do not invoke GC to make heap iterable. (patchset #3 id:40001 of https://codereview.chromium.org/1992913004/ ) Reason for revert: [Sheriff] Speculative revert for some flakes on the waterfall: https://build.chromium.org/p/client.v8/builders/V8%20Mac%20-%20debug/builds/7409 https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20avx2/builds/7983 https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20internal%20snapshot/builds/4901 Original issue's description: > [heap] Do not invoke GC to make heap iterable. > > This reverts commit 0aa3707d. > > And removes the UnreachableObjectsFilter. > > BUG=chromium:580959 > LOG=n > > Committed: https://crrev.com/132f89800f560190b4d655adcb4e0eeedd17fd82 > Cr-Commit-Position: refs/heads/master@{#36617} TBR=yangguo@chromium.org,ulan@chromium.org,hpayer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:580959 Review-Url: https://codereview.chromium.org/2020363002 Cr-Commit-Position: refs/heads/master@{#36622}
-
hpayer authored
This reverts commit 0aa3707d. And removes the UnreachableObjectsFilter. BUG=chromium:580959 LOG=n Review-Url: https://codereview.chromium.org/1992913004 Cr-Commit-Position: refs/heads/master@{#36617}
-
- 26 May, 2016 2 commits
-
-
mythria authored
Adds an API to request the total size of code/bytecode and their associated metadata in the heap. When requested, the code_space, old_space and large_object_space is scanned to find any code/bytecode array objects. This could be slow and hence it should be used with caution. BUG=v8:5019 LOG=N Review-Url: https://codereview.chromium.org/1997363002 Cr-Commit-Position: refs/heads/master@{#36534}
-
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}
-
- 24 May, 2016 1 commit
-
-
machenbach authored
For cross-compiler-compatibility and standards compliance %p requires a void*, rather than any pointer type. BUG=chromium:474921 Review-Url: https://codereview.chromium.org/2001073002 Cr-Commit-Position: refs/heads/master@{#36466}
-
- 20 May, 2016 1 commit
-
-
ulan authored
Instead of dynamically creating semaphore for each page parallel job, we create one semaphore for MarkCompact and reuse it. This patch also removes all instrumentation code that was added to help with investigation. BUG=chromium:609249 LOG=NO Review-Url: https://codereview.chromium.org/1998213002 Cr-Commit-Position: refs/heads/master@{#36407}
-
- 18 May, 2016 2 commits
-
-
machenbach authored
Revert of [heap] Do not invoke GC to make heap iterable. (patchset #5 id:80001 of https://codereview.chromium.org/1961373003/ ) Reason for revert: Breaks https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/3551 Original issue's description: > [heap] Do not invoke GC to make heap iterable. > > Remove kMakeHeapIterableMask since the heap is always iterable. > > BUG=chromium:580959 > LOG=n > > Committed: https://crrev.com/7c1cac4888a248fda3fa6de3624f32a6babb37e9 > Cr-Commit-Position: refs/heads/master@{#36333} TBR=ulan@chromium.org,yangguo@chromium.org,hpayer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:580959 Review-Url: https://codereview.chromium.org/1987363002 Cr-Commit-Position: refs/heads/master@{#36335}
-
hpayer authored
Remove kMakeHeapIterableMask since the heap is always iterable. BUG=chromium:580959 LOG=n Review-Url: https://codereview.chromium.org/1961373003 Cr-Commit-Position: refs/heads/master@{#36333}
-
- 13 May, 2016 1 commit
-
-
mstarzinger authored
This completely removes any potential for a side-channel between the various compiler backends and the profiler. The CompilationInfo is no longer passed. R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/1970193002 Cr-Commit-Position: refs/heads/master@{#36230}
-
- 12 May, 2016 1 commit
-
-
oth authored
This change introduces a pipeline for the final stages of bytecode generation. The peephole optimizer is made distinct from the BytecodeArrayBuilder. A new BytecodeArrayWriter is responsible for writing bytecode. It also keeps track of the maximum register seen and offers a potentially smaller frame size. R=rmcilroy@chromium.org LOG=N BUG=v8:4280 Review-Url: https://codereview.chromium.org/1947403002 Cr-Commit-Position: refs/heads/master@{#36220}
-
- 09 May, 2016 1 commit
-
-
ulan authored
flaky crashes. BUG=chromium:609249 LOG=NO Review-Url: https://codereview.chromium.org/1961893002 Cr-Commit-Position: refs/heads/master@{#36106}
-
- 02 May, 2016 1 commit
-
-
fedor authored
When exporting `shared-library` in profile log, additionally export a slide offset. This is required to parse profile logs generated on systems with ASLR (OS X), otherwise it is impossible to assign C++ symbol names to their addresses in the log. See: https://github.com/nodejs/node/issues/6466 BUG= Review-Url: https://codereview.chromium.org/1934453003 Cr-Commit-Position: refs/heads/master@{#35921}
-
- 21 Apr, 2016 1 commit
-
-
mstarzinger authored
This removes the CompilationInfo argument from one of the logging functions where it is unused. The long-term goal is to not pass around the CompilationInfo at all. The assumption that the CompilationInfo is available is incompatible with serialized code, where compilation has happened during building time of V8 itself. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1901353003 Cr-Commit-Position: refs/heads/master@{#35705}
-
- 18 Apr, 2016 1 commit
-
-
ssanfilippo authored
Linux perf expects hex literals without a leading 0x, while some implementations of printf might prepend one when using the %p format for pointers, leading to wrongly formatted JIT symbols maps. Instead, use V8PRIxPTR format string and cast pointer to uintpr_t, since we have control over the exact output format of integers. LOG=N Review URL: https://codereview.chromium.org/1885033005 Cr-Commit-Position: refs/heads/master@{#35571}
-
- 12 Apr, 2016 1 commit
-
-
jfb authored
The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. - Uses it appropriately. - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). - Fixes a bunch of incorrect formats. Original CL: https://codereview.chromium.org/1869433004 Reverted in: https://codereview.chromium.org/1867383002 Reverted again in: https://codereview.chromium.org/1877823003 Reverts due to non-CQ bots: - First: v8_win_dbg, v8_win64_dbg, v8_mac_dbg - Second: gc mole (added to v8_linux_rel_ng for this patch) R= jochen@chromium.org TBR= ahaas@chromium.org,bmeurer@chromium.org,yangguo@chromium.org Review URL: https://codereview.chromium.org/1872203005 Cr-Commit-Position: refs/heads/master@{#35423}
-
- 11 Apr, 2016 1 commit
-
-
https://codereview.chromium.org/1877453002/machenbach authored
Reason for revert: Breaks gc mole: https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/9421 Original issue's description: > Fix printf formats > > The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: > > - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. > - Uses it appropriately. > - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). > - Fixes a bunch of incorrect formats. > > Original CL: https://codereview.chromium.org/1869433004 > Reverted in: https://codereview.chromium.org/1867383002 > > R= jochen@chromium.org > TBR= bmeurer@chromium.org, yangguo@chromium.org, ahaas@chromium.org > > Committed: https://crrev.com/bf505329288e1b75bab0e6800371a9aac40fa5cc > Cr-Commit-Position: refs/heads/master@{#35394} TBR=jochen@chromium.org,ahaas@chromium.org,bmeurer@chromium.org,yangguo@chromium.org,jfb@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/1877823003 Cr-Commit-Position: refs/heads/master@{#35396}
-