summaryrefslogtreecommitdiffstats
path: root/compiler/image_writer.cc
diff options
context:
space:
mode:
authorIan Rogers <irogers@google.com>2014-04-28 16:47:08 -0700
committerIan Rogers <irogers@google.com>2014-04-29 14:36:28 -0700
commitb0fa5dc7769c1e054032f39de0a3f6d6dd06f8cf (patch)
tree839d13ebfa7170967dd9b4abd434b7abda53da99 /compiler/image_writer.cc
parent948740c1938860df055ddc801f20fd1707331e38 (diff)
downloadart-b0fa5dc7769c1e054032f39de0a3f6d6dd06f8cf.zip
art-b0fa5dc7769c1e054032f39de0a3f6d6dd06f8cf.tar.gz
art-b0fa5dc7769c1e054032f39de0a3f6d6dd06f8cf.tar.bz2
Force inlining on trivial accessors.
Make volatility for GetFieldObject a template parameter. Move some trivial mirror::String routines to a -inl.h. Bug: 14285442 Change-Id: Ie23b11d4f18cb15a62c3bbb42837a8aaf6b68f92
Diffstat (limited to 'compiler/image_writer.cc')
-rw-r--r--compiler/image_writer.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/compiler/image_writer.cc b/compiler/image_writer.cc
index c35d400..e6d983f 100644
--- a/compiler/image_writer.cc
+++ b/compiler/image_writer.cc
@@ -45,6 +45,7 @@
#include "mirror/dex_cache-inl.h"
#include "mirror/object-inl.h"
#include "mirror/object_array-inl.h"
+#include "mirror/string-inl.h"
#include "oat.h"
#include "oat_file.h"
#include "object_utils.h"
@@ -448,7 +449,7 @@ void ImageWriter::WalkInstanceFields(mirror::Object* obj, mirror::Class* klass)
for (size_t i = 0; i < num_reference_fields; ++i) {
mirror::ArtField* field = sirt_class->GetInstanceField(i);
MemberOffset field_offset = field->GetOffset();
- mirror::Object* value = obj->GetFieldObject<mirror::Object>(field_offset, false);
+ mirror::Object* value = obj->GetFieldObject<mirror::Object>(field_offset);
if (value != nullptr) {
WalkFieldsInOrder(value);
}
@@ -471,7 +472,7 @@ void ImageWriter::WalkFieldsInOrder(mirror::Object* obj) {
for (size_t i = 0; i < num_static_fields; ++i) {
mirror::ArtField* field = klass->GetStaticField(i);
MemberOffset field_offset = field->GetOffset();
- mirror::Object* value = sirt_obj->GetFieldObject<mirror::Object>(field_offset, false);
+ mirror::Object* value = sirt_obj->GetFieldObject<mirror::Object>(field_offset);
if (value != nullptr) {
WalkFieldsInOrder(value);
}
@@ -586,11 +587,11 @@ class FixupVisitor {
void operator()(Object* obj, MemberOffset offset, bool /*is_static*/) const
EXCLUSIVE_LOCKS_REQUIRED(Locks::mutator_lock_, Locks::heap_bitmap_lock_) {
- Object* ref = obj->GetFieldObject<Object, kVerifyNone>(offset, false);
+ Object* ref = obj->GetFieldObject<Object, kVerifyNone, false>(offset);
// Use SetFieldObjectWithoutWriteBarrier to avoid card marking since we are writing to the
// image.
copy_->SetFieldObjectWithoutWriteBarrier<false, true, kVerifyNone>(
- offset, image_writer_->GetImageAddress(ref), false);
+ offset, image_writer_->GetImageAddress(ref));
}
// java.lang.ref.Reference visitor.
@@ -598,8 +599,7 @@ class FixupVisitor {
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_)
EXCLUSIVE_LOCKS_REQUIRED(Locks::heap_bitmap_lock_) {
copy_->SetFieldObjectWithoutWriteBarrier<false, true, kVerifyNone>(
- mirror::Reference::ReferentOffset(), image_writer_->GetImageAddress(ref->GetReferent()),
- false);
+ mirror::Reference::ReferentOffset(), image_writer_->GetImageAddress(ref->GetReferent()));
}
private: