в какой-то там webassembly или что-то около того, это еще не машинный код, даже джава по википедии не считается компилируемым языком, ну не полноценно (компилируемый в байт-код)
Запусти какой-нибудь скрипт на ноде с флагами —print-opt-code (и —code-comments для доп-инфы) и увидешь самый настоящий ассеблерный-машинный код в который компилируется js, типа такого
(obj, randomNumbers) => {
for (let i = 0; i < randomNumbers.length; i++) {
const num = randomNumbers[i];
obj.prop1 += num;
obj.prop2 -= num;
}
}
--- Optimized code ---
optimization_id = 14
source_position = 1512
kind = OPTIMIZED_FUNCTION
name = testRealObject
stack_slots = 8
compiler = turbofan
address = 0x7ffeefbfebe0
Instructions (size = 528)
-- <not inlined:1512> --
-- Prologue: check for deoptimization --
0x89ab7d8e1c0 0 488b59e0 REX.W movq rbx,[rcx-0x20]
0x89ab7d8e1c4 4 f6430f01 testb [rbx+0xf],0x1
0x89ab7d8e1c8 8 740d jz 0x89ab7d8e1d7 <+0x17>
-- Inlined Trampoline to CompileLazyDeoptimizedCode --
0x89ab7d8e1ca a 49ba803b880001000000 REX.W movq r10,0x100883b80 (CompileLazyDeoptimizedCode)
0x89ab7d8e1d4 14 41ffe2 jmp r10
-- B0 start (construct frame) --
0x89ab7d8e1d7 17 55 push rbp
0x89ab7d8e1d8 18 4889e5 REX.W movq rbp,rsp
0x89ab7d8e1db 1b 56 push rsi
0x89ab7d8e1dc 1c 57 push rdi
0x89ab7d8e1dd 1d 4883ec20 REX.W subq rsp,0x20
0x89ab7d8e1e1 21 488975d8 REX.W movq [rbp-0x28],rsi
0x89ab7d8e1e5 25 493ba530120000 REX.W cmpq rsp,[r13+0x1230] (root (stack_limit))
0x89ab7d8e1ec 2c 0f86f1000000 jna 0x89ab7d8e2e3 <+0x123>
-- B2 start --
-- B3 start --
-- <not inlined:1574> --
0x89ab7d8e1f2 32 488b5510 REX.W movq rdx,[rbp+0x10]
0x89ab7d8e1f6 36 f6c201 testb rdx,0x1
0x89ab7d8e1f9 39 0f847d010000 jz 0x89ab7d8e37c <+0x1bc>
0x89ab7d8e1ff 3f 48b969128ccf012b0000 REX.W movq rcx,0x2b01cf8c1269 ;; object: 0x2b01cf8c1269 <Map(PACKED_DOUBLE_ELEMENTS)>
0x89ab7d8e209 49 48394aff REX.W cmpq [rdx-0x1],rcx
0x89ab7d8e20d 4d 0f8575010000 jnz 0x89ab7d8e388 <+0x1c8>
-- <not inlined:1558> --
0x89ab7d8e213 53 8b4a1b movl rcx,[rdx+0x1b]
0x89ab7d8e216 56 83f900 cmpl rcx,0x0
0x89ab7d8e219 59 0f86b9000000 jna 0x89ab7d8e2d8 <+0x118>
-- B4 start --
-- B5 start --
-- <not inlined:1540> --
0x89ab7d8e21f 5f 493ba530120000 REX.W cmpq rsp,[r13+0x1230] (root (stack_limit))
0x89ab7d8e226 66 0f86df000000 jna 0x89ab7d8e30b <+0x14b>
-- B7 start --
-- B8 start --
-- <not inlined:1618> --
0x89ab7d8e22c 6c 488b7a0f REX.W movq rdi,[rdx+0xf]
0x89ab7d8e230 70 c5fb10470f vmovsd xmm0,[rdi+0xf]
-- <not inlined:1627> --
0x89ab7d8e235 75 4c8b4518 REX.W movq r8,[rbp+0x18]
0x89ab7d8e239 79 41f6c001 testb r8,0x1
0x89ab7d8e23d 7d 0f8451010000 jz 0x89ab7d8e394 <+0x1d4>
0x89ab7d8e243 83 49b979a48fcf012b0000 REX.W movq r9,0x2b01cf8fa479 ;; object: 0x2b01cf8fa479 <Map(HOLEY_ELEMENTS)>
0x89ab7d8e24d 8d 4d3948ff REX.W cmpq [r8-0x1],r9
0x89ab7d8e251 91 0f8549010000 jnz 0x89ab7d8e3a0 <+0x1e0>
0x89ab7d8e257 97 c4c17b104817 vmovsd xmm1,[r8+0x17]
...