- 13 Jul, 2015 1 commit
-
-
rmcilroy authored
Review URL: https://codereview.chromium.org/1221433021 Cr-Commit-Position: refs/heads/master@{#29604}
-
- 04 May, 2015 1 commit
-
-
alph authored
Tick event processor should not stay in a tight loop when there's nothing to do. It can go sleep until next sample event. LOG=N BUG=v8:3967 Review URL: https://codereview.chromium.org/1118533003 Cr-Commit-Position: refs/heads/master@{#28211}
-
- 23 Apr, 2015 1 commit
-
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1099783003 Cr-Commit-Position: refs/heads/master@{#28024}
-
- 15 Apr, 2015 2 commits
-
-
machenbach authored
Revert of Force full GCwhenever CollectAllGarbage is meant to trigger a full GC. (patchset #4 id:60001 of https://codereview.chromium.org/1082973003/) Reason for revert: [Sheriff] Breaks http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/3348 and maybe leads to timeouts/crashes on layout test bots: http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064/builds/3002 Original issue's description: > Force full GC whenever CollectAllGarbage is meant to trigger a full GC. > > Add a finalize incremental marking mode for CollectAllGarbage to finalize incremental marking when incremental marking is in progress, but we want a full gc at a given CollectAllGarbage call site. > > Default mode for CollectAllGarbage is finalize incremental marking and perform a full GC. > > BUG= > > Committed: https://crrev.com/9c105f0940ba757364ac18fcdf649815ec5ab2d1 > Cr-Commit-Position: refs/heads/master@{#27831} TBR=ulan@chromium.org,hpayer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1088083002 Cr-Commit-Position: refs/heads/master@{#27834}
-
hpayer authored
Add a finalize incremental marking mode for CollectAllGarbage to finalize incremental marking when incremental marking is in progress, but we want a full gc at a given CollectAllGarbage call site. Default mode for CollectAllGarbage is finalize incremental marking and perform a full GC. BUG= Review URL: https://codereview.chromium.org/1082973003 Cr-Commit-Position: refs/heads/master@{#27831}
-
- 10 Apr, 2015 1 commit
-
-
wingo authored
R=svenpanne@chromium.org LOG=N BUG= Review URL: https://codereview.chromium.org/1072333002 Cr-Commit-Position: refs/heads/master@{#27752}
-
- 08 Apr, 2015 1 commit
-
-
loislo authored
BUG=chromium:452067 LOG=n Committed: https://crrev.com/baf927ff5115ec62a6dad684b9232ed9d3960e3a Cr-Commit-Position: refs/heads/master@{#27626} Review URL: https://codereview.chromium.org/1045753002 Cr-Commit-Position: refs/heads/master@{#27674}
-
- 07 Apr, 2015 2 commits
-
-
machenbach authored
Revert of CpuProfiler: public API for deopt info in cpu profiler. (patchset #6 id:150001 of https://codereview.chromium.org/1045753002/) Reason for revert: [Sheriff] Breaks compile here: http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/6115 Original issue's description: > CpuProfiler: public API for deopt info in cpu profiler. > > BUG=chromium:452067 > LOG=n > > Committed: https://crrev.com/baf927ff5115ec62a6dad684b9232ed9d3960e3a > Cr-Commit-Position: refs/heads/master@{#27626} TBR=alph@chromium.org,jkummerow@chromium.org,svenpanne@chromium.org,yurys@chromium.org,loislo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:452067 Review URL: https://codereview.chromium.org/1062053004 Cr-Commit-Position: refs/heads/master@{#27628}
-
loislo authored
BUG=chromium:452067 LOG=n Review URL: https://codereview.chromium.org/1045753002 Cr-Commit-Position: refs/heads/master@{#27626}
-
- 24 Mar, 2015 1 commit
-
-
loislo authored
it is the last patch of https://codereview.chromium.org/1012633002 All that we need here is to push the collected info to the profiler and convert it into actionable information about deopt. On the Next: get the info accessible by embedder. BUG=chromium:452067 LOG=n TEST=DeoptAtFirstLevelInlinedSource, DeoptAtSecondLevelInlinedSource, DeoptUntrackedFunction Review URL: https://codereview.chromium.org/1013143003 Cr-Commit-Position: refs/heads/master@{#27403}
-
- 10 Mar, 2015 2 commits
-
-
loislo authored
Four tests are failing due to a problem with no frame ranges. BUG= LOG=n Committed: https://crrev.com/2be160e726f2be6272b77e53fbd556aded6024f1 Cr-Commit-Position: refs/heads/master@{#27035} Review URL: https://codereview.chromium.org/976203003 Cr-Commit-Position: refs/heads/master@{#27116}
-
loislo authored
We use slightly different schema for JumpTable on arm64 than for x64. We do a branch (B) to the JumpTable from the code, then a branch (B) to the end of jump table code and then branch to the deoptimizer code with putting the return address into lr register (Call which is actually Blr). As a result the 'from' address in Deoptimizer always points to the end of JumpTable code and we can get nothing from this information. 0) I moved save_doubles and needs_frame code out of for_loop. 1) I replaced B commands with Bl so we put different return addresses to lr register for the different jump table entries and replaced the final Call with Br which do not touch lr register. Also I removed the last_entry check so we will always do the Bl even for the last entry because we need the right address in lr. I don't think that this will affect the performance because it just one more branch for entire deopt mechanics. BUG=chromium:452067 LOG=n Review URL: https://codereview.chromium.org/984893003 Cr-Commit-Position: refs/heads/master@{#27094}
-
- 09 Mar, 2015 1 commit
-
-
loislo authored
The original code always returned the first entry from RelocInfo that matched with bailout_id. But we may have a few different deopt reasons for one bailout_id. So we need to get the one which matches with a particular call from JumpTable. We can do this by checking not 'target_address' (it maps to bailout_id) but 'from' address which maps to a particular JumpTable entry. The test was reworked so it tests identical functions against different reasons. BUG=chromium:452067 LOG=n Review URL: https://codereview.chromium.org/984773003 Cr-Commit-Position: refs/heads/master@{#27076}
-
- 06 Mar, 2015 2 commits
-
-
loislo authored
Revert of CpuProfiler: enable tests except four failing tests. (patchset #3 id:100001 of https://codereview.chromium.org/976203003/) Reason for revert: Some tests still flaky Original issue's description: > CpuProfiler: enable tests except four failing tests. > > Four tests are failing due to a problem with no frame ranges. > > BUG= > LOG=n > > Committed: https://crrev.com/2be160e726f2be6272b77e53fbd556aded6024f1 > Cr-Commit-Position: refs/heads/master@{#27035} TBR=yurys@chromium.org,svenpanne@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/987553005 Cr-Commit-Position: refs/heads/master@{#27037}
-
loislo authored
Four tests are failing due to a problem with no frame ranges. BUG= LOG=n Review URL: https://codereview.chromium.org/976203003 Cr-Commit-Position: refs/heads/master@{#27035}
-
- 05 Mar, 2015 1 commit
-
-
loislo authored
BUG= LOG=n TBR=yurys, svenpanne Review URL: https://codereview.chromium.org/978203002 Cr-Commit-Position: refs/heads/master@{#27008}
-
- 19 Feb, 2015 1 commit
-
-
loislo authored
The root of problem is the fact that we don't track the position of 'this' statement but use them when visit compare statement. As a result we have -1 as the position of left expression and the resulting relative position is negative and doesn't fit into BitField. BUG=452067 TEST=test-cpu-profiler/SourceLocation LOG=n Review URL: https://codereview.chromium.org/940593002 Cr-Commit-Position: refs/heads/master@{#26741}
-
- 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}
-
- 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 Feb, 2015 1 commit
-
-
loislo authored
BTW: a few fixes for string comparison BUG=none LOG=n Review URL: https://codereview.chromium.org/892953004 Cr-Commit-Position: refs/heads/master@{#26495}
-
- 30 Jan, 2015 4 commits
-
-
Benedikt Meurer authored
TBR=svenpanne@chromium.org Review URL: https://codereview.chromium.org/891663002 Cr-Commit-Position: refs/heads/master@{#26347}
-
bmeurer authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/877753007 Cr-Commit-Position: refs/heads/master@{#26346}
-
Benedikt Meurer authored
This reverts commit 6a4c0a3b and commit 0deaa4b6 for breaking GCC bots. TBR=svenpanne@chromium.org Review URL: https://codereview.chromium.org/893533003 Cr-Commit-Position: refs/heads/master@{#26342}
-
bmeurer authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/888613002 Cr-Commit-Position: refs/heads/master@{#26340}
-
- 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
-
- 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
-
- 26 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
Our own ARRAY_SIZE() was pretty bad at error checking. If you use arrasize() in a wrong way, the compiler will issue an error instead of silently doing the wrong thing. The previous ARRAY_SIZE() macro is still available as ARRAYSIZE_UNSAFE() similar to Chrome. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/501323002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23389 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
-
- 11 Jul, 2014 1 commit
-
-
alph@chromium.org authored
Instead of running cpu profiler for a hundred milliseconds, collecting samples distributed in a non-deterministic way all along the code, make the tests rely on a single sample we collect on the profiler start. R=bmeurer@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/301603005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Jul, 2014 1 commit
-
-
alph@chromium.org authored
MSVC optimization realizes that CallJsFunction2 is just the same as CallJsFunction, so it eliminates the former making the call stack contain two instances of the same function. The patch makes two functions distinct. LOG=N BUG=v8:3055 R=aandrey@chromium.org, jkummerow@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/357383003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22113 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
-
- 13 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
Add wrappers to utils.h instead. BUG=none R=jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/328343003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Jun, 2014 1 commit
-
-
marja@chromium.org authored
Remove deprecated functions and deprecated Script::GetId (which was supposed to be deprecated, but Chrome was using it). R=dcarney@chromium.org, svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/315003003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21695 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
-
- 22 May, 2014 1 commit
-
-
alph@chromium.org authored
The reuse of CodeCreateEvent for deopt events caused a CodeCreateEvent fired twice for a code object. When the event was processed for the first time it seized the no-fp-ranges from code object, so the second event had no ranges info leaving code entry without them. As a result when a cpu profile sample falls into the region it missed the 2nd stack frame. LOG=N BUG= R=bmeurer@chromium.org, loislo@chromium.org Review URL: https://codereview.chromium.org/290093005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 May, 2014 1 commit
-
-
alph@chromium.org authored
BUG=v8:3308 LOG=N R=bmeurer@chromium.org, jochen@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/271683002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-