diff options
| author | 2015-03-18 10:48:19 +0000 | |
|---|---|---|
| committer | 2015-03-18 10:48:19 +0000 | |
| commit | 0ced884ac5b2ce50a8bfe738f654155c51b2766f (patch) | |
| tree | 0afc979e047848d486b2b4f14d584afa42bb82cb | |
| parent | d6f00810e2419489f526e4f0c94cb13318a365fd (diff) | |
| parent | aec8f930571ce10d6ce9a4249c45866a7f213397 (diff) | |
Merge "StackMap: Always load and store unalign."
| -rw-r--r-- | compiler/optimizing/stack_map_stream.h | 4 | ||||
| -rw-r--r-- | runtime/stack_map.h | 12 |
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. |