RESOLVED FIXED 237185
Remove incorrect ASSERT.
https://bugs.webkit.org/show_bug.cgi?id=237185
Summary Remove incorrect ASSERT.
Mark Lam
Reported 2022-02-24 23:19:02 PST
Attachments
proposed patch. (2.43 KB, patch)
2022-02-24 23:40 PST, Mark Lam
ysuzuki: review+
ews-feeder: commit-queue-
Mark Lam
Comment 1 2022-02-24 23:40:10 PST
Created attachment 453178 [details] proposed patch.
Keith Miller
Comment 2 2022-02-25 04:08:18 PST
Comment on attachment 453178 [details] proposed patch. View in context: https://bugs.webkit.org/attachment.cgi?id=453178&action=review > Source/JavaScriptCore/ChangeLog:10 > + weren't sure that the StringImpl pointer can be null or not. We're now certain We should explain why/how the StringImpl can be null.
Mark Lam
Comment 3 2022-02-25 15:11:14 PST
(In reply to Keith Miller from comment #2) > Comment on attachment 453178 [details] > proposed patch. > > View in context: > https://bugs.webkit.org/attachment.cgi?id=453178&action=review > > > Source/JavaScriptCore/ChangeLog:10 > > + weren't sure that the StringImpl pointer can be null or not. We're now certain > > We should explain why/how the StringImpl can be null. The ASSERT is from here: ``` auto* impl = string->tryGetValueImpl(); ASSERT(impl); // FIXME: rdar://83902782 if (impl && impl->isAtom() && ... ``` ... where string is a JSString, which can also be a JSRopeString. JSString::tryGetValueImpl() is: ``` inline const StringImpl* JSString::tryGetValueImpl() const { uintptr_t pointer = fiberConcurrently(); if (pointer & isRopeInPointer) return nullptr; return bitwise_cast<StringImpl*>(pointer); } ``` Hence, if string is a JSRopeString, the implication can be null.
Mark Lam
Comment 4 2022-02-25 15:17:40 PST
> Hence, if string is a JSRopeString, the implication can be null. /implication/impl/ ... sigh auto-correct. Anyway, I'll add this info to the ChangeLog before landing.
Mark Lam
Comment 5 2022-02-25 15:20:42 PST
Note You need to log in before you can comment on or make changes to this bug.