Wayfarer 11.8 με διορθώσεις στο WebAssembly

Ο Wayfarer 11.8 βελτιώνει τη σταθερότητα του WebAssembly σε PowerPC CPUs εκτός G5 και προσθέτει έλεγχο της έκδοσης του MorphOS κατά την αναζήτηση updates. Η νέα έκδοση συνεχίζει τις αλλαγές των 11.6 και 11.7, που έφεραν την πρώτη υποστήριξη WebAssembly και ταχύτερη κύλιση σελίδων.

Τι έφερε ο Wayfarer 11.6

Η έκδοση 11.6 ενεργοποίησε το WebAssembly και πρόσθεσε το BBQ JIT. Το JIT είναι ένας compiler που μετατρέπει JavaScript ή WASM κώδικα σε αποδοτικότερες οδηγίες κατά την εκτέλεση, βελτιώνοντας την απόκριση σε απαιτητικές ιστοσελίδες.

Η υποστήριξη WASM παραμένει περιορισμένη από τα χαρακτηριστικά του MorphOS, καθώς το λειτουργικό είναι 32-bit και δεν χρησιμοποιεί paged memory. Οι βασικές αλλαγές της 11.6 ήταν:

  • Ενεργοποίηση του WASM και ενσωμάτωση του BBQ JIT.
  • Βελτιώσεις στα cairo gradient fills.
  • Διόρθωση του window.cache, ώστε να λειτουργούν σωστά τα web.telegram.org και web.whatsapp.com.
  • Διόρθωση προβλημάτων byte swap στο audio module, που επηρέαζαν το www.stef.be/bassoontracker.

Οι αλλαγές του Wayfarer 11.7

Η έκδοση 11.7 επικεντρώθηκε στην απόκριση του browser και στη συμβατότητα του BBQ JIT με διαφορετικούς PowerPC επεξεργαστές:

  • Βελτιώθηκε η ταχύτητα κύλισης στις σελίδες.
  • Διορθώθηκε το BBQ JIT, ώστε να μην εκδίδει την εντολή fsqrt σε CPUs εκτός G5.

Η δεύτερη αλλαγή ήταν απαραίτητη, καθώς η συγκεκριμένη εντολή δεν υποστηρίζεται από όλους τους PowerPC επεξεργαστές και μπορούσε να προκαλέσει προβλήματα κατά την εκτέλεση κώδικα.

Τι διορθώνει η έκδοση 11.8

Η 11.8 δεν προσθέτει νέα μεγάλη λειτουργία. Εστιάζει σε δύο συγκεκριμένα προβλήματα:

  • Διορθώθηκε πρόβλημα στη μεταγλώττιση WASM που μπορούσε να προκαλέσει crash σε CPUs εκτός G5.
  • Προστέθηκε έλεγχος της έκδοσης του συστήματος κατά τον online έλεγχο για updates του Wayfarer.

Η πρώτη διόρθωση αφορά άμεσα τους χρήστες PowerPC hardware διαφορετικού από G5. Πλέον, η εκτέλεση WASM κώδικα δε θα πρέπει να οδηγεί στον τερματισμό του browser εξαιτίας του συγκεκριμένου προβλήματος.

Ο νέος έλεγχος έκδοσης επιτρέπει στον online updater να επιβεβαιώνει ότι το εγκατεστημένο MorphOS πληροί τις απαιτήσεις της έκδοσης που πρόκειται να εγκατασταθεί.

Το υπόβαθρο των βελτιώσεων

Οι αλλαγές των εκδόσεων 11.6 έως 11.8 βασίζονται σε εργασίες που ξεκίνησαν με τη 11.5. Τότε προστέθηκαν στον Wayfarer οι LLINT και baseline-JIT από το Odyssey-JIT, καθώς και ο Data Flow Graph JIT compiler, γνωστός ως DFG JIT.

Σύμφωνα με μετρήσεις, το DFG JIT προσφέρει συνήθως περίπου έξι φορές μεγαλύτερη ταχύτητα σε σχέση με έναν Wayfarer χωρίς JIT. Σε ορισμένα benchmarks, η διαφορά φτάνει έως και τις 11 φορές στο Kraken 1.1. Παράλληλα, ενεργοποιήθηκε το YARR JIT για regular expressions, με οφέλη σε ιστοσελίδες που χρησιμοποιούν εκτενώς expressions.

Η έκδοση 11.5 περιλάμβανε επίσης:

  • Port των LLINT και baseline-JIT από το Odyssey-JIT του Mark Olsen.
  • Port του Data Flow Graph JIT compiler, δηλαδή του δεύτερου επιπέδου JIT compiler, στο PowerPC.
  • Ενεργοποίηση ορισμένων FTL JIT optimizations.
  • Port του YARR regular expressions JIT στο PowerPC.
  • Υποστήριξη WebSocket extensions.
  • Διόρθωση προβλημάτων endianness, μεταξύ άλλων και ορισμένων που επηρέαζαν το C_LOOP.
  • Ρυθμίσεις στον garbage collector.
  • Προσθήκη internal arena allocator για τον περιορισμό του memory fragmentation.
  • Βελτιώσεις στη χρήση μνήμης και στη συνολική απόδοση.
  • Πλήρης κατάργηση των disk-based caches.
  • Βελτιώσεις στον χειρισμό της κύλισης.

Απαραίτητο το MorphOS 3.20

Από την έκδοση 11.3, ο Wayfarer χρησιμοποιεί το OpenSSL4 και άλλες libraries του MorphOS 3.20. Επομένως, το MorphOS 3.20 είναι απαραίτητο για τη λειτουργία του browser.

Το επίσημο site του Wayfarer αναφέρει ότι ο browser βασίζεται σε WebKitGTK tree του Δεκεμβρίου 2025 και παραμένει ο μόνος σύγχρονος PowerPC 32-bit big-endian browser με speculative JIT. Υποστηρίζει ακόμη HLS και MediaSource για αναπαραγωγή ήχου και video, ενσωματωμένα AdBlock Plus files, managers για downloads και bookmarks, καθώς και αποθήκευση κωδικών με encryption μέσω του cryptostorage.library.

Ο Wayfarer 11.8 είναι διαθέσιμος για MorphOS μέσω της επίσημης σελίδας του project. Το πλήρες version history περιλαμβάνει όλες τις αλλαγές από την αρχική έκδοση 1.0 έως σήμερα.