summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2015-03-18 10:48:19 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2015-03-18 10:48:19 +0000
commit0ced884ac5b2ce50a8bfe738f654155c51b2766f (patch)
tree0afc979e047848d486b2b4f14d584afa42bb82cb
parentd6f00810e2419489f526e4f0c94cb13318a365fd (diff)
parentaec8f930571ce10d6ce9a4249c45866a7f213397 (diff)
Merge "StackMap: Always load and store unalign."
-rw-r--r--compiler/optimizing/stack_map_stream.h4
-rw-r--r--runtime/stack_map.h12
2 files changed, 8 insertions, 8 deletions
diff --git a/compiler/optimizing/stack_map_stream.h b/compiler/optimizing/stack_map_stream.h
index 63a02862b4..e1a5afe0e7 100644
--- a/compiler/optimizing/stack_map_stream.h
+++ b/compiler/optimizing/stack_map_stream.h
@@ -105,8 +105,8 @@ class StackMapStream : public ValueObject {
+ ComputeStackMapsSize()
+ ComputeDexRegisterMapsSize()
+ ComputeInlineInfoSize();
- // On ARM, CodeInfo data must be 4-byte aligned.
- return RoundUp(size, kWordAlignment);
+ // Note: use RoundUp to word-size here if you want CodeInfo objects to be word aligned.
+ return size;
}
size_t ComputeStackMaskSize() const {
diff --git a/runtime/stack_map.h b/runtime/stack_map.h
index 0db589f082..961772c97e 100644
--- a/runtime/stack_map.h
+++ b/runtime/stack_map.h
@@ -632,27 +632,27 @@ class CodeInfo {
}
uint32_t GetOverallSize() const {
- return region_.Load<uint32_t>(kOverallSizeOffset);
+ return region_.LoadUnaligned<uint32_t>(kOverallSizeOffset);
}
void SetOverallSize(uint32_t size) {
- region_.Store<uint32_t>(kOverallSizeOffset, size);
+ region_.StoreUnaligned<uint32_t>(kOverallSizeOffset, size);
}
uint32_t GetStackMaskSize() const {
- return region_.Load<uint32_t>(kStackMaskSizeOffset);
+ return region_.LoadUnaligned<uint32_t>(kStackMaskSizeOffset);
}
void SetStackMaskSize(uint32_t size) {
- region_.Store<uint32_t>(kStackMaskSizeOffset, size);
+ region_.StoreUnaligned<uint32_t>(kStackMaskSizeOffset, size);
}
size_t GetNumberOfStackMaps() const {
- return region_.Load<uint32_t>(kNumberOfStackMapsOffset);
+ return region_.LoadUnaligned<uint32_t>(kNumberOfStackMapsOffset);
}
void SetNumberOfStackMaps(uint32_t number_of_stack_maps) {
- region_.Store<uint32_t>(kNumberOfStackMapsOffset, number_of_stack_maps);
+ region_.StoreUnaligned<uint32_t>(kNumberOfStackMapsOffset, number_of_stack_maps);
}
// Get the size of one stack map of this CodeInfo object, in bytes.