[webkit-dev] Windows 32-bit support?

Arunprasad Rajkumar ararunprasad at gmail.com
Tue Jun 25 23:40:10 PDT 2019


Thank you all for your guidance.

I understand that JIT and LLInt bytecode interpreter is not supported on
X86(32-bit). The only option I can use is C_LOOP, which have high stack
usage issue in the latest code. I will continue with my investigation on
C_LOOP's stack usage.

Thanks & Regards,
Arun


On Wed, 26 Jun 2019 at 04:13, Yusuke Suzuki <ysuzuki at apple.com> wrote:

>
>
> On Jun 25, 2019, at 9:13 AM, Adrian Perez de Castro <aperez at igalia.com>
> wrote:
>
> I was mistaken about one thing (sorry!), please read below...
>
> On Tue, 25 Jun 2019 19:01:54 +0300, Adrian Perez de Castro <
> aperez at igalia.com> wrote:
>
> On Tue, 25 Jun 2019 10:42:04 -0500, Michael Catanzaro <
> mcatanzaro at igalia.com> wrote:
>
> It's great that you find our stable branches helpful, but keep in mind
> those branches do not include Windows-specific fixes.
>
> On Tue, Jun 25, 2019 at 9:53 AM, Arunprasad Rajkumar
> <ararunprasad at gmail.com> wrote:
>
> Right. Actually the problem is in 32-bit Windows platform. I see that
> the JIT support has been dropped some time ago, and CLOOP based
> backend seems to be unstable on 32-bit Windows. Any thoughts on that?
>
>
> So I'm not an expert here, but I understand there are three ways you
> can build JSC:
>
> (1) -DENABLE_JIT=ON, -DENABLE_C_LOOP=OFF
> (2) -DENABLE_JIT=OFF, -DENABLE_C_LOOP=OFF (?)
> (3) -DENABLE_JIT=OFF, -DENABLE_C_LOOP=ON
>
> (-DENABLE_JIT=ON and -DENABLE_C_LOOP=ON are incompatible.)
>
> I believe that nowadays the only 32-bit platforms supported by JIT are
> Linux, and there only for ARM and MIPS, not x86. So you're almost
> certainly going to need to use -DENABLE_JIT=OFF. That eliminates option
> (1).
>
>
> JIT works on x86 as long as your CPU has support for SSE2 instructions.
>
>
> Oops, this is not quite true: JIT does NOT work on 32-bit x86 at the
> moment.
>
> (The JIT compiler does emit SSE2 instructions, though. When/If the JIT is
> made to work on 32-bit x86, support for SSE2 will be needed.)
>
>
> WebKit no longer supports non-SSE2 x86 CPUs even without JIT.
> https://lists.webkit.org/pipermail/webkit-dev/2019-March/030569.html
>
> And I think we are not supporting 32bit Windows x86 JIT. CLoop (AppleWin)
> is recommended.
>
> -Yusuke
>
>
> You say the cloop seems unstable for you, which is option (3). So
> perhaps you should try option (2) if you haven't already. I'm not
> actually sure if that works, because I'm not an expert, which is why I
> added that (?) to it. But at least it couldn't hurt to try.
>
>
> Option (2) would be using the LLint bytecode interpreter, without JIT.
>
> In principle CLoop is expected to work “everywhere” because the interpreter
> is generated C/C++ code, which gets then built by the same compiler used to
> build all the rest of WebKit.
>
> Maybe the Windows port maintainers know more about the status of 32-bit
> Windows support?
>
>
> Cheers,
> —Adrián
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20190626/0ef44037/attachment.html>


More information about the webkit-dev mailing list