Source/Packages

Runtime.NativePhysicalNative

packages/execution/src/Runtime/NativePhysicalNative.alpha

2,298 lines165 declarations135.2 KiBSHA-256 cd2006b824a4

def · lines 1379–1429

nativePhysicalNativeRoutineBlock

Full file
1379def nativePhysicalNativeRoutineBlock =
1380  (lambda unrestricted tail : (family X86NativeAssembly) .
1381    (nativePhysicalNativeLabel
1382      nativePhysicalNativeLabelDispatchRoutine
1383      (nativePhysicalNativeEmit
1384        (nativePhysicalNativeMove
1385          (constructor X86NativeRegister64 X86NativeR14)
1386          (constructor X86NativeRegister64 X86NativeRAX))
1387        (nativePhysicalNativeEmit
1388          (nativePhysicalNativeAddImmediate
1389            (constructor X86NativeRegister64 X86NativeRAX)
1390            (nativePhysicalNativeI32Byte (byte 232)))
1391          (nativePhysicalNativeEmit
1392            (nativePhysicalNativeStore64
1393              (constructor X86NativeRegister64 X86NativeRSP)
1394              -- Keep the routine address below the return-address slot used
1395              -- by the resolver calls.  byte 240 encodes -16; byte 248 was
1396              -- -8 and was overwritten by each call instruction.
1397              (nativePhysicalNativeNegativeDisplacementByte (byte 240))
1398              (constructor X86NativeRegister64 X86NativeRAX))
1399            (nativePhysicalNativeResolveCall
1400              (byte 88)
1401              (constructor X86NativeRegister64 X86NativeRSI)
1402              (nativePhysicalNativeResolveCall
1403                (byte 112)
1404                (constructor X86NativeRegister64 X86NativeRDX)
1405                (nativePhysicalNativeResolveCall
1406                  (byte 136)
1407                  (constructor X86NativeRegister64 X86NativeRCX)
1408                  (nativePhysicalNativeResolveCall
1409                    (byte 160)
1410                    (constructor X86NativeRegister64 X86NativeR8)
1411                    (nativePhysicalNativeResolveCall
1412                      (byte 184)
1413                      (constructor X86NativeRegister64 X86NativeR9)
1414                      (nativePhysicalNativeResolveCall
1415                        (byte 64)
1416                        (constructor X86NativeRegister64 X86NativeRDI)
1417                        (nativePhysicalNativeEmit
1418                          (nativePhysicalNativeLoad64
1419                            (constructor X86NativeRegister64 X86NativeR11)
1420                            (constructor X86NativeRegister64 X86NativeRSP)
1421                            (nativePhysicalNativeNegativeDisplacementByte (byte 240)))
1422                          (nativePhysicalNativeEmit
1423                            (nativePhysicalNativeCall
1424                              (constructor X86NativeRegister64 X86NativeR11))
1425                            (nativePhysicalNativeEmit
1426                              (nativePhysicalNativeMove
1427                                (constructor X86NativeRegister64 X86NativeRAX)
1428                                (constructor X86NativeRegister64 X86NativeRDX))
1429                              (nativePhysicalNativeJump nativePhysicalNativeLabelBindResult tail)))))))))))))))

The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.