Source/Packages

Runtime.NativePhysicalNative

packages/execution/src/Runtime/NativePhysicalNative.alpha

3,650 lines210 declarations198.6 KiBSHA-256 028b70105699

def · lines 1757–1806

nativePhysicalNativeRoutineBlock

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