Author Topic: [DEV] JIT support for Firefox  (Read 85772 times)

carlosgonz

  • Newbie
  • *
  • Posts: 33
  • Karma: +2/-0
    • View Profile
Re: [DEV] JIT support for Firefox
« Reply #45 on: September 05, 2026, 06:00:19 pm »
Hello i got compiled  tle  firefoxppc64-big-endian port  on power5. It work really good. I like it. thank you thank you  tle.

Also this time gnu gnulinux 7.1 worked on nouveau by 64k ppc5-big-endian. (No more crashing nouveau on 64k), however i not sure why is not worked 64k on power9-little-endian and nouveau,.

So yes i have  full-powerpc  big-endian 64k experience just now without blobs-blackboxes and gles2-nir. And very soon i will move my raptor-blackbird powerpc for  debian big-endian, as nouveau started work on 64k.

Issues found:
1)  Endianess issues on top-bar browser-buttons as you can see on image, the buttons stay white than black.
2) Power9,10,8 patch is conflict to power5 patchset, so this make firefoxppcbe-on-power5 hung on booting after get compiled because nss-vsx  binaries.. Firefoxppc64be autoenable and force  NSS / *  by makefile to use hash-sha512-and-mcrypto hard accel vsx on power5 compilation. So nss by hard-accel  /  mcrypto only supported by vsx which power5 lack,  however i not sure if firefox nss mcrypto hash-sha512 is compatible  to power-4.5.6.7 vmx hard accel requirements, but it will be nice to support full nss/ to vmx even vmx-emulated than software.
So all the problem about is from here:  security/nss/lib/freebl





« Last Edit: September 05, 2026, 09:16:58 pm by carlosgonz »
Blackbird  Rv1.02, Gnu Trisquel

tle

  • Hero Member
  • *****
  • Posts: 617
  • Karma: +57/-0
    • View Profile
    • Trung's Personal Website
Re: [DEV] JIT support for Firefox
« Reply #46 on: October 02, 2026, 07:44:52 pm »

1)  Endianess issues on top-bar browser-buttons as you can see on image, the buttons stay white than black.
2) Power9,10,8 patch is conflict to power5 patchset, so this make firefoxppcbe-on-power5 hung on booting after get compiled because nss-vsx  binaries.. Firefoxppc64be autoenable and force  NSS / *  by makefile to use hash-sha512-and-mcrypto hard accel vsx on power5 compilation. So nss by hard-accel  /  mcrypto only supported by vsx which power5 lack,  however i not sure if firefox nss mcrypto hash-sha512 is compatible  to power-4.5.6.7 vmx hard accel requirements, but it will be nice to support full nss/ to vmx even vmx-emulated than software.
So all the problem about is from here:  security/nss/lib/freebl

1) That theming issue only impact BE variant (which is not supported nor tested by Mozilla team). It is unrelated to my JIT work. Having said that I am going to try my best to see if I could find out why and lodge a bug ticket with Mozilla
EDIT: I think I found the root cause. The RenderCompositorSWGL has issue on BE
EDIT: I've fixed the issue, you can simply download the updated patches from GitHub Releases

2) I will see what I could do
« Last Edit: October 03, 2026, 05:49:35 pm by tle »
Faithful Linux enthusiast

My Raptor Blackbird

carlosgonz

  • Newbie
  • *
  • Posts: 33
  • Karma: +2/-0
    • View Profile
Re: [DEV] JIT support for Firefox
« Reply #47 on: October 06, 2026, 04:25:39 pm »
Compilation finalized just now. firefoxesr153.4 big-endian,  power5
All Bugs 1) and 2) is fixed.

There is just some endianess issues on favicons on each tabs.


 tle you are a Magic PPC Programmer.

thanks
« Last Edit: October 06, 2026, 04:28:52 pm by carlosgonz »
Blackbird  Rv1.02, Gnu Trisquel

mikeylam

  • Newbie
  • *
  • Posts: 3
  • Karma: +0/-0
    • View Profile
Re: [DEV] JIT support for Firefox
« Reply #48 on: October 07, 2026, 05:29:11 am »
Hi you compiled for a Power 5 but does your build work on a PowerMac G5 you think?

Compilation finalized just now. firefoxesr153.4 big-endian,  power5
All Bugs 1) and 2) is fixed.

