diff options
| author | 2017-03-16 19:56:10 +0000 | |
|---|---|---|
| committer | 2017-03-16 19:56:10 +0000 | |
| commit | ed883a11b8cd7f3712bd30fca1e2b0fb641bff63 (patch) | |
| tree | b13ca4ec329595953d3aa3b04b0323f2dee173ca /compiler/optimizing/code_generator.cc | |
| parent | f0502d990265253992a54567bcd3ce5c8aa0ce59 (diff) | |
| parent | cbcedbf9382bc773713cd3552ed96f417bf1daeb (diff) | |
Merge "Add method info to oat files"
Diffstat (limited to 'compiler/optimizing/code_generator.cc')
| -rw-r--r-- | compiler/optimizing/code_generator.cc | 17 | 
1 files changed, 12 insertions, 5 deletions
| diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc index 424b8507fb..b7c80756b0 100644 --- a/compiler/optimizing/code_generator.cc +++ b/compiler/optimizing/code_generator.cc @@ -654,8 +654,12 @@ std::unique_ptr<CodeGenerator> CodeGenerator::Create(HGraph* graph,    }  } -size_t CodeGenerator::ComputeStackMapsSize() { -  return stack_map_stream_.PrepareForFillIn(); +void CodeGenerator::ComputeStackMapAndMethodInfoSize(size_t* stack_map_size, +                                                     size_t* method_info_size) { +  DCHECK(stack_map_size != nullptr); +  DCHECK(method_info_size != nullptr); +  *stack_map_size = stack_map_stream_.PrepareForFillIn(); +  *method_info_size = stack_map_stream_.ComputeMethodInfoSize();  }  static void CheckCovers(uint32_t dex_pc, @@ -723,10 +727,13 @@ static void CheckLoopEntriesCanBeUsedForOsr(const HGraph& graph,    }  } -void CodeGenerator::BuildStackMaps(MemoryRegion region, const DexFile::CodeItem& code_item) { -  stack_map_stream_.FillIn(region); +void CodeGenerator::BuildStackMaps(MemoryRegion stack_map_region, +                                   MemoryRegion method_info_region, +                                   const DexFile::CodeItem& code_item) { +  stack_map_stream_.FillInCodeInfo(stack_map_region); +  stack_map_stream_.FillInMethodInfo(method_info_region);    if (kIsDebugBuild) { -    CheckLoopEntriesCanBeUsedForOsr(*graph_, CodeInfo(region), code_item); +    CheckLoopEntriesCanBeUsedForOsr(*graph_, CodeInfo(stack_map_region), code_item);    }  } |