| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Most code uses PLOG with the same effect.
TBR=bradchen
NOTRY=true
Review URL: https://codereview.chromium.org/281223002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271949 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When pthread_create create fails, the content of handle becomes
undefined, but PlatformThreadHandle::platform_handle is initialized to
0, which makes the CHECK_EQ fail.
Fix by resetting handle to 0 if pthread_create fails.
BUG=373905
Review URL: https://codereview.chromium.org/289013003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270875 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It might not be good to switch thread_local to use ThreadPlatformStorage
on all platforms, in order to pass all tests in Linux, the number of TLS
slot has be 1024, it means 4k memory will be temporarily increased in stack,
and then move to heap for every thread which use the TLS.
Android only needs 256 slot which is much smaller than Linux's usage, and
TLS slot is currently only running out on Android's tests.
So this patch is only for Android platform.
BUG=264406
Review URL: https://codereview.chromium.org/189263003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269854 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
where it makes sense to do so in existing code.
This migration shook out a couple of bugs in mach_logging.h carried over
from mac_logging.h (fixed there too).
R=rsesek@chromium.org, sky@chromium.org
Review URL: https://codereview.chromium.org/278923002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269829 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This backs out r296483, r269492, r269501, and r269511. The iOS bots hated it.
They don't like mach_vm_* and must use vm_* instead, and they can't #include
<mach/mach_vm.h> at all. The above patches dealt with that, but then when it
turned out that the iOS bots also weren't even building ScopedMachVM or
MACH_LOG at all, I decided to call it quits.
http://build.chromium.org/p/chromium.mac/builders/iOS%20Device%20%28ninja%29/builds/919/steps/compile/logs/stdio
http://build.chromium.org/p/chromium.mac/builders/iOS%20Device%20%28ninja%29/builds/921/steps/compile/logs/stdio
http://build.chromium.org/p/chromium.mac/builders/iOS%20Simulator%20%28dbg%29/builds/16185/steps/compile/logs/stdio
TBR=rsesek
Review URL: https://codereview.chromium.org/274193007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269516 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
where it makes sense to do so in existing code.
This migration shook out a couple of bugs in mach_logging.h carried over
from mac_logging.h (fixed there too).
R=rsesek@chromium.org, sky@chromium.org
Review URL: https://codereview.chromium.org/278923002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269483 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: https://codereview.chromium.org/257143003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266846 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Adds about ~5us per task on Nexus 4.
BUG=None
Review URL: https://codereview.chromium.org/254423003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266155 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
currently uses WorkerPool instead.
Unlike base::Thread, here COM support does not extend to running a TYPE_UI
MessageLoop, since SequencedWorkerPool doesn't use MessageLoop. I think* I
don't actually need that.
*I have no real idea. :(
BUG=251774,328135
TEST=none
R=darin@chromium.org
Review URL: https://codereview.chromium.org/242513006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@265078 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead of a char*.
Avoids a bunch of pointless c_str()s on the caller sides.
BUG=none
TEST=none
R=darin@chromium.org
Review URL: https://codereview.chromium.org/243863002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264886 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=Threads are still named as before.
R=mark@chromium.org
Review URL: https://codereview.chromium.org/212533006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259733 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Win_x64 LKGR builder has been red for awhile due to a trivial
compile-time conversion error (size_t to int).
BUG=
TEST=run base_perftest on linux
TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/203543009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258145 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=353687
TBR=thakis@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/196343027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257779 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some base utilities are inherently expensive. Part of this
is the underyling operating system cost, but there is also
some overhead in our own code.
Even for operations we can't improve, it's nice to have
visibility into their cost, to guide designs and optimizations.
This patch adds a "base_perftests" target for all platforms,
and adds tests for our tasks posting performance.
base::WaitableEvent, ConditionVariable, and a minimal posix
WaitableEvent are also tested for comparison.
BUG=345471
Review URL: https://codereview.chromium.org/187833004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256197 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
that the bootstrap binary for GN (the one in TEMPDIR) can be built and run.
Tested on FreeBSD 8.4-i386 and FreeBSD 10.0-amd64
BUG=
Review URL: https://codereview.chromium.org/185713005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256124 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> Switch thread_local to use chromium's TLS implementation
>
> This patch switch thread_local to use ThreadLocalStorage::Slot, so it get the
> TLS slot from the chromium's TLS instead of OS's.
>
> There is debate whether the Windows' TLS's destructor implementation is reliable
> or not, if we are able to remove all the use of TLS destructor, only ThreadLocalStorage::Slot
> needs to change, as thread_local doesn't use TLS destructor at all.
>
> BUG=264406
>
> Review URL: https://codereview.chromium.org/139633003
TBR=michaelbai@chromium.org
Review URL: https://codereview.chromium.org/184273006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255102 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch switch thread_local to use ThreadLocalStorage::Slot, so it get the
TLS slot from the chromium's TLS instead of OS's.
There is debate whether the Windows' TLS's destructor implementation is reliable
or not, if we are able to remove all the use of TLS destructor, only ThreadLocalStorage::Slot
needs to change, as thread_local doesn't use TLS destructor at all.
BUG=264406
Review URL: https://codereview.chromium.org/139633003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254986 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=
Review URL: https://codereview.chromium.org/170283013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252146 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
release mode.
Review URL: https://codereview.chromium.org/168373002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251595 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Like linux, on android we can get the thread names to show up in the
debugger by setting the process name for the LWP.
This change sets the name of the calling thread using prctl.
BUG=332881
R=jam@chromium.org
R=torne@chromium.org
Review URL: https://codereview.chromium.org/144943004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250981 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use <stdint.h> instead of "base/basictypes.h".
Put AtomicOps_Internalx86CPUFeaturesInit in the anonymous namespace.
Fix formatting issues.
BUG=
Review URL: https://codereview.chromium.org/143273005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249938 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Currently all flow events are in the category "toplevel.flow", they originated from "ipc" and "task" categories.
BUG=338427
Review URL: https://codereview.chromium.org/148173011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249450 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=
Patch by:
Eli Fidler <efidler@blackberry.com>,
Jeff Rogers <jrogers@blackberry.com>,
Cosmin Truta <ctruta@blackberry.com>.
Review URL: https://codereview.chromium.org/156233002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249390 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=263749,325685
TEST=cc_unittests on ASan/Android bot
R=glider@chromium.org, thakis@chromium.org, bulach@chromium.org, navabi@chromium.org
Review URL: https://codereview.chromium.org/136113006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247670 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is no longer necessary (always returns true).
BUG=149144
TEST=n/a (no behavioral changes)
Review URL: https://codereview.chromium.org/146833008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247393 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This should help some browser tests that are currently hitting the roof under TSan.
BUG=335516
R=epenner@chromium.org,dvyukov@chromium.org
Review URL: https://codereview.chromium.org/143933002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@246280 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using one system TLS to implement multiple chrome's TLS slots.
BUG=264406
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=241144
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=241657
Review URL: https://codereview.chromium.org/60743004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244124 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When setting up the ThreadIdNameManager we need to make a duplicate of the
thread handle on Windows. That handle is currently be leaked as pointed out by
Dr.Memory. This CL closes the handle after the ThreadIdNameManager has removed
the relevant entry.
BUG=315203
Review URL: https://codereview.chromium.org/75133004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243330 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Caused intermittent browser process crashes on Linux Debug configurations.
See Issue 329747 for details.
BUG=329747,264406
> Implement chromium's TLS.
>
> Using one system TLS to implement multiple chrome's TLS slots.
>
> BUG=264406
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=241144
>
> Review URL: https://codereview.chromium.org/60743004
TBR=michaelbai@chromium.org
Review URL: https://codereview.chromium.org/121393002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242549 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using one system TLS to implement multiple chrome's TLS slots.
BUG=264406
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=241144
Review URL: https://codereview.chromium.org/60743004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241657 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> Implement chromium's TLS.
>
> Using one system TLS to implement multiple chrome's TLS slots.
>
> BUG=264406
>
> Review URL: https://codereview.chromium.org/60743004
BUG=329121
TBR=michaelbai@chromium.org
Review URL: https://codereview.chromium.org/108793004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241152 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Using one system TLS to implement multiple chrome's TLS slots.
BUG=264406
Review URL: https://codereview.chromium.org/60743004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241144 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is only style changes, no functional change.
BUG=none
TEST=none
R=darin@chromium.org
Review URL: https://codereview.chromium.org/105563002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238854 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead, SequencedWorkerPools should be wrapped in a SequencedWorkerPoolOwner to
avoid leak reports.
BUG=273800
R=ajwong@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/102753002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238451 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
gcc apparently always creates static initializers for non-POD globals.
BUG=94925
R=erg@chromium.org, willchan@chromium.org
Review URL: https://codereview.chromium.org/62203015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234960 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using default args is against style guide, but there are a ton of
places (mostly tests) that define a MessageLoop as a member. I'll see
about a cleanup pass that removes the default args.
BUG=none
TEST=NONE
R=darin@chromium.org
Review URL: https://codereview.chromium.org/61643006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@233800 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
NOTRY=true
Review URL: https://codereview.chromium.org/57463003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232902 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
The test is reenabled, and a check which introduced a real race condition
has been removed. The check is unnecessary.
BUG=305100
Review URL: https://codereview.chromium.org/26631003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229101 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ConditionVariableTest.LargeFastTaskTest
ConditionVariableTest.MultiThreadConsumerTest
ConditionVariableTest.TimeoutTest
PosixDynamicThreadPoolTest.Complex
PosixDynamicThreadPoolTest.ReuseIdle
PosixDynamicThreadPoolTest.TwoActiveTasks
There's been a bug in the TSan runtime causing these tests to fail.
BUG=303007
TBR=jar@chromium.org
Review URL: https://codereview.chromium.org/27019012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229086 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This test is giving data race errors.
TBR=sadrul@chromium.org, ajwong@chromium.org
NOTRY=true
BUG=305100
Review URL: https://codereview.chromium.org/26462002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227496 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the threadpool size:
ConditionVariableTest.LargeFastTaskTest
ConditionVariableTest.MultiThreadConsumerTest
ConditionVariableTest.TimeoutTest
PosixDynamicThreadPoolTest.Complex
PosixDynamicThreadPoolTest.ReuseIdle
PosixDynamicThreadPoolTest.TwoActiveTasks
BUG=303007
TBR=jar@chromium.org
Review URL: https://codereview.chromium.org/25675007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@226775 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> Copy the thread name to the stack for debugging purposes.
>
> The this ptr in Thread is getting smashed after the MessageLoop ends, which
> leaves very little to go on. This is kind of a stab in the dark, but hopefully
> it makes something bleed in a general direction.
>
> BUG=274705
> TEST=Minidumps contain 47 bytes of thread name data way high on the stack.
> R=mark@chromium.org
>
> Review URL: https://codereview.chromium.org/23606030
TBR=rsesek@chromium.org
Review URL: https://codereview.chromium.org/24508003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@225228 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tests which use WorkerPool have no way to pump it during teardown, so they will
sometimes have leaks of PostTaskAndReply Closures that we can't do anything
about. Since we're deprecating WorkerPool anyway, we can just annotate those
leaks and forget about them.
BUG=290897,248513
R=ajwong@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23514070
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223960 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With thread-local tracing (r221766), TraceLog::Flush() is async and
needs to be called from a thread having a message loop. It also requires
that tracing has been stopped.
BrowserShutdownProfileDumper is a special caller that TraceLog::Flush()
was originally called from a thread without message loop.
Now start another thread for flushing, and call TraceLog::SetDisabled()
before TraceLog::Flush().
The calling thread needs to wait for the completion of the flush,
otherwise the browser may shutdown before all trace events written.
Temporarily allow the thread to wait in ThreadRestrictions.
BUG=none
TEST=manual run chrome with --trace-shutdown. Should not assert. Should generate correct trace file.
Review URL: https://chromiumcodereview.appspot.com/24047007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223819 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=274705
Review URL: https://chromiumcodereview.appspot.com/23875025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@223176 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Ensures those pointers stay vaild after AtExit.
BUG=290149
R=jar@chromium.org
Review URL: https://chromiumcodereview.appspot.com/23849005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222842 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The this ptr in Thread is getting smashed after the MessageLoop ends, which
leaves very little to go on. This is kind of a stab in the dark, but hopefully
it makes something bleed in a general direction.
BUG=274705
TEST=Minidumps contain 47 bytes of thread name data way high on the stack.
R=mark@chromium.org
Review URL: https://codereview.chromium.org/23606030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222826 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This should be unnoticeable, except for improved resolution in places such as window.performance.now().
The feature is enabled if the user is running Canary channel or has manually specified the --enable-high-resolution-time flag. This will only work if the CPU has a non-stop TSC and isn't a broken Athlon processor. UMA data show this is a safe combination.
The flag is propagated to renderer processes so that they know to enable it too.
BUG=158234
Review URL: https://chromiumcodereview.appspot.com/23147002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@222396 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The default message pump implementation already has this, and
Android's message pump shouldn't be failing on an idle thread that
doesn't allow waiting either. In particular, content_browsertest code
that uses message loops in the teardown phase currently runs into a
failing AssertWaitAllowed() on Android, which this CL fixes.
BUG=None
TEST=Tests still pass.
Review URL: https://chromiumcodereview.appspot.com/23874002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220979 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
of MessageLoopProxy::current().
This allows PostTaskAndReplyRelay to be used with non-standard implementations of TaskRunner interface. One such example is remoting::PluginThreadTaskRunner that allows to posts tasks to the main thread of Chromoting Host plugin.
BUG=281750
Review URL: https://chromiumcodereview.appspot.com/23642004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220518 0039d316-1c4b-4281-b951-d872f2087c98
|