There is just some endianess issues on favicons on each tabs.


 tle you are a Magic PPC Programmer.

thanks

MPC7500

  • Hero Member
  • *****
  • Posts: 657
  • Karma: +43/-1
    • View Profile
    • Twitter
Re: [DEV] JIT support for Firefox
« Reply #49 on: October 07, 2026, 09:33:37 am »
Quote
Brings JIT compilation to PPC64 — both little-endian (ppc64le) and big-endian (ppc64/ppc64be, ELFv1 and ELFv2) — targeting POWER8+ (ISA v2.07+) with POWER9 (ISA v3.0) / POWER10 (ISA 3.1) optimizations, plus a big-endian-only PowerPC 970 (ISA v2.01, pre-VSX / Apple G5) fallback tier. Enables SpiderMonkey's Baseline interpreter, Baseline and Ion JIT compilers, the native regexp JIT, plus full WebAssembly support — tiering, SIMD, huge memory, JSPI, tail calls, and atomics.

https://github.com/runlevel5/firefox-ppc64/pull/2

mikeylam

  • Newbie
  • *
  • Posts: 3
  • Karma: +0/-0
    • View Profile
Re: [DEV] JIT support for Firefox
« Reply #50 on: October 07, 2026, 12:30:43 pm »
I have followed tle's work on this project for a while so I am aware that he made patches for it to work on a G5. My question was more directed at carlosgonz on whether his specific compiled binary would work on a G5.

But thanks for pointing this out.


Quote
Brings JIT compilation to PPC64 — both little-endian (ppc64le) and big-endian (ppc64/ppc64be, ELFv1 and ELFv2) — targeting POWER8+ (ISA v2.07+) with POWER9 (ISA v3.0) / POWER10 (ISA 3.1) optimizations, plus a big-endian-only PowerPC 970 (ISA v2.01, pre-VSX / Apple G5) fallback tier. Enables SpiderMonkey's Baseline interpreter, Baseline and Ion JIT compilers, the native regexp JIT, plus full WebAssembly support — tiering, SIMD, huge memory, JSPI, tail calls, and atomics.

https://github.com/runlevel5/firefox-ppc64/pull/2

carlosgonz

  • Newbie
  • *
  • Posts: 33
  • Karma: +2/-0
    • View Profile
Re: [DEV] JIT support for Firefox
« Reply #51 on: October 07, 2026, 03:01:43 pm »
I have followed tle's work on this project for a while so I am aware that he made patches for it to work on a G5. My question was more directed at carlosgonz on whether his specific compiled binary would work on a G5.

But thanks for pointing this out.



Hi mikeylam

Yes tle firefox big-endian support until power4 128bits altivec, so powermac G4 and G5 is supported.
I  compiled all this on debian forky, i not sure which system are using and trying to compile tle firefox? nodejs is the most harder to resolve before to compile tle firefox... next harder to resolve is mesa big-endian driver.
I can share my build for you if you want it?

sent from debian-forky big-endian on power4 and netsurf.
Blackbird  Rv1.02, Gnu Trisquel

tle

  • Hero Member
  • *****
  • Posts: 617
  • Karma: +57/-0
    • View Profile
    • Trung's Personal Website
Re: [DEV] JIT support for Firefox
« Reply #52 on: October 07, 2026, 05:51:25 pm »
In theory it should work with G5. Because of lacking of real hardware, I have been testing the build by forcing mcpu=970 compilation flag on my Blackbird box. That means it is very likely some components would omit this flag and compile with the native power8/9 compilation flags. carlosgonz has been helping me testing on his real hardware and so far things are kinda okay... The JIT JS shell works but there are still many issues with rendering / features which I hope one day I could get to the bottom of it.
Faithful Linux enthusiast

My Raptor Blackbird

tle

  • Hero Member
  • *****
  • Posts: 617
  • Karma: +57/-0
    • View Profile
    • Trung's Personal Website
Re: [DEV] JIT support for Firefox
« Reply #53 on: October 07, 2026, 06:43:48 pm »
Btw compiling Firefox can kill the box with OOM, it would be the best to enable systemd-oomd OR simply run it with a session capped with memory cgroup `systemd-run --user --scope -p MemoryMax=8G` for example
Faithful Linux enthusiast

My Raptor Blackbird