Re: [webkit-dev] Drop x86 (32bit) JIT backend

2019-09-16 Thread Yusuke Suzuki
Thanks!

> On Sep 16, 2019, at 4:39 AM, Xan  wrote:
> 
> Hi all,
> 
> We at Igalia use the x86 32bit port for testing, prototyping, etc, in our 
> 32bit work. We recently added a JSC EWS x86 instance.
> That being said only the LLInt tier is working properly at the moment, and if 
> the maintenance of the JIT code is a big burden we think it makes sense to 
> remove it.

Yes, x86 adds many special logic. You can see the actual diff, which involves 
many “only for x86” logic involving weird stack push/pop.
And it is not well-abstracted. As a result, changes are in all of our JIT tiers 
(except for FTL b/c we are not supporting x86 in FTL) :(
https://trac.webkit.org/changeset/249880/webkit 


YarrJIT has HAVE_INITIAL_START_REG ifdef and separate logic, which is only for 
x86. All the other platforms including ARMv7 do not require this.
If this architecture has enough # of registers (like, MIPS), keeping it would 
be much easier.
But it only has very few registers and this makes x86 special compared to the 
other 32bit architectures.
I also note that x86 JIT is not working for at least 3 months. I found that x86 
callee-save-register definition is broken at some point[1].

[1]: https://trac.webkit.org/changeset/249830/webkit 


> 
> This already happened during the weekend, so I guess this can count as an 
> after the fact tacit agreement. In the future we'd appreciate if we could 
> have at least a full week day (including Europe) to discuss these kinds of 
> changes though.

OK, I see.

-Yusuke

> 
> Cheers,
> Xan (on behalf of Igalia's compilers team)
> 
> On Sat, Sep 14, 2019 at 9:32 PM Yusuke Suzuki  > wrote:
> Thanks!
> 
> I think we are not testing x86 JIT configuration, and nobody is seriously 
> using it (Default build option for c86 is no JIT). Removed :D
> 
> [1]: https://trac.webkit.org/changeset/249830/webkit 
> 
> 
> Best regards,
> Yusuke Suzuki
> 
>> On Sep 13, 2019, at 15:08, Geoffrey Garen > > wrote:
>> 
>> No objection.
>> 
>> Geoff
>> 
>>> On Sep 13, 2019, at 1:39 PM, Yusuke Suzuki >> > wrote:
>>> 
>>> Hello all,
>>> 
>>> Now, Xcode no longer has ability to build 32bit binary.
>>> Fedora starts dropping x86 32bit kernel shipping.
>>> Our x86/x86_64 JIT requires SSE2, so such CPUs can use JIT if they want by 
>>> switching x86 to x86_64.
>>> And these CPUs are modern enough to run CLoop at high speed.
>>> 
>>> x86 32bit JIT backend is very complicated and is being a major maintenance 
>>> burden.
>>> This is due to very few # of registers. Which scatters a lot of isX86 / 
>>> CPU(X86) in Baseline, DFG, and Yarr.
>>> I’m now planning to optimize some part of Yarr, but x86 YarrJIT is being a 
>>> major barrier of such cleanups / optimizations.
>>> 
>>> So, I would like to propose dropping X86 32bit JIT support.
>>> 
>>> -Yusuke
>>> ___
>>> webkit-dev mailing list
>>> webkit-dev@lists.webkit.org 
>>> https://lists.webkit.org/mailman/listinfo/webkit-dev 
>>> 
>> 
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org 
> https://lists.webkit.org/mailman/listinfo/webkit-dev 
> 
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Drop x86 (32bit) JIT backend

2019-09-16 Thread Xan
Hi all,

We at Igalia use the x86 32bit port for testing, prototyping, etc, in our
32bit work. We recently added a JSC EWS x86 instance. That being said only
the LLInt tier is working properly at the moment, and if the maintenance of
the JIT code is a big burden we think it makes sense to remove it.

This already happened during the weekend, so I guess this can count as an
after the fact tacit agreement. In the future we'd appreciate if we could
have at least a full week day (including Europe) to discuss these kinds of
changes though.

Cheers,
Xan (on behalf of Igalia's compilers team)

On Sat, Sep 14, 2019 at 9:32 PM Yusuke Suzuki  wrote:

> Thanks!
>
> I think we are not testing x86 JIT configuration, and nobody is seriously
> using it (Default build option for c86 is no JIT). Removed :D
>
> [1]: https://trac.webkit.org/changeset/249830/webkit
>
> Best regards,
> Yusuke Suzuki
>
> On Sep 13, 2019, at 15:08, Geoffrey Garen  wrote:
>
> No objection.
>
> Geoff
>
> On Sep 13, 2019, at 1:39 PM, Yusuke Suzuki  wrote:
>
>
> Hello all,
>
>
> Now, Xcode no longer has ability to build 32bit binary.
>
> Fedora starts dropping x86 32bit kernel shipping.
>
> Our x86/x86_64 JIT requires SSE2, so such CPUs can use JIT if they want by
> switching x86 to x86_64.
>
> And these CPUs are modern enough to run CLoop at high speed.
>
>
> x86 32bit JIT backend is very complicated and is being a major maintenance
> burden.
>
> This is due to very few # of registers. Which scatters a lot of isX86 /
> CPU(X86) in Baseline, DFG, and Yarr.
>
> I’m now planning to optimize some part of Yarr, but x86 YarrJIT is being a
> major barrier of such cleanups / optimizations.
>
>
> So, I would like to propose dropping X86 32bit JIT support.
>
>
> -Yusuke
>
> ___
>
> webkit-dev mailing list
>
> webkit-dev@lists.webkit.org
>
> https://lists.webkit.org/mailman/listinfo/webkit-dev
>
>
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
>
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Drop x86 (32bit) JIT backend

2019-09-14 Thread Yusuke Suzuki
Thanks!

I think we are not testing x86 JIT configuration, and nobody is seriously using 
it (Default build option for c86 is no JIT). Removed :D

[1]: https://trac.webkit.org/changeset/249830/webkit

Best regards,
Yusuke Suzuki

> On Sep 13, 2019, at 15:08, Geoffrey Garen  wrote:
> 
> No objection.
> 
> Geoff
> 
>> On Sep 13, 2019, at 1:39 PM, Yusuke Suzuki  wrote:
>> 
>> Hello all,
>> 
>> Now, Xcode no longer has ability to build 32bit binary.
>> Fedora starts dropping x86 32bit kernel shipping.
>> Our x86/x86_64 JIT requires SSE2, so such CPUs can use JIT if they want by 
>> switching x86 to x86_64.
>> And these CPUs are modern enough to run CLoop at high speed.
>> 
>> x86 32bit JIT backend is very complicated and is being a major maintenance 
>> burden.
>> This is due to very few # of registers. Which scatters a lot of isX86 / 
>> CPU(X86) in Baseline, DFG, and Yarr.
>> I’m now planning to optimize some part of Yarr, but x86 YarrJIT is being a 
>> major barrier of such cleanups / optimizations.
>> 
>> So, I would like to propose dropping X86 32bit JIT support.
>> 
>> -Yusuke
>> ___
>> webkit-dev mailing list
>> webkit-dev@lists.webkit.org
>> https://lists.webkit.org/mailman/listinfo/webkit-dev
> 
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Drop x86 (32bit) JIT backend

2019-09-13 Thread Yusuke Suzuki
I uploaded the patch for this change.
https://bugs.webkit.org/show_bug.cgi?id=201790 


-Yusuke

> On Sep 13, 2019, at 15:09, Geoffrey Garen  wrote:
> 
> No objection.
> 
> Geoff
> 
>> On Sep 13, 2019, at 1:39 PM, Yusuke Suzuki  wrote:
>> 
>> Hello all,
>> 
>> Now, Xcode no longer has ability to build 32bit binary.
>> Fedora starts dropping x86 32bit kernel shipping.
>> Our x86/x86_64 JIT requires SSE2, so such CPUs can use JIT if they want by 
>> switching x86 to x86_64.
>> And these CPUs are modern enough to run CLoop at high speed.
>> 
>> x86 32bit JIT backend is very complicated and is being a major maintenance 
>> burden.
>> This is due to very few # of registers. Which scatters a lot of isX86 / 
>> CPU(X86) in Baseline, DFG, and Yarr.
>> I’m now planning to optimize some part of Yarr, but x86 YarrJIT is being a 
>> major barrier of such cleanups / optimizations.
>> 
>> So, I would like to propose dropping X86 32bit JIT support.
>> 
>> -Yusuke
>> ___
>> webkit-dev mailing list
>> webkit-dev@lists.webkit.org
>> https://lists.webkit.org/mailman/listinfo/webkit-dev
> 

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Drop x86 (32bit) JIT backend

2019-09-13 Thread Geoffrey Garen
No objection.

Geoff

> On Sep 13, 2019, at 1:39 PM, Yusuke Suzuki  wrote:
> 
> Hello all,
> 
> Now, Xcode no longer has ability to build 32bit binary.
> Fedora starts dropping x86 32bit kernel shipping.
> Our x86/x86_64 JIT requires SSE2, so such CPUs can use JIT if they want by 
> switching x86 to x86_64.
> And these CPUs are modern enough to run CLoop at high speed.
> 
> x86 32bit JIT backend is very complicated and is being a major maintenance 
> burden.
> This is due to very few # of registers. Which scatters a lot of isX86 / 
> CPU(X86) in Baseline, DFG, and Yarr.
> I’m now planning to optimize some part of Yarr, but x86 YarrJIT is being a 
> major barrier of such cleanups / optimizations.
> 
> So, I would like to propose dropping X86 32bit JIT support.
> 
> -Yusuke
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


[webkit-dev] Drop x86 (32bit) JIT backend

2019-09-13 Thread Yusuke Suzuki
Hello all,

Now, Xcode no longer has ability to build 32bit binary.
Fedora starts dropping x86 32bit kernel shipping.
Our x86/x86_64 JIT requires SSE2, so such CPUs can use JIT if they want by 
switching x86 to x86_64.
And these CPUs are modern enough to run CLoop at high speed.

x86 32bit JIT backend is very complicated and is being a major maintenance 
burden.
This is due to very few # of registers. Which scatters a lot of isX86 / 
CPU(X86) in Baseline, DFG, and Yarr.
I’m now planning to optimize some part of Yarr, but x86 YarrJIT is being a 
major barrier of such cleanups / optimizations.

So, I would like to propose dropping X86 32bit JIT support.

-Yusuke
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev