On Fri, Oct 16, 2015 at 12:03 PM, Landry Breuil <lan...@openbsd.org> wrote:
> On Fri, Oct 16, 2015 at 11:57:40AM +0200, Landry Breuil wrote:
>> On Fri, Oct 16, 2015 at 10:43:53AM +0200, David Coppa wrote:
>> > On Sat, 13 Jun 2015, Ted Unangst wrote:
>> >
>> > > So I was supposed to be working on making the JIT engine conform to W^X 
>> > > a few
>> > > months ago. It took a bit longer than expected, but I had a mostly 
>> > > working
>> > > patch. Then I disappeared from OpenBSD for a bit and took my patch with 
>> > > me.
>> > > Last week I was just starting to feed that patch upstream to firefox, 
>> > > when I
>> > > found out about another developer who had already done similar work. 
>> > > Sigh.
>> > >
>> > > The official firefox patch seems likely to ship in some future version, 
>> > > which
>> > > is good news for everyone. It's quite similar to the patch I had (though 
>> > > more
>> > > polished). To make it available sooner for OpenBSD, here's a backport to 
>> > > the
>> > > Firefox in ports.
>> > >
>> > > I haven't been able to test this very much, as I'm still at BSDCan, but 
>> > > when I
>> > > get back next week I hope to be able to devote more time to finalizing 
>> > > this
>> > > patch. Posting now to let people know it's coming and to give a preview 
>> > > if
>> > > you're interested.
>> >
>> > Hi!
>> >
>> > The official patch is now in.
>> >
>> > I don't know why it's enabled exclusively for iOS (maybe because it's
>> > the only platform that has been thoroughly tested? Or because major
>> > linux distros are not yet ready), probably Landry can shed some light
>> > on this...
>> >
>> > Btw, my firefox-41.0.1 (rebuilt with the patch below) still hasn't
>> > exploded during my tests: routinary browsing, GMail, Google Maps,
>> > Twitter, etc...
>> >
>> > Comments? Opinions?
>>
>> Bring this upstream first :)
>
> And for the rationale of having it only on iOS, see
> https://bugzilla.mozilla.org/show_bug.cgi?id=977805. From quickly
> skimming through comments there, apparently it conflicts with asm.js.
> Hence, discuss it upstream.
>
> Landry

So, the only downside seems to be performance related.

See: https://bugzilla.mozilla.org/show_bug.cgi?id=1215479

<<iOS requires it (because it doesn't allow allocating RWX memory), but it's not
enabled elsewhere because it's a performance hit (we should remeasure how much
though). This is because we have to toggle pages from executable to writable
and back whenever we patch JIT code>>

What about enabling it in our port and see how it will end up?
We can always re-disable it at any time if people complain...

Ciao!
David
-- 
"If you try a few times and give up, you'll never get there. But if
you keep at it... There's a lot of problems in the world which can
really be solved by applying two or three times the persistence that
other people will."
                -- Stewart Nelson

Reply via email to