@cking123.bsky.social
To clarify this is for C ABI only on those platforms
May 11, 2025 at 12:01 AM
They are the registers used to pass arguments (not including floating point) on x86 when you call a function in Linux, FreeBSD, macOS, and so on. They are also caller preserved so you can use them as scratch registers without saving values.
May 11, 2025 at 12:00 AM
They seem to be missing CPUID leaf for 0Dh among other things
May 7, 2025 at 11:54 PM
I agree. I think a lot of those cases can be handled by the allocation API where you provide your own allocator instead. Take signals where malloc is not signal safe but mmap is
May 4, 2025 at 1:32 PM
Interesting!
April 17, 2025 at 10:23 PM
Yup. Btw I remember your rseq article. Very helpful when learning about rseq!
April 17, 2025 at 10:02 PM
also wow64 which runs 32-bit programs on x86-64 and switches mode, converts the args to 64-bit API, gets the results, and convert them back and switching back the mode. There's also MSIL which is .NET
April 15, 2025 at 10:56 PM
> "You should not call [32-bit x86] ... just x86"
> "calling [x86-64] amd64 is silly"

You are going to like what Windows internally calls these. Head into C:\Windows\WinSxS\

You will find 64-bit packages in folders beginning with amd64 and 32-bit packages in folders beginning with x86. There's
April 15, 2025 at 10:49 PM
And without fat PE binaries, ARM64X is a thing as x86 can launch a binary and all or inject a module
April 15, 2025 at 8:55 PM
I am not arguing on the quality of the emulator. Just giving a reasoning on why a different ABI was chosen for cross-arch modules in processes
April 15, 2025 at 8:54 PM
Microsoft is stuck supporting legacy stuff for businesses
April 15, 2025 at 8:32 PM
For say Peterson's solution, could you substitute setting the flag and turn with seqcst with set the flag (relaxed), followed by SeqCst fence, followed by setting the turn (relaxed), followed by SeqCst fence? If so, in what scenario could you not use seqcst fence instead of seqcst access? Thank you!
March 14, 2025 at 2:04 AM
in both FireFox and Chrome. Safari will pose a problem however due to it not supporting it yet and that iOS devices are stuck with WebKit (though EU devices may get other browser engines). In addition, 32-bit WASM could be faster due to guard pages reducing sandboxing overhead
Is Memory64 actually worth using?
After many long years, the Memory64 proposal for WebAssembly has finally been released in both Firefox 134 and Chrome 133. In short, this proposal adds 64-bit pointers to WebAssembly.
spidermonkey.dev
March 2, 2025 at 10:08 PM
That's not to say it is the end of 32-bit as a whole. Armv7 is still supported in Ubuntu, FreeBSD (as Tier-2), Debian, and Android. RISCV 32-bit is going to be new but most distros and FreeBSD will only support 64-bit. Same for Android. WASM was 32-bit only but Memory64 was approved and shipping
March 2, 2025 at 10:05 PM
As far as security updates are concerned, Windows 10 goes EOL in October but home users can get updates until 2026 and business till 2028. Debian 12 drops support in June 2028 and FreeBSD 14 drops support in November 2028
March 2, 2025 at 9:57 PM
Sorry I meant number of instructions when I said size (which makes no sense as every instruction is 4 bytes)
March 2, 2025 at 4:20 AM
That seems to be part of "you’ve already lowered past a representation that makes optimizations easy". Even a simple add it doesn't unless you call the dedicated fetch_add so that is preferred
March 2, 2025 at 4:15 AM
That reminded me about a post on atomics in Rust. On ARM, load-linked and store conditional is used (except for newer versions with dedicated instructions to do CAS). And although the compiler can inline the instructions between, it doesn't know the size so it doesn't (at the time it is deciding)
March 2, 2025 at 4:14 AM
As an aside, what's wrong with MediaTek? (Thankfully I didn't spell it as MikroTik as in the networking company. I mix the two up)
February 20, 2025 at 5:49 AM
Hopefully. My current phone has a rather terrible battery capacity remaining so I keep it in low power mode all the time. It's going to be time to upgrade with whatever comes out
February 20, 2025 at 2:07 AM