Browse Source

LibELF: Inline DynamicObject::hash_section()

This was high up in profiles and gets almost entirely optimized out
when inlined, so let's do that.
Andreas Kling 4 years ago
parent
commit
b33a6a443e

+ 0 - 8
Userland/Libraries/LibELF/DynamicObject.cpp

@@ -233,14 +233,6 @@ DynamicObject::Section DynamicObject::fini_array_section() const
     return Section(*this, m_fini_array_offset, m_fini_array_size, sizeof(void (*)()), "DT_FINI_ARRAY");
     return Section(*this, m_fini_array_offset, m_fini_array_size, sizeof(void (*)()), "DT_FINI_ARRAY");
 }
 }
 
 
-DynamicObject::HashSection DynamicObject::hash_section() const
-{
-    auto section_name = m_hash_type == HashType::SYSV
-        ? StringView { "DT_HASH", 7 }
-        : StringView { "DT_GNU_HASH", 11 };
-    return HashSection(Section(*this, m_hash_table_offset, 0, 0, section_name), m_hash_type);
-}
-
 DynamicObject::RelocationSection DynamicObject::relocation_section() const
 DynamicObject::RelocationSection DynamicObject::relocation_section() const
 {
 {
     return RelocationSection(Section(*this, m_relocation_table_offset, m_size_of_relocation_table, m_size_of_relocation_entry, "DT_REL"));
     return RelocationSection(Section(*this, m_relocation_table_offset, m_size_of_relocation_table, m_size_of_relocation_entry, "DT_REL"));

+ 7 - 1
Userland/Libraries/LibELF/DynamicObject.h

@@ -217,7 +217,13 @@ public:
     Section init_array_section() const;
     Section init_array_section() const;
     Section fini_array_section() const;
     Section fini_array_section() const;
 
 
-    HashSection hash_section() const;
+    HashSection hash_section() const
+    {
+        auto section_name = m_hash_type == HashType::SYSV
+            ? StringView { "DT_HASH", 7 }
+            : StringView { "DT_GNU_HASH", 11 };
+        return HashSection(Section(*this, m_hash_table_offset, 0, 0, section_name), m_hash_type);
+    }
 
 
     RelocationSection relocation_section() const;
     RelocationSection relocation_section() const;
     RelocationSection plt_relocation_section() const;
     RelocationSection plt_relocation_section() const;