WebKit Bugzilla
Attachment 346181 Details for
Bug 188201
: [JSC] Remove unnecessary cellLock() in JSObject's GC marking if IndexingType is contiguous
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-188201-20180801031940.patch (text/plain), 2.20 KB, created by
Yusuke Suzuki
on 2018-07-31 11:19:41 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Yusuke Suzuki
Created:
2018-07-31 11:19:41 PDT
Size:
2.20 KB
patch
obsolete
>Subversion Revision: 234428 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index f552042e6590b9db15ccbdf62094cf05a16026f8..5c1578a8d8f5c3cdb10dad3cbef7c7e99c9d9fa2 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,18 @@ >+2018-07-31 Yusuke Suzuki <utatane.tea@gmail.com> >+ >+ [JSC] Remove unnecessary cellLock() in JSObject's GC marking if IndexingType is contiguous >+ https://bugs.webkit.org/show_bug.cgi?id=188201 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ We do not reuse the existing butterfly with Contiguous shape for new ArrayStorage butterfly. >+ When converting the butterfly with Contiguous shape to ArrayStorage, we always allocate a >+ new one. So this cellLock() is unnecessary for contiguous shape since contigous shaped butterfly >+ never becomes broken state. This patch removes unnecessary locking. >+ >+ * runtime/JSObject.cpp: >+ (JSC::JSObject::visitButterflyImpl): >+ > 2018-07-31 Guillaume Emont <guijemont@igalia.com> > > [JSC] Remove gcc warnings for 32-bit platforms >diff --git a/Source/JavaScriptCore/runtime/JSObject.cpp b/Source/JavaScriptCore/runtime/JSObject.cpp >index f9ed6eabc0312892980fbc8fee90014782d4d129..36dadd6d1040ea6fc3c675cd463ea27133b08301 100644 >--- a/Source/JavaScriptCore/runtime/JSObject.cpp >+++ b/Source/JavaScriptCore/runtime/JSObject.cpp >@@ -395,12 +395,9 @@ ALWAYS_INLINE Structure* JSObject::visitButterflyImpl(SlotVisitor& visitor) > Dependency indexingModeDependency = Dependency::fence(indexingMode); > Locker<JSCellLock> locker(NoLockingNecessary); > switch (indexingMode) { >- case ALL_CONTIGUOUS_INDEXING_TYPES: > case ALL_ARRAY_STORAGE_INDEXING_TYPES: > // We need to hold this lock to protect against changes to the innards of the butterfly >- // that can happen when the butterfly is used for array storage. We conservatively >- // assume that a contiguous butterfly may transform into an array storage one, though >- // this is probably more conservative than necessary. >+ // that can happen when the butterfly is used for array storage. > locker = holdLock(cellLock()); > break; > default:
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
keith_miller
:
review+
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 188201
: 346181