mirror of
https://github.com/zebrajr/ladybird.git
synced 2025-12-06 00:19:53 +01:00
LibJS: Make PrimitiveString::create() take String/Utf16String by const&
This avoids unnecessary ref-count churn in the case where a string is already in the VM's string cache.
This commit is contained in:
parent
0675c6e3cc
commit
792913e9f7
|
|
@ -24,7 +24,7 @@ namespace JS {
|
|||
GC_DEFINE_ALLOCATOR(PrimitiveString);
|
||||
GC_DEFINE_ALLOCATOR(RopeString);
|
||||
|
||||
GC::Ref<PrimitiveString> PrimitiveString::create(VM& vm, Utf16String string)
|
||||
GC::Ref<PrimitiveString> PrimitiveString::create(VM& vm, Utf16String const& string)
|
||||
{
|
||||
if (string.is_empty())
|
||||
return vm.empty_string();
|
||||
|
|
@ -53,7 +53,7 @@ GC::Ref<PrimitiveString> PrimitiveString::create(VM& vm, Utf16FlyString const& s
|
|||
return create(vm, string.to_utf16_string());
|
||||
}
|
||||
|
||||
GC::Ref<PrimitiveString> PrimitiveString::create(VM& vm, String string)
|
||||
GC::Ref<PrimitiveString> PrimitiveString::create(VM& vm, String const& string)
|
||||
{
|
||||
if (string.is_empty())
|
||||
return vm.empty_string();
|
||||
|
|
|
|||
|
|
@ -25,11 +25,11 @@ class JS_API PrimitiveString : public Cell {
|
|||
GC_DECLARE_ALLOCATOR(PrimitiveString);
|
||||
|
||||
public:
|
||||
[[nodiscard]] static GC::Ref<PrimitiveString> create(VM&, Utf16String);
|
||||
[[nodiscard]] static GC::Ref<PrimitiveString> create(VM&, Utf16String const&);
|
||||
[[nodiscard]] static GC::Ref<PrimitiveString> create(VM&, Utf16View const&);
|
||||
[[nodiscard]] static GC::Ref<PrimitiveString> create(VM&, Utf16FlyString const&);
|
||||
|
||||
[[nodiscard]] static GC::Ref<PrimitiveString> create(VM&, String);
|
||||
[[nodiscard]] static GC::Ref<PrimitiveString> create(VM&, String const&);
|
||||
[[nodiscard]] static GC::Ref<PrimitiveString> create(VM&, StringView);
|
||||
[[nodiscard]] static GC::Ref<PrimitiveString> create(VM&, FlyString const&);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user