[Webkit-unassigned] [Bug 129992] JS engine completely broken on ia64

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Nov 3 13:14:36 PST 2015


https://bugs.webkit.org/show_bug.cgi?id=129992

--- Comment #6 from Émeric MASCHINO <emeric.maschino at gmail.com> ---
(In reply to comment #4)

Thank you for taking the time to look at this.

> You're going to have a really bad time with JSVALUE64W, particularly since
> it will always be an obscure configuration that nobody uses.  This is
> especially true since ia64 is effectively dead - it's hard to get help
> implementing and maintaining a port for unused architectures. I recommend
> trying to address this problem with a less invasive approach that is less
> work to implement and less work to maintain.

Thank you for guidance here.

> I suggest teaching our GC to allocate pages in a low memory range where the
> top 16 address bits are zero. I think that's what Mozilla did. 

You're probably referring to [1], aren't you?

Mozilla's approach is thus to pass mmap an "addr" parameter that equals 0x0000070000000000 to ensure that all allocated pointers have their high 17 bits clear.

Would the same mmap trick work for WebKit's GC, adapting it to have the high 16 bits clear (rather than 17)?

> If this is true then you'll need to make lots of other changes in WebKit.
> WebKit assumes that the memory model is never weaker than what ARM would do. 

I can't be sure there, I'm not a kernel developer.

Isn't there no other architecture in WebKit's codebase with a memory model as weak as ia64 that I can have a look at to discover how they deal with cache/memory coherency? I can see a lot of arches in CMakeLists.txt and Source/JavaScriptCore/CMakeLists.txt, but are they actually working properly or are in the same bad shape than ia64 currently?

> I doubt that this is an issue anymore. I know we run with different page
> sizes on different platforms now.

Are you referring to [2] there? From what I understand, choice of 4K and 16K page sizes are supported, but what about other values, such as 8K and 64K for Linux ia64?

Fortunately enough, most (all?) ia64 Linux distributions came configured by default with CONFIG_IA64_PAGE_SIZE_16KB=y back at the time, so are on a supported case w.r.t. bug #115502.

     Émeric


[1] http://hg.mozilla.org/mozilla-central/rev/9c15d0fb3e25
[2] http://trac.webkit.org/changeset/149472

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20151103/64fa7faf/attachment.html>


More information about the webkit-unassigned mailing list