From e1412dacbf1d2a809bd1fca658cc8cb8f61f8ee6 Mon Sep 17 00:00:00 2001 From: David Srbecky Date: Wed, 13 Feb 2019 17:27:17 +0000 Subject: Revert^2 "Add code size to CodeInfo" This temporarily adds 0.25% to oat file size. The space will be reclaimed back in follow-up CL. This reverts commit 8f20a23a35fa6fbe4dcb4ff70268a24dc7fb2a24. Reason for revert: Reland as-is after CL/903819 Bug: 123510633 Test: DCHECK compare the two stored code sizes. Change-Id: Ia3ab31c208948f4996188764fcdcba13d9977d19 --- compiler/optimizing/optimizing_compiler.cc | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'compiler/optimizing/optimizing_compiler.cc') diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index e8f8d32525..4f43b71fde 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -1171,7 +1171,8 @@ CompiledMethod* OptimizingCompiler::Compile(const dex::CodeItem* code_item, } static ScopedArenaVector CreateJniStackMap(ScopedArenaAllocator* allocator, - const JniCompiledMethod& jni_compiled_method) { + const JniCompiledMethod& jni_compiled_method, + size_t code_size) { // StackMapStream is quite large, so allocate it using the ScopedArenaAllocator // to stay clear of the frame size limit. std::unique_ptr stack_map_stream( @@ -1181,7 +1182,7 @@ static ScopedArenaVector CreateJniStackMap(ScopedArenaAllocator* alloca jni_compiled_method.GetCoreSpillMask(), jni_compiled_method.GetFpSpillMask(), /* num_dex_registers= */ 0); - stack_map_stream->EndMethod(); + stack_map_stream->EndMethod(code_size); return stack_map_stream->Encode(); } @@ -1239,8 +1240,8 @@ CompiledMethod* OptimizingCompiler::JniCompile(uint32_t access_flags, MaybeRecordStat(compilation_stats_.get(), MethodCompilationStat::kCompiledNativeStub); ScopedArenaAllocator stack_map_allocator(&arena_stack); // Will hold the stack map. - ScopedArenaVector stack_map = CreateJniStackMap(&stack_map_allocator, - jni_compiled_method); + ScopedArenaVector stack_map = CreateJniStackMap( + &stack_map_allocator, jni_compiled_method, jni_compiled_method.GetCode().size()); return CompiledMethod::SwapAllocCompiledMethod( GetCompilerDriver()->GetCompiledMethodStorage(), jni_compiled_method.GetInstructionSet(), @@ -1290,8 +1291,8 @@ bool OptimizingCompiler::JitCompile(Thread* self, ArenaStack arena_stack(runtime->GetJitArenaPool()); // StackMapStream is large and it does not fit into this frame, so we need helper method. ScopedArenaAllocator stack_map_allocator(&arena_stack); // Will hold the stack map. - ScopedArenaVector stack_map = CreateJniStackMap(&stack_map_allocator, - jni_compiled_method); + ScopedArenaVector stack_map = CreateJniStackMap( + &stack_map_allocator, jni_compiled_method, jni_compiled_method.GetCode().size()); uint8_t* stack_map_data = nullptr; uint8_t* roots_data = nullptr; uint32_t data_size = code_cache->ReserveData(self, -- cgit v1.2.3-59-g8ed1b