FJCVTZS to „Konwersja zmiennoprzecinkowego kodu JavaScript na stały punkt ze znakiem , zaokrąglanie w kierunku zera”. Jest obsługiwany w układach Arm v8.3-A i nowszych. Co jest dziwne, ponieważ nie spodziewasz się, że JavaScript zobaczysz tak blisko gołego metalu.
Potrafię znaleźć wyjaśnienia dotyczące tego, co robi instrukcja, ale nie mogę znaleźć wyjaśnienia, dlaczego istnieje. Ten wątek mówi, że „istnieje jako pojedyncza instrukcja, ponieważ brak typu całkowitego w JS oznacza, że niektóre przypadki użycia często wymagają tej operacji bez dobrego algorytmicznego powodu”. To prawdopodobne, ale chciałbym dokładniejszego zrozumienia.
ToInt32
w specyfikacji) za każdym razem, gdy zastosujesz operator bitowy do liczby i w różnych innych momentach (chyba że silnik był w stanie zachować liczbę jako liczbę całkowitą jako optymalizacji, ale w wielu przypadkach nie).