42
TIL: Why ARM Has a JavaScript Instruction
(notnotp.com)
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
Well, I think I’m happy to never have to choose a number type in JS. I also think that insanity is how C and Intel handle NaN conversions.
What does it mean to access the element at index π of an array?
What does it mean to access the 0th element of an array?
It is the 0-th element after the start of the array. 0-based indexing is very common in both mathematics and computer science.
Try interacting with anything that uses u64 and you'll be a lot less happy!
Anyway JavaScript does have BigInt so technically you are choosing.
It's not actually quite as bad as the article says. While it's UB for C, and it can return garbage. The actual x86 conversion instruction will never return garbage. Unfortunately the value it returns is 0x8000... whereas JS apparently wants 0. And it sets a floating point exception flag, so you still need extra instructions to handle it. Probably not many though.
Also in practice on a modern JS engine it won't actually need to do this operation very often anyway.
I’m sorry you had to experience this, but in all my years of development I hadn’t.
0x8000 is garbage. Insane.