diff options
author | 2022-04-07 16:04:24 +0000 | |
---|---|---|
committer | 2022-04-08 08:55:55 +0000 | |
commit | fb95eedb3c8a383ea94868f5da14b5ea9b69a87d (patch) | |
tree | f7898422ccfbd9ffc7257eecc899ec40b1eaf5f4 | |
parent | aa5a644f17aab27dee172642a276bd24e69a5b54 (diff) |
Force inlining in `CodeInfo` constructors.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 181943478
Change-Id: I871ec7326b55c988d78b4481974e95c53ac7a9b1
-rw-r--r-- | runtime/stack_map.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/runtime/stack_map.cc b/runtime/stack_map.cc index 591cc6d3ba..2c311fb85e 100644 --- a/runtime/stack_map.cc +++ b/runtime/stack_map.cc @@ -32,10 +32,10 @@ template<typename DecodeCallback> CodeInfo::CodeInfo(const uint8_t* data, size_t* num_read_bits, DecodeCallback callback) { BitMemoryReader reader(data); std::array<uint32_t, kNumHeaders> header = reader.ReadInterleavedVarints<kNumHeaders>(); - ForEachHeaderField([this, &header](size_t i, auto member_pointer) { + ForEachHeaderField([this, &header](size_t i, auto member_pointer) ALWAYS_INLINE { this->*member_pointer = header[i]; }); - ForEachBitTableField([this, &reader, &callback](size_t i, auto member_pointer) { + ForEachBitTableField([this, &reader, &callback](size_t i, auto member_pointer) ALWAYS_INLINE { auto& table = this->*member_pointer; if (LIKELY(HasBitTable(i))) { if (UNLIKELY(IsBitTableDeduped(i))) { @@ -56,7 +56,7 @@ CodeInfo::CodeInfo(const uint8_t* data, size_t* num_read_bits, DecodeCallback ca } CodeInfo::CodeInfo(const uint8_t* data, size_t* num_read_bits) - : CodeInfo(data, num_read_bits, [](size_t, auto*, BitMemoryRegion){}) {} + : CodeInfo(data, num_read_bits, [](size_t, auto*, BitMemoryRegion) ALWAYS_INLINE {}) {} CodeInfo::CodeInfo(const OatQuickMethodHeader* header) : CodeInfo(header->GetOptimizedCodeInfoPtr()) {} |