summaryrefslogtreecommitdiffstats
path: root/ppapi/shared_impl/var_tracker.cc
diff options
context:
space:
mode:
authordmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-21 20:33:12 +0000
committerdmichael@chromium.org <dmichael@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-21 20:33:12 +0000
commit7d792aba8f7c901d11820f25cd014ec43435ad02 (patch)
tree2bc384bba93afd793a9e73e89b81a6d7696a7079 /ppapi/shared_impl/var_tracker.cc
parentcccb13dbf6a113811ae68c96c30b65491dd9427d (diff)
downloadchromium_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.cc50
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());