WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
217577
Cannot create StringImpl from empty string literal
https://bugs.webkit.org/show_bug.cgi?id=217577
Summary
Cannot create StringImpl from empty string literal
Yusuke Suzuki
Reported
2020-10-11 04:38:27 PDT
Cannot create StringImpl from empty string literal
Attachments
Patch
(7.27 KB, patch)
2020-10-11 04:42 PDT
,
Yusuke Suzuki
darin
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Yusuke Suzuki
Comment 1
2020-10-11 04:42:48 PDT
Created
attachment 411047
[details]
Patch
Darin Adler
Comment 2
2020-10-11 12:02:17 PDT
Comment on
attachment 411047
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=411047&action=review
> Source/JavaScriptCore/inspector/JSInjectedScriptHost.cpp:370 > + return jsNontrivialString(vm, emptyString());
Not sure what we really need in this unreachable place, but if we want to use an empty string, then how about using jsEmptyString(vm)?
> Source/JavaScriptCore/runtime/SamplingProfiler.cpp:1033 > + String hash = emptyString();
No initializer is needed here, since String already initializes to the null string. Note that the code below always overwrites the value of hash anyway. I would suggest initializing to "<nil>"_s and then removing the else below, or not initializing at all.
> Source/WTF/wtf/text/ASCIILiteral.h:68 > + ASSERT_UNDER_CONSTEXPR_CONTEXT(n);
Nice! Does it work?
> Source/WebCore/page/NavigatorBase.cpp:92 > + platformName.construct(uname(&osname) >= 0 ? String(osname.sysname) + " "_str + String(osname.machine) : emptyString());
This is seems excessively inefficient. Using emptyString() is fine, I suppose. But the code before should be makeString(osname.sysname, ' ', osname.machine) so we don’t create and destroy so many temporary strings.
> Source/WebCore/platform/UserAgentQuirks.cpp:191 > + return emptyString();
In this unreachable place it seems like we could return ASCIILiteral::null() and the function could return ASCIILiteral. Could also return a null string instead of an empty one, which is slightly more efficient.
Radar WebKit Bug Importer
Comment 3
2020-10-18 04:39:16 PDT
<
rdar://problem/70416626
>
Ahmad Saleem
Comment 4
2022-09-12 14:35:02 PDT
This r+ patch didn't landed and I checked via bug ID on Webkit GitHub repo. Is this needed? Appreciate if someone can comment or do the needful. Thanks!
Darin Adler
Comment 5
2022-09-12 14:43:07 PDT
We still haven’t made this improvements. I had a set of comments for Yusuke before landing. He didn’t yet address them, and I think he intended to. Not sure how whether we should drop this or return to it.
Yusuke Suzuki
Comment 6
2022-09-12 14:44:17 PDT
Oops, I forgot this patch!
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug