diff options
author | Hiroshi Yamauchi <yamauchi@google.com> | 2014-05-09 11:45:53 -0700 |
---|---|---|
committer | Hiroshi Yamauchi <yamauchi@google.com> | 2014-05-09 11:50:32 -0700 |
commit | 25023c744c4388a6459b21cc3babf8c602b024a2 (patch) | |
tree | 6d266d8eb8ed442e1dfeb5102ed9ed38a5ee83d9 /runtime/mirror/class.h | |
parent | 3d1e6642d350e23fa85d4cfcb03413a576880396 (diff) | |
download | art-25023c744c4388a6459b21cc3babf8c602b024a2.zip art-25023c744c4388a6459b21cc3babf8c602b024a2.tar.gz art-25023c744c4388a6459b21cc3babf8c602b024a2.tar.bz2 |
Make it possible to disable read barriers in Class::GetObjectSize()
This is a leftover from cl/91831 (commit
9103c86a98524e9ddfd14f8cee56e919f68eee9b) that attempted to make it
possible to disable read barriers in Object::SizeOf().
Bug: 12687968
Change-Id: I2b05076832936881ec61bc21b6eb6b7c04e0a1f0
Diffstat (limited to 'runtime/mirror/class.h')
-rw-r--r-- | runtime/mirror/class.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/runtime/mirror/class.h b/runtime/mirror/class.h index 00ecead..1f393db 100644 --- a/runtime/mirror/class.h +++ b/runtime/mirror/class.h @@ -366,6 +366,8 @@ class MANAGED Class : public Object { return GetComponentType<kVerifyFlags, kReadBarrierOption>() != NULL; } + template<VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags, + ReadBarrierOption kReadBarrierOption = kWithReadBarrier> bool IsClassClass() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); bool IsStringClass() const; @@ -423,10 +425,13 @@ class MANAGED Class : public Object { Object* AllocNonMovableObject(Thread* self) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + template<VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags, + ReadBarrierOption kReadBarrierOption = kWithReadBarrier> bool IsVariableSize() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { // Classes and arrays vary in size, and so the object_size_ field cannot // be used to get their instance size - return IsClassClass() || IsArrayClass(); + return IsClassClass<kVerifyFlags, kReadBarrierOption>() || + IsArrayClass<kVerifyFlags, kReadBarrierOption>(); } template<VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags, @@ -443,6 +448,8 @@ class MANAGED Class : public Object { void SetClassSize(uint32_t new_class_size) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + template<VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags, + ReadBarrierOption kReadBarrierOption = kWithReadBarrier> uint32_t GetObjectSize() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); void SetObjectSize(uint32_t new_object_size) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { |