summaryrefslogtreecommitdiffstats
path: root/base/threading
Commit message (Collapse)AuthorAgeFilesLines
* Enable tracking of objects by defaultjar@chromium.org2011-10-314-32/+19
| | | | | | | | | | | | | | | | | | | This is a reland of accumulated patches including CLs 8414036, 8425010, 8425013, 8424013. It fully enables tracking of objects, as seen in about:tracking in teh release build. The problem this had in its initaial landing centered on Mac instability in base_unittest. We were encountering crash on exit of the tests, with a stack dump involving pthreads. r=rtenneti BUG=101856 Review URL: http://codereview.chromium.org/8429009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108026 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107895 - Fully enable about:tracking by defaultjoth@chromium.org2011-10-314-19/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a re-land of: http://codereview.chromium.org/8391019/ Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107793 Original landing had trouble with message_loop_x.h, due to header include ordering. I pulled out the structure that was really needed by tracked_objects.h into a new file tracked_info.*. This allows tracked_objects to inlude this tracked_info, but not have to include the message_loop.h totality. I also removed a DCHECK that that was triggering on a test, and added yet one more file (browser_main.cc) where I removed a #ifdef for TRACKING_ALL_OBJECTS. The changes were minor, and I'm hoping to get clear perf runs with tihs landing, so I'm going to TBR it and reland early in the morning. Comments from original landing: Support is now controlled by the flag: --enable-tracking and the default is always on. To turn it off, use: --enable-tracking=0 All profiler code is compiled now in release and official builds (in addition to debug, where it was already active), but most entry points can be disabled (turned into no-ops) by a single const bool setting atop tracked_objects.cc (in case folks want to revert the perf-impact of this change). Transition to faster Now() service on Windows for the profiler use only. The TimeTicks::Now() function on Window uses locking to get a 64 bit time value. This CL transitions times used for profiling to more directly use a 32 bit Time interface, which is actually what drives the 64 bit TimeTicks. By using the smaller value, we avoid the need for locks, or even atomic operations for the most part in the tracking system. On linux, we just down-sample the standard TimeTicks to 32 bits for consistency (clean ability to snapshot asyncronously without atomics... but I should verify that such is helpful to performance). I've also put in yet more cleanup and refactoring. tbr=rtenneti bug=101856 Review URL: http://codereview.chromium.org/8414036 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/8430004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107961 0039d316-1c4b-4281-b951-d872f2087c98
* Revert log change to thread_local_win to fix an internal compiler error whenbrettw@chromium.org2011-10-311-1/+1
| | | | | | | | | doing official Chrome builds. TBR=1aforge Review URL: http://codereview.chromium.org/8424004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107910 0039d316-1c4b-4281-b951-d872f2087c98
* Fully enable about:tracking by defaultjar@chromium.org2011-10-304-32/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a re-land of: http://codereview.chromium.org/8391019/ Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=107793 Original landing had trouble with message_loop_x.h, due to header include ordering. I pulled out the structure that was really needed by tracked_objects.h into a new file tracked_info.*. This allows tracked_objects to inlude this tracked_info, but not have to include the message_loop.h totality. I also removed a DCHECK that that was triggering on a test, and added yet one more file (browser_main.cc) where I removed a #ifdef for TRACKING_ALL_OBJECTS. The changes were minor, and I'm hoping to get clear perf runs with tihs landing, so I'm going to TBR it and reland early in the morning. Comments from original landing: Support is now controlled by the flag: --enable-tracking and the default is always on. To turn it off, use: --enable-tracking=0 All profiler code is compiled now in release and official builds (in addition to debug, where it was already active), but most entry points can be disabled (turned into no-ops) by a single const bool setting atop tracked_objects.cc (in case folks want to revert the perf-impact of this change). Transition to faster Now() service on Windows for the profiler use only. The TimeTicks::Now() function on Window uses locking to get a 64 bit time value. This CL transitions times used for profiling to more directly use a 32 bit Time interface, which is actually what drives the 64 bit TimeTicks. By using the smaller value, we avoid the need for locks, or even atomic operations for the most part in the tracking system. On linux, we just down-sample the standard TimeTicks to 32 bits for consistency (clean ability to snapshot asyncronously without atomics... but I should verify that such is helpful to performance). I've also put in yet more cleanup and refactoring. tbr=rtenneti bug=101856 Review URL: http://codereview.chromium.org/8414036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107895 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107793 - Fully enable about:tracking by defaultjar@chromium.org2011-10-284-19/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support is now controlled by the flag: --enable-tracking and the default is always on. To turn it off, use: --enable-tracking=0 All profiler code is compiled now in release and official builds (in addition to debug, where it was already active), but most entry points can be disabled (turned into no-ops) by a single const bool setting atop tracked_objects.cc (in case folks want to revert the perf-impact of this change). Transition to faster Now() service on Windows for the profiler use only. The TimeTicks::Now() function on Window uses locking to get a 64 bit time value. This CL transitions times used for profiling to more directly use a 32 bit Time interface, which is actually what drives the 64 bit TimeTicks. By using the smaller value, we avoid the need for locks, or even atomic operations for the most part in the tracking system. On linux, we just down-sample the standard TimeTicks to 32 bits for consistency (clean ability to snapshot asyncronously without atomics... but I should verify that such is helpful to performance). I've also put in yet more cleanup and refactoring. r=rtenneti bug=101856 Review URL: http://codereview.chromium.org/8391019 TBR=jar@chromium.org Review URL: http://codereview.chromium.org/8400073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107799 0039d316-1c4b-4281-b951-d872f2087c98
* Fully enable about:tracking by defaultjar@chromium.org2011-10-284-32/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support is now controlled by the flag: --enable-tracking and the default is always on. To turn it off, use: --enable-tracking=0 All profiler code is compiled now in release and official builds (in addition to debug, where it was already active), but most entry points can be disabled (turned into no-ops) by a single const bool setting atop tracked_objects.cc (in case folks want to revert the perf-impact of this change). Transition to faster Now() service on Windows for the profiler use only. The TimeTicks::Now() function on Window uses locking to get a 64 bit time value. This CL transitions times used for profiling to more directly use a 32 bit Time interface, which is actually what drives the 64 bit TimeTicks. By using the smaller value, we avoid the need for locks, or even atomic operations for the most part in the tracking system. On linux, we just down-sample the standard TimeTicks to 32 bits for consistency (clean ability to snapshot asyncronously without atomics... but I should verify that such is helpful to performance). I've also put in yet more cleanup and refactoring. r=rtenneti bug=101856 Review URL: http://codereview.chromium.org/8391019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107793 0039d316-1c4b-4281-b951-d872f2087c98
* Replace most LOG/CHECK statements with DLOG/DCHECK statements in base.brettw@chromium.org2011-10-267-11/+11
| | | | | | | | | | | [ Reland of 107042 http://codereview.chromium.org/8368009 ] I tried hard not to change CHECKs that had side effects. I kept fatal checks that seemed security or debugging-info (in crash reports) sensitive, and ones that seems particularly well-conceived. Review URL: http://codereview.chromium.org/8341026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107434 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 107042 - Replace most LOG/CHECK statements with DLOG/DCHECK ↵brettw@chromium.org2011-10-257-11/+11
| | | | | | | | | | | | | | statements in base. I tried hard not to change CHECKs that had side effects. I kept fatal checks that seemed security or debugging-info (in crash reports) sensitive, and ones that seems particularly well-conceived. Review URL: http://codereview.chromium.org/8368009 TBR=brettw@chromium.org Review URL: http://codereview.chromium.org/8351025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107051 0039d316-1c4b-4281-b951-d872f2087c98
* Replace most LOG/CHECK statements with DLOG/DCHECK statements in base.brettw@chromium.org2011-10-257-11/+11
| | | | | | | | | I tried hard not to change CHECKs that had side effects. I kept fatal checks that seemed security or debugging-info (in crash reports) sensitive, and ones that seems particularly well-conceived. Review URL: http://codereview.chromium.org/8368009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107042 0039d316-1c4b-4281-b951-d872f2087c98
* Support JSON encoding of data for about:tracking informationjar@chromium.org2011-10-242-2/+4
| | | | | | | | | | | I also fought a terrible (but educational) fight with Thread Local Store, and its ability to do cleanup (call destructors) at thread exit (notably applicable to Worker Threads). Thta is why there were soooo many test bot runs and tiny checkins. I now have a plan in mind that won't rely on that functionality. The code seems to work cross-platform, but if I have trouble with Linux, I'll repeatedly leak ThreadData contexts temporarily on that platform. Given that the code is only enabled under Debug, this is not yet a real problem. Each CL I write for this code also includes a bunch of cleanup. In this case, I changed the Write() methods to WriteHTML(), since I didn't want any confusion with JSON writing etc. I also did a bunch of tiny cleanups which should not have changed what the code does. r=rtenneti Review URL: http://codereview.chromium.org/8313013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106952 0039d316-1c4b-4281-b951-d872f2087c98
* Low-latency AudioInputStream implementation based on WASAPI for Windows.henrika@chromium.org2011-10-241-3/+13
| | | | | | | | | Requires Windows Vista or higher. BUG=none TEST=Attached unit test (requires undefined CHROME_HEADLESS) Review URL: http://codereview.chromium.org/8283032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106899 0039d316-1c4b-4281-b951-d872f2087c98
* Establish correct names for about:tracking profilerjar@chromium.org2011-10-171-0/+4
| | | | | | | | | | | | This file was mistakenly ommited from the recent landing, so the thread names were not being set (all threads other than the main thread wer assigned sequential "WorkerThread-N" names). r=eroman Review URL: http://codereview.chromium.org/8315010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105814 0039d316-1c4b-4281-b951-d872f2087c98
* base: Constantify the struct used in WprintfFormatPortabilityTest test case.tfarina@chromium.org2011-10-161-1/+1
| | | | | | | | | TEST=base_unittests --gtest_filter=StringUtilTest* R=willchan@chromium.org Review URL: http://codereview.chromium.org/8308007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105730 0039d316-1c4b-4281-b951-d872f2087c98
* Update task tracking to not depend on message_loop_ singletonjar@chromium.org2011-10-153-8/+30
| | | | | | | | | | | | | | | | | | | | | I also did a bunch of cleanup, and transitioned to tracking the duration of a run, rather than the time from posting (construction of a task) to completion of the run. It is less interesting for now to track queueing delay, and we need a focus on task execution time. I left in the hook (API) with the expectation that I'll be extending the tracked_objects code to include this as well. I also landed changes to run in Linux/Mac. The fact that I've punted on shutdown made this landing easy (all code support was previously lost during migration to some flavor of bind support). r=willchan,jam,viettrungluu,ajwong BUG=62728 Review URL: http://codereview.chromium.org/8233037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105694 0039d316-1c4b-4281-b951-d872f2087c98
* Add WorkerPool::PostTaskAndReply and use in DHCP code.joi@chromium.org2011-10-145-0/+241
| | | | | | | | | | | | | This factors out the PostTaskAndReply implementation out of MessageLoopProxy so that it can be used for any destination thread accessible via a PostTask-like interface, and uses that code from both MessageLoopProxy and WorkerPool. The DhcpProxyScriptFetcherWin and DhcpProxyScriptAdapterFetcher classes were both using a PostTaskAndReply-like mechanism with a WorkerPool thread, and on inspection it looks like there are several places in net/ where this is done, and this motivated the larger change (vs. patch set 1 which was a mechanical switch to base::Bind from NewRunnableMethod). BUG=97516 TEST=net_unittests Review URL: http://codereview.chromium.org/8139028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105512 0039d316-1c4b-4281-b951-d872f2087c98
* OpenBSD and FreeBSD fixes for base.mark@chromium.org2011-10-131-3/+2
| | | | | | | | | | | | | OpenBSD and FreeBSD need -I/usr/local/include for <execinfo.h>. Use !#/usr/bin/env bash because on !linux it's not located there. Patch by Robert Nagy <robert@openbsd.org> BUG=none TEST=none Review URL: http://codereview.chromium.org/8228005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105257 0039d316-1c4b-4281-b951-d872f2087c98
* Modify WaitableEvent::Wait() to return voidsteveblock@chromium.org2011-10-122-6/+3
| | | | | | | | | | | | | | | Currently, WaitableEvent::Wait() returns bool. However, the Windows implementation DCHECKs that the return value is true and the POSIX implementation can never return false. Also, all call sites that use the return value simply DCHECK that it's true. This change modifies the method to return void, adds a DCHECK in the POSIX implementation and updates call sites. Review URL: http://codereview.chromium.org/8221021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104990 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unnecessary #include <sys/nacl_syscalls.h>mcgrathr@chromium.org2011-10-051-4/+0
| | | | | | | | | | | | | | This header has never been needed by this code. We'd like to be able to remove it in the future. BUG= http://code.google.com/p/nativeclient/issues/detail?id=2335 TEST= none R=brettw@chromium.org Review URL: http://codereview.chromium.org/8162006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@104197 0039d316-1c4b-4281-b951-d872f2087c98
* Add trace code to track all posted tasks in message_loop and WorkerThreads ↵jbates@chromium.org2011-10-033-2/+17
| | | | | | | | | | | | (non-official builds only). It's very helpful to understand what chrome is doing at runtime. Sometimes a thread in chrome does something expensive that causes a frame hitch. With this change, any expensive task will show up clearly in traces, with the file/function of where the task was posted. TEST=go to about:tracing, run a trace and notice that all tasks are traced. Review URL: http://codereview.chromium.org/7778033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103740 0039d316-1c4b-4281-b951-d872f2087c98
* Suppress benign race in ThreadTest.SleepInsideInitjochen@chromium.org2011-09-271-1/+5
| | | | | | | | | BUG=98219 TEST=none Review URL: http://codereview.chromium.org/8060011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102922 0039d316-1c4b-4281-b951-d872f2087c98
* Delete Tracked, and move Location to its own file.ajwong@chromium.org2011-09-213-4/+9
| | | | | | | | | | | | | The Birth/Death tracking of tasks has been moved out-of-band into MessageLoop's PendingTask structure. Thus, Task no longer needs to inherit from Tracked. Since Task was the only child of Tracked, delete the Tracked class and move Location to its own file. BUG=none TEST=builds Review URL: http://codereview.chromium.org/7879006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102132 0039d316-1c4b-4281-b951-d872f2087c98
* Don't DCHECK thread_policy_set() calls because they can fail during runtimecrogers@google.com2011-09-061-5/+21
| | | | | | | | BUG=95274 TEST=none Review URL: http://codereview.chromium.org/7789007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99826 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some unneeded reinterpret_castsdilmah@chromium.org2011-08-261-1/+1
| | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/7741018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98417 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup code used to diagnose and fix bug 81449.apatrick@chromium.org2011-08-191-8/+0
| | | | | | | | | | I think it is unlikely that CloseHandle was the function that was being hooked because it is called from so many other places without problems. I am assuming that TerminateProcess was being hooked. If the symptoms of 81449 return when this is landed, this patch can be reverted. BUG=81449 Review URL: http://codereview.chromium.org/7624052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97407 0039d316-1c4b-4281-b951-d872f2087c98
* Implementation of PostTaskAndReply() in MessageLoopProxy and BrowserThread.ajwong@chromium.org2011-08-181-1/+1
| | | | | | | | | | | | | This ensures that the request/reply closures are always deleted on the origin thread, or leaked if the task cannot be completed (due to message loop shutdown). BUG=86301 TEST=new unittests Review URL: http://codereview.chromium.org/7210053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97387 0039d316-1c4b-4281-b951-d872f2087c98
* Add MessageLoopProxy::currentnduca@chromium.org2011-08-152-8/+2
| | | | | | Review URL: http://codereview.chromium.org/7583053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96819 0039d316-1c4b-4281-b951-d872f2087c98
* Added code to verify whether TerminateProcess is hooked before calling it.apatrick@chromium.org2011-08-111-0/+9
| | | | | | | | | | | | This is to diagnose the bug referenced below. I think it is possible that a third party DLL is hooking TerminateProcess with a replacement that uses the wrong calling convention or has the wrong number of arguments, which causes Process::Terminate to return to the wrong address, causing a crash. I put it in ThreadFunc because this is visible on the stack when the crash happens and because it is a windows specific .cc file. BUG=81449 Review URL: http://codereview.chromium.org/7606016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96266 0039d316-1c4b-4281-b951-d872f2087c98
* Implement backend for thread names and process names.nduca@chromium.org2011-08-094-3/+47
| | | | | | | | | | | | | | | | | Added a new trace event phase 'M'/TRACE_EVENT_PHASE_METADATA, which can become a general mechanism for adding metadata to traces. The two M-type events that we then add are: {ph=M pid=<pid> name="process_name" args={ name="name of pid" }} {ph=M pid=<pid> tid=<tid> name="thread_name" args={ name="name of tid" }} base::thread is instrumented to set names automatically. I will do a followon changelist to add instrumentation to Chrome for its various processes and threads. Review URL: http://codereview.chromium.org/7495031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95997 0039d316-1c4b-4281-b951-d872f2087c98
* Rename BASE_API to BASE_EXPORT.darin@chromium.org2011-08-0512-36/+36
| | | | | | | R=rvargas Review URL: http://codereview.chromium.org/7461141 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95618 0039d316-1c4b-4281-b951-d872f2087c98
* Android's paths and message loop implementation with JNImichaelbai@google.com2011-08-021-0/+9
| | | | | | | | | BUG= TEST= Review URL: http://codereview.chromium.org/7518032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95085 0039d316-1c4b-4281-b951-d872f2087c98
* Support Closure in ALL the loops!ajwong@chromium.org2011-07-265-62/+181
| | | | | | | | | | | | Add an overload for PostTask into MessageLoopProxy, and WorkerPool. BUG=35223 TEST=unittests. Review URL: http://codereview.chromium.org/7316015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94129 0039d316-1c4b-4281-b951-d872f2087c98
* Patch for Solaris support, mostly ifdefs and header files, plus adds ↵chromium@hybridsource.org2011-06-251-1/+1
| | | | | | | | | | | libevent configuration. BUG=30101 TEST=compiles Review URL: http://codereview.chromium.org/7238021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90494 0039d316-1c4b-4281-b951-d872f2087c98
* net: Add NET_API to net/baservargas@google.com2011-05-181-0/+6
| | | | | | | | BUG=76997 TEST=NONE Review URL: http://codereview.chromium.org/6969077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85785 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for real-time audio threads.crogers@google.com2011-05-175-2/+136
| | | | | | | | | BUG=none TEST=none (tested locally on Mac OS X) Review URL: http://codereview.chromium.org/6949009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85663 0039d316-1c4b-4281-b951-d872f2087c98
* Updating logging in src/base/. Using DCHECK_NE/EQ/LE/GE/GT() where possiblekushi.p@gmail.com2011-05-042-4/+6
| | | | | | | | | BUG=58409 Review URL: http://codereview.chromium.org/6883295 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84016 0039d316-1c4b-4281-b951-d872f2087c98
* Switch IPC::ChannelProxy to use MessageLoopProxy instead of MessageLoop. ↵jam@chromium.org2011-05-021-1/+1
| | | | | | | | This allows us to remove usage of the IOThread object, and generally makes IPC::ChannelProxy more robust for future uses. Review URL: http://codereview.chromium.org/6901146 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83741 0039d316-1c4b-4281-b951-d872f2087c98
* linux: components support for base/evan@chromium.org2011-04-291-1/+1
| | | | | | | | This builds base_unittests using libbase as a component. Review URL: http://codereview.chromium.org/6904109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83583 0039d316-1c4b-4281-b951-d872f2087c98
* Base: Last set of files to use BASE_API (for base.dll)rvargas@google.com2011-03-286-9/+13
| | | | | | | | | | Note that a bunck of these files have no unit tests :( BUG=76996 TEST=none Review URL: http://codereview.chromium.org/6747014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79633 0039d316-1c4b-4281-b951-d872f2087c98
* Move some files from base to base/memory.levin@chromium.org2011-03-286-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | raw_scoped_refptr_mismatch_checker.h ref_counted.cc ref_counted.h ref_counted_memory.cc ref_counted_memory.h ref_counted_unittest.cc scoped_callback_factory.h scoped_comptr_win.h scoped_handle.h scoped_native_library.cc scoped_native_library.h scoped_native_library_unittest.cc scoped_nsobject.h scoped_open_process.h scoped_ptr.h scoped_ptr_unittest.cc scoped_temp_dir.cc scoped_temp_dir.h scoped_temp_dir_unittest.cc scoped_vector.h singleton.h singleton_objc.h singleton_unittest.cc linked_ptr.h linked_ptr_unittest.cc weak_ptr.cc weak_ptr.h weak_ptr_unittest.cc BUG=None TEST=Compile Review URL: http://codereview.chromium.org/6714032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79524 0039d316-1c4b-4281-b951-d872f2087c98
* Base: A few more files using BASE_API (for base.dll)rvargas@google.com2011-03-251-1/+2
| | | | | | | | BUG=76996 TEST=none Review URL: http://codereview.chromium.org/6736019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79427 0039d316-1c4b-4281-b951-d872f2087c98
* Base: A few more files using BASE_API (for base.dll)rvargas@google.com2011-03-252-3/+4
| | | | | | | | BUG=76996 TEST=none Review URL: http://codereview.chromium.org/6733031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79426 0039d316-1c4b-4281-b951-d872f2087c98
* Base: A few more files using BASE_API (for base.dll)rvargas@google.com2011-03-245-20/+26
| | | | | | | | BUG=76996 TEST=none Review URL: http://codereview.chromium.org/6729002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79303 0039d316-1c4b-4281-b951-d872f2087c98
* Modify ThreadChecker and NonThreadSafe so that theirjoi@chromium.org2011-03-039-158/+252
| | | | | | | | | | | | | | | functionality is available in release builds if explicitly requested by using their Impl types. The default usage remains that they do nothing in release mode. Also, update unit tests to run in release mode, verifying that the release versions of NonThreadSafe and ThreadChecker do nothing in release builds. BUG=none TEST=base unit tests Review URL: http://codereview.chromium.org/6599004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76833 0039d316-1c4b-4281-b951-d872f2087c98
* Kill CleanUpAfterMessageLoopDestruction.willchan@chromium.org2011-03-033-12/+4
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/6602047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76800 0039d316-1c4b-4281-b951-d872f2087c98
* More DCHECK() updates. A mixture of _EQ and _GE.mhm@chromium.org2011-03-011-1/+1
| | | | | | | | Bug=58409 Review URL: http://codereview.chromium.org/6469070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76343 0039d316-1c4b-4281-b951-d872f2087c98
* Comment out unused parameter names in function definitions,joi@chromium.org2011-02-251-1/+1
| | | | | | | | | | | | | | to adhere to the C++ Style Guide. Landing for roubert@google.com, original review http://codereview.chromium.org/6485028/ BUG=none TEST=none Review URL: http://codereview.chromium.org/6580049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76017 0039d316-1c4b-4281-b951-d872f2087c98
* Initialize members of ThreadLocalStorage::Slot.finnur@chromium.org2011-02-112-4/+6
| | | | | | | | | | BUG=None TEST=None CID=14347 Review URL: http://codereview.chromium.org/6476028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74593 0039d316-1c4b-4281-b951-d872f2087c98
* Remove obsolete base/lock.h and fix up callers to use the new header file andbrettw@chromium.org2011-01-214-23/+23
| | | | | | | | | | | the base namespace. Fix several files including lock.h unnecessarily. BUG=none TEST=none Original review=http://codereview.chromium.org/6142009/ Patch by leviw@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72106 0039d316-1c4b-4281-b951-d872f2087c98
* Order function definitions in base/ according to the header.erg@google.com2011-01-112-39/+39
| | | | | | | | | BUG=68682 TEST=compiles Review URL: http://codereview.chromium.org/6085015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70975 0039d316-1c4b-4281-b951-d872f2087c98
* Start sorting methods in class declarations.erg@google.com2011-01-073-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | A lot of our headers are a mess and aren't organized. Impose the following order on files in the base/ directory: class Blah { each public/protected/private section: typedefs; enums; static constants; ctors; dtors; methods; overridden virtual methods; data members; }; BUG=68682 TEST=compiles Review URL: http://codereview.chromium.org/6081007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70749 0039d316-1c4b-4281-b951-d872f2087c98