From e7a9194558379ee24fde82fcaeaee29542df1520 Mon Sep 17 00:00:00 2001 From: David Srbecky Date: Wed, 1 Aug 2018 17:23:53 +0100 Subject: Simplify StackMapStream encoding. Test: test-art-host-gtest-stack_map_test Change-Id: Ife021d03e4e486043ec609f9af8673ace7bde497 --- compiler/optimizing/code_generator.cc | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'compiler/optimizing/code_generator.cc') diff --git a/compiler/optimizing/code_generator.cc b/compiler/optimizing/code_generator.cc index f6a104b7c2..21ecedd5dd 100644 --- a/compiler/optimizing/code_generator.cc +++ b/compiler/optimizing/code_generator.cc @@ -961,12 +961,6 @@ CodeGenerator::CodeGenerator(HGraph* graph, CodeGenerator::~CodeGenerator() {} -void CodeGenerator::ComputeStackMapSize(size_t* stack_map_size) { - DCHECK(stack_map_size != nullptr); - StackMapStream* stack_map_stream = GetStackMapStream(); - *stack_map_size = stack_map_stream->PrepareForFillIn(); -} - size_t CodeGenerator::GetNumberOfJitRoots() const { DCHECK(code_generation_data_ != nullptr); return code_generation_data_->GetNumberOfJitRoots(); @@ -1033,13 +1027,12 @@ static void CheckLoopEntriesCanBeUsedForOsr(const HGraph& graph, } } -void CodeGenerator::BuildStackMaps(MemoryRegion stack_map_region, - const DexFile::CodeItem* code_item_for_osr_check) { - StackMapStream* stack_map_stream = GetStackMapStream(); - stack_map_stream->FillInCodeInfo(stack_map_region); - if (kIsDebugBuild && code_item_for_osr_check != nullptr) { - CheckLoopEntriesCanBeUsedForOsr(*graph_, CodeInfo(stack_map_region), *code_item_for_osr_check); +ScopedArenaVector CodeGenerator::BuildStackMaps(const DexFile::CodeItem* code_item) { + ScopedArenaVector stack_map = GetStackMapStream()->Encode(); + if (kIsDebugBuild && code_item != nullptr) { + CheckLoopEntriesCanBeUsedForOsr(*graph_, CodeInfo(stack_map.data()), *code_item); } + return stack_map; } void CodeGenerator::RecordPcInfo(HInstruction* instruction, -- cgit v1.2.3-59-g8ed1b