mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-09 02:56:10 +00:00
LibJS/Bytecode: Inline indexed property access in GetByVal better
This commit is contained in:
parent
3170ad2ee3
commit
161298b5d1
Notes:
sideshowbarker
2024-07-17 03:16:02 +09:00
Author: https://github.com/awesomekling
Commit: 161298b5d1
Pull-request: https://github.com/SerenityOS/serenity/pull/24260
Reviewed-by: https://github.com/Hendiadyoin1
Reviewed-by: https://github.com/mattco98
3 changed files with 20 additions and 5 deletions
|
@ -74,6 +74,18 @@ public:
|
|||
|
||||
Vector<Value> const& elements() const { return m_packed_elements; }
|
||||
|
||||
[[nodiscard]] bool inline_has_index(u32 index) const
|
||||
{
|
||||
return index < m_array_size && !m_packed_elements.data()[index].is_empty();
|
||||
}
|
||||
|
||||
[[nodiscard]] Optional<ValueAndAttributes> inline_get(u32 index) const
|
||||
{
|
||||
if (!inline_has_index(index))
|
||||
return {};
|
||||
return ValueAndAttributes { m_packed_elements.data()[index], default_attributes };
|
||||
}
|
||||
|
||||
private:
|
||||
friend GenericIndexedPropertyStorage;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue