WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
194939
[JSC] SmallStringsStorage is unnecessary
https://bugs.webkit.org/show_bug.cgi?id=194939
Summary
[JSC] SmallStringsStorage is unnecessary
Yusuke Suzuki
Reported
2019-02-22 01:33:15 PST
[JSC] SmallStringsStorage is unnecessary
Attachments
Patch
(8.33 KB, patch)
2019-02-22 01:54 PST
,
Yusuke Suzuki
no flags
Details
Formatted Diff
Diff
Patch
(8.55 KB, patch)
2019-02-22 02:05 PST
,
Yusuke Suzuki
no flags
Details
Formatted Diff
Diff
Patch
(8.57 KB, patch)
2019-02-22 02:10 PST
,
Yusuke Suzuki
mark.lam
: review+
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Yusuke Suzuki
Comment 1
2019-02-22 01:54:23 PST
Created
attachment 362709
[details]
Patch
Yusuke Suzuki
Comment 2
2019-02-22 02:00:33 PST
Comment on
attachment 362709
[details]
Patch Oops, fixing build issue.
Yusuke Suzuki
Comment 3
2019-02-22 02:05:50 PST
Created
attachment 362710
[details]
Patch
Yusuke Suzuki
Comment 4
2019-02-22 02:10:29 PST
Created
attachment 362711
[details]
Patch
Mark Lam
Comment 5
2019-02-22 09:52:12 PST
Comment on
attachment 362711
[details]
Patch r=me
Geoffrey Garen
Comment 6
2019-02-22 10:37:51 PST
Comment on
attachment 362711
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=362711&action=review
> Source/JavaScriptCore/runtime/SmallStrings.h:76 > + void setCanAccessHeap(bool canAccessHeap) { m_canAccessHeap = canAccessHeap; }
I would call this isInitialized / setIsInitialized.
> Source/JavaScriptCore/runtime/VM.cpp:543 > + smallStrings.setCanAccessHeap(false);
Is there code that tries to access the SmallStrings cache inside lastChanceToFinalize? If so, that feels like a bug.
Yusuke Suzuki
Comment 7
2019-02-22 10:52:24 PST
Comment on
attachment 362711
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=362711&action=review
>> Source/JavaScriptCore/runtime/SmallStrings.h:76 >> + void setCanAccessHeap(bool canAccessHeap) { m_canAccessHeap = canAccessHeap; } > > I would call this isInitialized / setIsInitialized.
OK, changed.
>> Source/JavaScriptCore/runtime/VM.cpp:543 >> + smallStrings.setCanAccessHeap(false); > > Is there code that tries to access the SmallStrings cache inside lastChanceToFinalize? If so, that feels like a bug.
I don't see the actual code is now using it. But I think touching smallStrings after VM Heap is destroyed can be possible. This is because Identifier creation touches vm.smallStrings to get single character AtomicStringImpl. I think it is a possible story that we create Identifier after VM Heap is destroyed, because Identifier seems unrelated to VM GC Heap. So I take safer design here.
Yusuke Suzuki
Comment 8
2019-02-22 11:04:46 PST
Committed
r241954
: <
https://trac.webkit.org/changeset/241954
>
Radar WebKit Bug Importer
Comment 9
2019-02-22 11:11:03 PST
<
rdar://problem/48317238
>
Yusuke Suzuki
Comment 10
2019-02-22 11:15:48 PST
Committed
r241955
: <
https://trac.webkit.org/changeset/241955
>
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