4 ms·
To be honest, I don't blame Apple for this. I blame the ARM ecosystem which is very fragmented, each company working with ARM is contributing to the stuff they
by smspf 6y ago
To be honest, I don't blame Apple for this.
I blame the ARM ecosystem which is very fragmented, each company working with ARM is contributing to the stuff they are interested in and that's it.
Lots of contractors and always shuffling/changing projects they work on.
- oblio 6y agoIsn't Apple doing the exact same thing with their proprietary ARM ISA extensions?
- my123 6y agoTheir ISA extension is an ML-specific one, and macOS runs fine with it disabled. Their public compilers do not support it either. You are supposed to use it through Accelerate.framework, which exposes a more traditional interface to that capability.
- skissane 6y ago> Their ISA extension is an ML-specific one Apple Silicon has more than one ISA extension. There is also the x86 memory ordering extension used by Rosetta 2. Maybe there are yet others too.
- my123 6y ago> There is also the x86 memory ordering extension used by Rosetta 2. That one isn't really a requirement either, and is handled fully in kernel mode. Wkdm and friends are handled fully in kernel mode. APRR? Not a strict requirement for user-mode, JIT regions are just left as RWX without it.
- saagarjha 6y agoApple enforces APRR on macOS; you need to use their APIs to work within the confines of W^X.
- saagarjha 6y agoThere are more but they are not exposed to applications. Apple wants you to ship standard arm64 code.