diff options
author | dmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-21 20:33:12 +0000 |
---|---|---|
committer | dmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-21 20:33:12 +0000 |
commit | 7d792aba8f7c901d11820f25cd014ec43435ad02 (patch) | |
tree | 2bc384bba93afd793a9e73e89b81a6d7696a7079 /ppapi/shared_impl/var_tracker.cc | |
parent | cccb13dbf6a113811ae68c96c30b65491dd9427d (diff) | |
download | chromium_src-7d792aba8f7c901d11820f25cd014ec43435ad02.zip chromium_src-7d792aba8f7c901d11820f25cd014ec43435ad02.tar.gz chromium_src-7d792aba8f7c901d11820f25cd014ec43435ad02.tar.bz2 |
Revert 189518 "PPAPI: Remove threading options; it's always on"
This is an experimental revert to see if it helps with imaging-darkroom on Kraken.
BUG=222741,159240,92909
> PPAPI: Remove threading options; it's always on
>
> This also re-enables thread checking for the host side resource and var trackers. Before, checking was disabled everywhere.
>
> BUG=159240,92909
>
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=186925
> Reverted: https://src.chromium.org/viewvc/chrome?view=rev&revision=186939 due to build errors
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=187340
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=187427
> Reverted: https://src.chromium.org/viewvc/chrome?view=rev&revision=187668 due to a failing check in Canary, which was fixed here: https://src.chromium.org/viewvc/chrome?view=rev&revision=187681
>
> Review URL: https://chromiumcodereview.appspot.com/12378050
TBR=dmichael@chromium.org
Review URL: https://codereview.chromium.org/12920003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189682 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/shared_impl/var_tracker.cc')
-rw-r--r-- | ppapi/shared_impl/var_tracker.cc | 50 |
1 files changed, 28 insertions, 22 deletions
diff --git a/ppapi/shared_impl/var_tracker.cc b/ppapi/shared_impl/var_tracker.cc index 26160f4..434121e 100644 --- a/ppapi/shared_impl/var_tracker.cc +++ b/ppapi/shared_impl/var_tracker.cc @@ -29,27 +29,22 @@ VarTracker::VarInfo::VarInfo(Var* v, int input_ref_count) track_with_no_reference_count(0) { } -VarTracker::VarTracker(ThreadMode thread_mode) : last_var_id_(0) { - if (thread_mode == SINGLE_THREADED) - thread_checker_.reset(new base::ThreadChecker); +VarTracker::VarTracker() : last_var_id_(0) { } VarTracker::~VarTracker() { } -void VarTracker::CheckThreadingPreconditions() const { - DCHECK(!thread_checker_ || thread_checker_->CalledOnValidThread()); - ProxyLock::AssertAcquired(); -} - int32 VarTracker::AddVar(Var* var) { - CheckThreadingPreconditions(); + DCHECK(CalledOnValidThread()); + ProxyLock::AssertAcquired(); return AddVarInternal(var, ADD_VAR_TAKE_ONE_REFERENCE); } Var* VarTracker::GetVar(int32 var_id) const { - CheckThreadingPreconditions(); + DCHECK(CalledOnValidThread()); + ProxyLock::AssertAcquired(); VarMap::const_iterator result = live_vars_.find(var_id); if (result == live_vars_.end()) @@ -58,7 +53,8 @@ Var* VarTracker::GetVar(int32 var_id) const { } Var* VarTracker::GetVar(const PP_Var& var) const { - CheckThreadingPreconditions(); + DCHECK(CalledOnValidThread()); + ProxyLock::AssertAcquired(); if (!IsVarTypeRefcounted(var.type)) return NULL; @@ -66,7 +62,8 @@ Var* VarTracker::GetVar(const PP_Var& var) const { } bool VarTracker::AddRefVar(int32 var_id) { - CheckThreadingPreconditions(); + DCHECK(CalledOnValidThread()); + ProxyLock::AssertAcquired(); DLOG_IF(ERROR, !CheckIdType(var_id, PP_ID_TYPE_VAR)) << var_id << " is not a PP_Var ID."; @@ -91,7 +88,8 @@ bool VarTracker::AddRefVar(int32 var_id) { } bool VarTracker::AddRefVar(const PP_Var& var) { - CheckThreadingPreconditions(); + DCHECK(CalledOnValidThread()); + ProxyLock::AssertAcquired(); if (!IsVarTypeRefcounted(var.type)) return true; @@ -99,7 +97,8 @@ bool VarTracker::AddRefVar(const PP_Var& var) { } bool VarTracker::ReleaseVar(int32 var_id) { - CheckThreadingPreconditions(); + DCHECK(CalledOnValidThread()); + ProxyLock::AssertAcquired(); DLOG_IF(ERROR, !CheckIdType(var_id, PP_ID_TYPE_VAR)) << var_id << " is not a PP_Var ID."; @@ -130,7 +129,8 @@ bool VarTracker::ReleaseVar(int32 var_id) { } bool VarTracker::ReleaseVar(const PP_Var& var) { - CheckThreadingPreconditions(); + DCHECK(CalledOnValidThread()); + ProxyLock::AssertAcquired(); if (!IsVarTypeRefcounted(var.type)) return false; @@ -154,7 +154,8 @@ VarTracker::VarMap::iterator VarTracker::GetLiveVar(int32 id) { } int VarTracker::GetRefCountForObject(const PP_Var& plugin_object) { - CheckThreadingPreconditions(); + DCHECK(CalledOnValidThread()); + ProxyLock::AssertAcquired(); VarMap::iterator found = GetLiveVar(plugin_object); if (found == live_vars_.end()) @@ -164,7 +165,8 @@ int VarTracker::GetRefCountForObject(const PP_Var& plugin_object) { int VarTracker::GetTrackedWithNoReferenceCountForObject( const PP_Var& plugin_object) { - CheckThreadingPreconditions(); + DCHECK(CalledOnValidThread()); + ProxyLock::AssertAcquired(); VarMap::iterator found = GetLiveVar(plugin_object); if (found == live_vars_.end()) @@ -186,7 +188,8 @@ bool VarTracker::IsVarTypeRefcounted(PP_VarType type) const { } PP_Var VarTracker::MakeArrayBufferPPVar(uint32 size_in_bytes) { - CheckThreadingPreconditions(); + DCHECK(CalledOnValidThread()); + ProxyLock::AssertAcquired(); scoped_refptr<ArrayBufferVar> array_buffer(CreateArrayBuffer(size_in_bytes)); if (!array_buffer) @@ -196,7 +199,8 @@ PP_Var VarTracker::MakeArrayBufferPPVar(uint32 size_in_bytes) { PP_Var VarTracker::MakeArrayBufferPPVar(uint32 size_in_bytes, const void* data) { - CheckThreadingPreconditions(); + DCHECK(CalledOnValidThread()); + ProxyLock::AssertAcquired(); ArrayBufferVar* array_buffer = MakeArrayBufferVar(size_in_bytes, data); return array_buffer ? array_buffer->GetPPVar() : PP_MakeNull(); @@ -204,7 +208,8 @@ PP_Var VarTracker::MakeArrayBufferPPVar(uint32 size_in_bytes, ArrayBufferVar* VarTracker::MakeArrayBufferVar(uint32 size_in_bytes, const void* data) { - CheckThreadingPreconditions(); + DCHECK(CalledOnValidThread()); + ProxyLock::AssertAcquired(); ArrayBufferVar* array_buffer(CreateArrayBuffer(size_in_bytes)); if (!array_buffer) @@ -215,7 +220,7 @@ ArrayBufferVar* VarTracker::MakeArrayBufferVar(uint32 size_in_bytes, PP_Var VarTracker::MakeArrayBufferPPVar(uint32 size_in_bytes, base::SharedMemoryHandle handle) { - CheckThreadingPreconditions(); + DCHECK(CalledOnValidThread()); scoped_refptr<ArrayBufferVar> array_buffer( CreateShmArrayBuffer(size_in_bytes, handle)); @@ -225,7 +230,8 @@ PP_Var VarTracker::MakeArrayBufferPPVar(uint32 size_in_bytes, } std::vector<PP_Var> VarTracker::GetLiveVars() { - CheckThreadingPreconditions(); + DCHECK(CalledOnValidThread()); + ProxyLock::AssertAcquired(); std::vector<PP_Var> var_vector; var_vector.reserve(live_vars_.size()); |