- 26 Aug, 2013 6 commits
-
-
bmeurer@chromium.org authored
Move all of the CPU detection logic to the CPU class, and make all other code use the CPU class for feature detection. This also fixes the ARM CPU feature detection logic, which was based on fragile string search in /proc/cpuinfo. Now we use ELF hwcaps if available, falling back to sane(!!) parsing of /proc/cpuinfo for CPU features. The ia32 and x64 code was also cleaned up to make it usable outside the assembler. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/23401002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/23202017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
This reverts commit r16311 for breaking build with certain compilers. Will reland once sorted out. TBR=svenpanne@chromium.org Review URL: https://codereview.chromium.org/22979004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
This method is being replaced by GetHitCount. BUG=267595 R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/22295009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Also fix the inconsistent attribute naming, and make V8_GNUC_PREREQ() test work for GCC compatible compilers. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/22888008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
- 24 Aug, 2013 1 commit
-
-
bmeurer@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/22867047 Patch from Ben Noordhuis <info@bnoordhuis.nl>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Aug, 2013 24 commits
-
-
verwaest@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://chromiumcodereview.appspot.com/23402005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
verwaest@chromium.org authored
R=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/22926027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/23102015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
The flag restricts hydrogen.cfg output to functions passing the filter, similar to what --hydrogen-filter does for optimization in general. This is useful for investigating large repro cases where tracing all functions would lead to an impractically large hydrogen.cfg file, but restricting optimization using --hydrogen-filter is undesirable (e.g. because it might cause the issue to no longer reproduce). R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/22926025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/23232008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
BUG=v8:2745 R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/23304005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
R=rossberg@chromium.org Review URL: https://chromiumcodereview.appspot.com/22999048 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
Note that the test crashes if it fails, so the PASS || FAIL annotation doesn't work. BUG=v8:2857 R=yangguo@chromium.org Review URL: https://codereview.chromium.org/22903039 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
R=rossberg@chromium.org Review URL: https://chromiumcodereview.appspot.com/22861025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/23090004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
We already have OS::DebugBreak(), which does the right thing. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/22893050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
V8 stores this information directly in the map of the wrapper, however, it is not invalidated when the prototype of the wrapper is changed, so once the bit is set, it is no longer possible to override valueOf. This bug is currently hidden in Chrome since the i18n extension always modifies the String.prototype, and so the optimization never kicks in. Disabling the optimization temporarily allows for snapshotting i18n now. BUG=v8:2855 R=yangguo@chromium.org TEST=mjsunit/regress/regress-2855.js Review URL: https://codereview.chromium.org/23060030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=machenbach@chromium.org BUG=cctest Review URL: https://codereview.chromium.org/22861037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/22914034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
In the RegExpUnparser::VisitText(RegExpText* that, void* data) function always RegExpUnparser::VisitAtom function called via that->elements()->at(i).data.u_atom->Accept(this, data); even if the type of the object is RegExpCharacterClass. The problem shows using g++ 4.7(.2, .3) since r16232, since GCC optimizes virtual method calls to direct calls based on __final/final hints. Tested on MIPS and x64: Program received signal SIGSEGV, Segmentation fault. 0x0000000000588928 in v8::internal::RegExpUnparser::VisitAtom(v8::internal::RegExpAtom*, void*) () This cleans up the TextElement class to avoid the unsafe+unchecked union access, that caused the crash. TEST=cctest/test-regexp/ParserRegression R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/22815033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=bmeurer@chromium.org TEST=cctest/test-mark-compact/MarkCompactCollector Review URL: https://codereview.chromium.org/23112026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
All the tests that started crashing create ProfilerEventsProcessor on the stack. After r16284 SamplingCircularQueue buffer is allocated as a field of the queue instead of separate heap object. This increased self size of ProfilerEventsProcessor by about 1Mb. Windows malloc fails to allocate such an object on the stack and crashes. BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/23093022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=mstarzinger@chromium.org BUG=v8:2594 Review URL: https://codereview.chromium.org/22901010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
BUG=None R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/23361023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
The new implementation: * uses MemoryBarriers to make sure up-to-date data is accessed on both producer and consumer threads * will not allow to overwrite records * doesn't have notion of chunks, instead each entry is aligned on the cache line boundaries BUG=v8:2814 R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/22849002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/22852021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/22815032 Patch from Weiliang Lin <weiliang.lin2@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
From now on the v8config.h header should be the one and only file where we do (freaky) checks to detect OS, C++ compiler or certain compiler features. Since we need that both internally and for the public API, the new v8config.h is the proper place to add (everything is prefixed with V8_ so we are safe). R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/23248006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Aug, 2013 9 commits
-
-
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
-
mstarzinger@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/23203002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This fixes a corner-case where a frozen prototype with existing hidden properties might prevent setting hidden properties on another object. R=rossberg@chromium.org BUG=v8:2829 Review URL: https://codereview.chromium.org/22799021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
R=bmeurer@chromium.org Review URL: https://chromiumcodereview.appspot.com/22911018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
titzer@chromium.org authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/22914029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
titzer@chromium.org authored
Fix deoptimization bug, where recursive call can frighten and confuse the unwitting, simple, poor caveman that is Runtime_NotifyDeoptimized. BUG=274164 R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/23201016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
R=yangguo@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/22801011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
used everywhere but the debugger, and IsDebugBreak, used by the debugger. R=yangguo@chromium.org Review URL: https://chromiumcodereview.appspot.com/23361014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
We do not use rdtsc anywhere and we won't ever use that in the future, as it is totally unusable with multicore and out of order execution. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/23112016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-