Source/Packages

Runtime.NativePhysicalNative

packages/execution/src/Runtime/NativePhysicalNative.alpha

3,420 lines207 declarations187.4 KiBSHA-256 9c16b0741974

def · lines 1750–1799

nativePhysicalNativeRoutineBlock

Full file
1750def nativePhysicalNativeRoutineBlock =
1751  (lambda unrestricted tail : (family X86NativeAssembly) .
1752    (nativePhysicalNativeLabel
1753      nativePhysicalNativeLabelDispatchRoutine
1754      (nativePhysicalNativeEmit
1755        (nativePhysicalNativeMove
1756          (constructor X86NativeRegister64 X86NativeR14)
1757          (constructor X86NativeRegister64 X86NativeRAX))
1758        (nativePhysicalNativePayloadBase
1759                                        (constructor X86NativeRegister64 X86NativeRAX)
1760                                        (constructor X86NativeRegister64 X86NativeR11)
1761          (nativePhysicalNativeEmit
1762            (nativePhysicalNativeStore64
1763              (constructor X86NativeRegister64 X86NativeRSP)
1764              -- Keep the routine address below the return-address slot used
1765              -- by the resolver calls.  byte 240 encodes -16; byte 248 was
1766              -- -8 and was overwritten by each call instruction.
1767              (nativePhysicalNativeNegativeDisplacementByte (byte 240))
1768              (constructor X86NativeRegister64 X86NativeRAX))
1769            (nativePhysicalNativeResolveCall
1770              (byte 88)
1771              (constructor X86NativeRegister64 X86NativeRSI)
1772              (nativePhysicalNativeResolveCall
1773                (byte 112)
1774                (constructor X86NativeRegister64 X86NativeRDX)
1775                (nativePhysicalNativeResolveCall
1776                  (byte 136)
1777                  (constructor X86NativeRegister64 X86NativeRCX)
1778                  (nativePhysicalNativeResolveCall
1779                    (byte 160)
1780                    (constructor X86NativeRegister64 X86NativeR8)
1781                    (nativePhysicalNativeResolveCall
1782                      (byte 184)
1783                      (constructor X86NativeRegister64 X86NativeR9)
1784                      (nativePhysicalNativeResolveCall
1785                        (byte 64)
1786                        (constructor X86NativeRegister64 X86NativeRDI)
1787                        (nativePhysicalNativeEmit
1788                          (nativePhysicalNativeLoad64
1789                            (constructor X86NativeRegister64 X86NativeR11)
1790                            (constructor X86NativeRegister64 X86NativeRSP)
1791                            (nativePhysicalNativeNegativeDisplacementByte (byte 240)))
1792                          (nativePhysicalNativeEmit
1793                            (nativePhysicalNativeCall
1794                              (constructor X86NativeRegister64 X86NativeR11))
1795                            (nativePhysicalNativeEmit
1796                              (nativePhysicalNativeMove
1797                                (constructor X86NativeRegister64 X86NativeRAX)
1798                                (constructor X86NativeRegister64 X86NativeRDX))
1799                              (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.