From 376b2bbf7c39108223a7a01568a7b4b04d84eeac Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Tue, 9 Dec 2014 14:26:32 +0000 Subject: Ensure stack maps are 4 byte aligned. With the recent move to gcc 4.9, we are hitting alignment SIGBUS on ARM. The reason is that gcc will optimize two consecutive 32bits loads into one 64bits load, and the instruction (ldrd) will fail if the data is not aligned. Also removed the emission of mapping table when a method is optimized. The information can be found in the StackMap itself. Change-Id: Icf79406c18a3f4db3c05d52fc2c0dd2e35bf0f8f --- compiler/compiled_method.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'compiler/compiled_method.cc') diff --git a/compiler/compiled_method.cc b/compiler/compiled_method.cc index 698bf3b..e292834 100644 --- a/compiler/compiled_method.cc +++ b/compiler/compiled_method.cc @@ -170,14 +170,13 @@ CompiledMethod::CompiledMethod(CompilerDriver* driver, const size_t frame_size_in_bytes, const uint32_t core_spill_mask, const uint32_t fp_spill_mask, - const std::vector& mapping_table, const std::vector& stack_map) : CompiledCode(driver, instruction_set, quick_code), frame_size_in_bytes_(frame_size_in_bytes), core_spill_mask_(core_spill_mask), fp_spill_mask_(fp_spill_mask), src_mapping_table_(driver->DeduplicateSrcMappingTable(SrcMap())), - mapping_table_(driver->DeduplicateMappingTable(mapping_table)), + mapping_table_(nullptr), vmap_table_(driver->DeduplicateVMapTable(stack_map)), gc_map_(nullptr), cfi_info_(nullptr), -- cgit v1.1