WebKit Bugzilla
Attachment 342883 Details for
Bug 182923
: REGRESSION(r227717): Hardcoded page size causing JSC crashes on platforms with page size bigger than 16 KB
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-182923-20180616121643.patch (text/plain), 1.77 KB, created by
Michael Catanzaro
on 2018-06-16 10:16:44 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Michael Catanzaro
Created:
2018-06-16 10:16:44 PDT
Size:
1.77 KB
patch
obsolete
>Subversion Revision: 232895 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index 8269510ccccf9e87a1b566b5a455d82f6e5bd852..5eb013d935cb128f2009fb96d048cca972d348cd 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,15 @@ >+2018-06-16 Michael Catanzaro <mcatanzaro@igalia.com> >+ >+ REGRESSION(r227717): Hardcoded page size causing JSC crashes on platforms with page size bigger than 16 KB >+ https://bugs.webkit.org/show_bug.cgi?id=182923 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ The blockSize used by MarkedBlock is incorrect on platforms with pages larger than 16 KB. >+ Upstream Fedora's patch to use a safer 64 KB default. This fixes PowerPC and s390x. >+ >+ * heap/MarkedBlock.h: >+ > 2018-06-15 Saam Barati <sbarati@apple.com> > > Make ForceOSRExit CFG pruning in bytecode parser more aggressive by making the original block to ignore be the plan's osrEntryBytecodeIndex >diff --git a/Source/JavaScriptCore/heap/MarkedBlock.h b/Source/JavaScriptCore/heap/MarkedBlock.h >index 7d14eecfd8d7d1788374f0afefe8a334f643d809..444a88f3293796f77b799f34fa0be7982a114383 100644 >--- a/Source/JavaScriptCore/heap/MarkedBlock.h >+++ b/Source/JavaScriptCore/heap/MarkedBlock.h >@@ -66,7 +66,14 @@ private: > friend class Handle; > public: > static constexpr size_t atomSize = 16; // bytes >+ >+ // Block size must be at least as large as the system page size. >+#if CPU(PPC64) || CPU(PPC64LE) || CPU(PPC) || CPU(UNKNOWN) >+ static constexpr size_t blockSize = 64 * KB; >+#else > static constexpr size_t blockSize = 16 * KB; >+#endif >+ > static constexpr size_t blockMask = ~(blockSize - 1); // blockSize must be a power of two. > > static constexpr size_t atomsPerBlock = blockSize / atomSize;
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
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 182923
: 342883