[Webkit-unassigned] [Bug 182923] REGRESSION(r227717): Hardcoded page size causing JSC crashes on platforms with page size bigger than 16 KB
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Mar 14 06:29:27 PDT 2018
https://bugs.webkit.org/show_bug.cgi?id=182923
--- Comment #8 from Filip Pizlo <fpizlo at apple.com> ---
(In reply to Tomas Popela from comment #7)
> (In reply to Michael Catanzaro from comment #6)
> > (In reply to Filip Pizlo from comment #5)
> > > I don't think that rolling out r227717 is an option.
> >
> > Yeah, we shouldn't need to. We're currently using this patch downstream:
> >
> > https://src.fedoraproject.org/cgit/rpms/webkit2gtk3.git/tree/page-size.patch
> >
> > So, without understanding anything about the code, this would work:
> >
> > #if CPU(PPC64) || CPU(PPC64LE) || CPU(PPC) || CPU(S390) || CPU(S390X)
> > static constexpr size_t blockSize = 64 * KB;
> > #else
> > static constexpr size_t blockSize = 16 * KB;
> > #endif
> >
> > We would need to add new WTF_CPU definitions for s390 and s390x.
> >
> > It would be nicer if this were not needed.
>
> This is not the exactly right solution (as I wrote in the downstream comment
> that it's a silly workaround) - the page size should be obtained with
> pageSize() from WTF that is platform agnostic. I just know that blockSize
> needs to be aligned with the page size, but I really don't how to "easily"
> do it, without bigger changes in the code that I really don't quite
> understand..
As I said before, blockSize really should not be gotten from pageSize because it needs to be a compile time constant. The right solution is to overestimate the blockSize or create an abstraction where GC blocks can allocate blockSize even if pageSize is bigger.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20180314/8a8c5c7f/attachment.html>
More information about the webkit-unassigned
mailing list