- 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
Drop the previous Mutex and ScopedLock classes from platform files. Add new Mutex, RecursiveMutex and LockGuard classes, which are designed after their C++11 counterparts, so that at some point we can simply drop our custom code and switch to the C++11 classes. We distinguish regular and recursive mutexes, as the latter don't work well with condition variables, which will be introduced by a followup CL. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/23625003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Jul, 2013 1 commit
-
-
bmeurer@chromium.org authored
Revert "Fix NaCl build." Revert "Revert target arch detection." Revert "Fix typo." Revert "Simplify implementation of Mutex." Revert "Fix for older clang releases that lack __has_extension." Revert "Reland initial bits of "Implement correct OS and CC detection."" TBR=danno@chromium.org,svenpanne@chromium.org Review URL: https://codereview.chromium.org/21095008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jul, 2013 1 commit
-
-
bmeurer@chromium.org authored
Also moves Mutex to its own file mutex.{cc,h}. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/21087012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Jul, 2013 1 commit
-
-
yurys@chromium.org authored
There is already --prof-lazy flag which should be enough. BUG=None R=yangguo@chromium.org Review URL: https://codereview.chromium.org/20482003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Jul, 2013 1 commit
-
-
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
-
- 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
-
- 24 Jun, 2013 1 commit
-
-
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
-
- 03 Jun, 2013 1 commit
-
-
yangguo@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/15691017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14919 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
-
- 16 Apr, 2013 1 commit
-
-
jkummerow@chromium.org authored
Review URL: https://codereview.chromium.org/13932006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Mar, 2013 1 commit
-
-
yangguo@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/12093008 Patch from Ben Noordhuis <info@bnoordhuis.nl>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Feb, 2013 1 commit
-
-
rossberg@chromium.org authored
in preparation of the introduction of ES6 'symbols' (aka private/unique names). The SymbolTable became the StringTable. I also made sure to adapt all comments. The only remaining use of the term "symbol" (other than unrelated uses in the parser and such) is now 'NewSymbol' in the API and the 'V8.KeyedLoadGenericSymbol' counter, changing which might break embedders. The one functional change in this CL is that I removed the former 'empty_string' constant, since it is redundant given the 'empty_symbol' constant that we also had (and both were used inconsistently). R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/12210083 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13781 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
-
- 26 Nov, 2012 1 commit
-
-
yangguo@chromium.org authored
And prevent crash when starting chromium without --single-process. BUG= Review URL: https://chromiumcodereview.appspot.com/11411144 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Nov, 2012 1 commit
-
-
yangguo@chromium.org authored
BUG= Review URL: https://chromiumcodereview.appspot.com/11412125 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Nov, 2012 1 commit
-
-
yangguo@chromium.org authored
This is a straight rename: IsAsciiRepresentation -> IsOneByteRepresentation IsAsciiRepresentationUnderneath -> IsOneByteRepresentationUnderneath AllocateRawAsciiString -> AllocateRawOneByteString AllocateStringFromAscii -> AllocateStringFromOneByte R=yangguo@chromium.org, BUG= Review URL: https://chromiumcodereview.appspot.com/11308066 Patch from Dan Carney <dcarney@google.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Sep, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
As pointed out in: http://codereview.chromium.org/7754007/#msg5 "SmartPointer should have been named SmartArrayPointer as it expects an input allocated using new[] and deallocates it using delete[]. Using it as a simple scoped pointer for a single object is incorrect." R=mnaganov@chromium.org Review URL: http://codereview.chromium.org/7860011 Patch from Thiago Farina <tfarina@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Aug, 2011 1 commit
-
-
vitalyr@chromium.org authored
R=vegorov@chromium.org Review URL: http://codereview.chromium.org/7491052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Jul, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
Since r93412, Chromium no more passes "--logfile=*" to V8. R=danno@chromium.org BUG=859 Review URL: http://codereview.chromium.org/7479004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jul, 2011 2 commits
-
-
mikhail.naganov@gmail.com authored
The only usage of it was in logging tests, I've switched them for using a file. I've left out support for "--logfile=*" for now, as Chromium uses it. Will be removed after the next V8 roll. R=sgjesse@chromium.org BUG=859 TEST=mjsunit/log-* Review URL: http://codereview.chromium.org/7310025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The preprocessor defines ENABLE_LOGGING_AND_PROFILING and ENABLE_VMSTATE_TRACKING has been removed as these where required to be turned on for Crankshaft to work. To re-enable reducing the binary size by leaving out heap and CPU profiler a new set of defines needs to be created. R=ager@chromium.org BUG=v8:1271 TEST=all Review URL: http://codereview.chromium.org//7350014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2011 1 commit
-
-
vitalyr@chromium.org authored
Switched to using binary low-level log instead of the textual log used by the ticks processor. The binary log contains code-related events, code object names, and their bodies. When writing to the log we ask glibc to use a larger buffer. To avoid complex processing of the snapshot log (which is still textual) the serializer emits final snapshot position to code name mappings that can be quickly be read without replaying the snapshot log. (This might be useful for the ticks processor.) Review URL: http://codereview.chromium.org/6904127 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Mar, 2011 3 commits
-
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6685088 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Feb, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
The main issue was due to multiple recompilations of functions. Now code objects are grouped by function using SFI object address. JSFunction objects are no longer tracked, instead we track SFI object moves. To pick a correct code version, we now sample return addresses instead of JSFunction addresses. tools/{linux|mac|windows}-tickprocessor scripts differentiate between code optimization states for the same function (using * and ~ prefixes introduced earlier). DevTools CPU profiler treats all variants of function code as a single function. ll_prof treats each optimized variant as a separate entry, because it can disassemble each one of them. tickprocessor.py not updated -- it is deprecated and will be removed. BUG=v8/1087,b/3178160 TEST=all existing tests pass, including Chromium layout tests Review URL: http://codereview.chromium.org/6551011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Dec, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
This is no longer used in Chromium, and only pollutes code. BUG=859 Review URL: http://codereview.chromium.org/5575006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Oct, 2010 2 commits
-
-
vitalyr@chromium.org authored
TBR=mikhail.naganov@gmail.com Review URL: http://codereview.chromium.org/3797016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Since 2.6.31 perf_events interface has been available in the kernel. There's a nice tool called "perf" (linux-2.6/tools/perf) that uses this interface and provides capabilities similar to oprofile. The simplest form of its usage is just dumping the raw log (trace) of events generated by the kernel. In this patch I'm adding a script (tools/ll_prof.py) to build profiles based on perf trace and our code log. All the heavy-lifting is done by perf. Compared to oprofile agent this approach does not require recompilation and supports code moving garbage collections. Expected usage is documented in the ll_prof's help. Basically one should run V8 under perf passing --ll-prof flag and then the produced logs can be analyzed by tools/ll_prof.py. The new --ll-prof flag enables logging of generated code object locations and names (like --log-code), and also of their bodies, which can be later disassembled and annotated by the script. Review URL: http://codereview.chromium.org/3831002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Mar, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
Review URL: http://codereview.chromium.org/799008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Feb, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
It doesn't mean I'm participating in some fixit, just spotted some code which doesn't have usages and decided to remove it. Review URL: http://codereview.chromium.org/646007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Nov, 2009 1 commit
-
-
lrn@chromium.org authored
Set warning level to /W3 and change implicit conversions from size_t to int. Most "fixes" are simply manifesting the implicit casts or using a special strlen replacement that returns int. Review URL: http://codereview.chromium.org/390004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Oct, 2009 1 commit
-
-
erik.corry@gmail.com authored
even if we are attempting to allocate in young space. There were a few cases where this wasn't done. Also misc. changes to make diagnosis of errors like this one easier. Review URL: http://codereview.chromium.org/251072 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Sep, 2009 2 commits
-
-
mikhail.naganov@gmail.com authored
Kudos to William Hesse for alarming me. TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/214020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Also, perform some refactoring to reuse common code between constructor and retainer profiles. Review URL: http://codereview.chromium.org/209028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Jun, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
- fixed address delta calculation; - code creations are also compressed to be in sync with other events; - factored out a base class from TickProcessor to reuse code in DevTools profiler. Review URL: http://codereview.chromium.org/125256 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Jun, 2009 2 commits
-
-
mikhail.naganov@gmail.com authored
It seems that when calling a method that has two overloaded versions like this: f(char* format, ...) f(char* format, va_list args) with a second pointer argument: f("format", pointer), the second version is picked up. I've found a description of a similar issue here: http://bugs.gentoo.org/63112 So, to resolve this ambiguity, I've named such LogMessageBuilder's Append functions differently. Review URL: http://codereview.chromium.org/125125 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Code addresses are now written as an offset from the previous address for ticks, code move and delete events. Employed backreference and RLE compression for code move and delete events. This gives additional 30% log size reduction for benchmarks run w/o snapshot. Overall compression results (compared with the revision of V8 having no compression): - V8: 70% size reduction for benchmarks run w/o snapshot (for reference, gzip gives 87%) - Chromium: 65% size reduction for public html version of benchmarks (v4) (for reference, gzip gives 90%) The one obvious opportunity for improving compression results in Chromium is to compress URLs of scripts. Review URL: http://codereview.chromium.org/125114 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Jun, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
Two techniques are involved: - compress repeated line ends (common stack beginnings) by using back references; - do RLE compression of repeated tick events. This gives only 5% size reduction on benchmarks run, but this is because tick events are only comprise 10% of file size. Under Chromium winnings are bigger because long repeated samples of idleness are now compressed into a single line. Tickprocessor will be updated in the next patch. Review URL: http://codereview.chromium.org/123012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-