From 6ee06e97cef5ee92944deaeba0da4d10c4c33a2a Mon Sep 17 00:00:00 2001 From: David Srbecky Date: Wed, 25 Jul 2018 21:45:54 +0100 Subject: Decode only the needed tables from CodeInfo. Most use cases need only the first two bit tables from CodeInfo. Add flag to the decode method so that only those two are loaded. We only touched the table header but that still made difference. This speeds up pmd by over 10%. Test: test-art-host-gtest Change-Id: I7740081bf18205dd69864503b5bcec7de5e1a901 --- runtime/entrypoints/entrypoint_utils.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'runtime/entrypoints/entrypoint_utils.cc') diff --git a/runtime/entrypoints/entrypoint_utils.cc b/runtime/entrypoints/entrypoint_utils.cc index 0c61965908..a5ebce5f5b 100644 --- a/runtime/entrypoints/entrypoint_utils.cc +++ b/runtime/entrypoints/entrypoint_utils.cc @@ -201,7 +201,7 @@ static inline ArtMethod* DoGetCalleeSaveMethodCaller(ArtMethod* outer_method, DCHECK(current_code != nullptr); DCHECK(current_code->IsOptimized()); uintptr_t native_pc_offset = current_code->NativeQuickPcOffset(caller_pc); - CodeInfo code_info(current_code); + CodeInfo code_info(current_code, CodeInfo::DecodeFlags::InlineInfoOnly); MethodInfo method_info = current_code->GetOptimizedMethodInfo(); StackMap stack_map = code_info.GetStackMapForNativePcOffset(native_pc_offset); DCHECK(stack_map.IsValid()); -- cgit v1.2.3-59-g8ed1b