- 26 Aug, 2013 17 commits
-
-
yangguo@chromium.org authored
R=machenbach@chromium.org BUG= Review URL: https://codereview.chromium.org/23125027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=machenbach@chromium.org Review URL: https://codereview.chromium.org/22887053 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
to work around erroneous "illegal access" error on x64. BUG=v8:2790 R=hpayer@chromium.org Review URL: https://codereview.chromium.org/22877039 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
regardless of the map used in polymorphic stores. BUG= R=jkummerow@chromium.org, verwaest@chromium.org Review URL: https://codereview.chromium.org/21058003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Added support for truncating DoubleToIStub and reorganize the macro-assembler dToI operations to do the fast-path inline and the slow path by calling the stub. BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/23129003 Patch from Ross McIlroy <rmcilroy@google.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/22903012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
A while ago in r2315 Mac OS X cpu profiler implementation was changed to pause sampled thread instead of sending SIGPROF signal. That was done because at that point profiler send the signal to the whole process and it was handled on a random thread. Now that signal-based implementation uses pthread_kill it may well be used on Mac OS X too. BUG=v8:2814 R=bmeurer@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/23115005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
olivf@chromium.org authored
By setting this flag assertions behind --debug-code will trigger a breakpoint instead of a call into Abort. This eases debugging, as the call site is less cluttered and the backtrace starts where it should. BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/23352004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
This renames the existing V8_ALIGNAS() to V8_ALIGNED(), and introduces V8_ALIGNAS(type, alignment) which aligns according to the type and falls back to aligning according to alignment. Also use __attribute__((aligned(n))) instead of __attribute__((__aligned__(n))). R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/22999052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
TBR=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/22831050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=rossberg@chromium.org, svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/22795004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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 22 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
-