mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-22 12:35:14 +00:00
LibJS: Add fast path for strings in Value::to_property_key()
If the Value is already a primitive string, we can skip all the conversion ceremony and return a PropertyKey right away.
This commit is contained in:
parent
b11f3853a8
commit
896f8be09f
1 changed files with 4 additions and 0 deletions
|
@ -898,6 +898,10 @@ ThrowCompletionOr<PropertyKey> Value::to_property_key(VM& vm) const
|
|||
if (is_int32() && as_i32() >= 0)
|
||||
return PropertyKey { as_i32() };
|
||||
|
||||
// OPTIMIZATION: If this is already a string, we can skip all the ceremony.
|
||||
if (is_string())
|
||||
return PropertyKey { as_string().utf8_string() };
|
||||
|
||||
// 1. Let key be ? ToPrimitive(argument, string).
|
||||
auto key = TRY(to_primitive(vm, PreferredType::String));
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue