Source/Packages

Runtime.NativePhysicalNative

packages/execution/src/Runtime/NativePhysicalNative.alpha

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

def · lines 3017–3149

nativePhysicalNativeSkipBlock

Full file
A forward branch consumes record boundaries without evaluating skipped operands or touching the active repeat frame. Recheck count, extents and isolated repeat balance before advancing; malformed images cannot turn a skip into an out-of-image load or cross a loop boundary.
3017def nativePhysicalNativeSkipBlock =
3018  (lambda unrestricted tail : (family X86NativeAssembly) .
3019    (nativePhysicalNativeLabel
3020      nativePhysicalNativeLabelDispatchSkip
3021      (nativePhysicalNativeResolveCall
3022        (byte 64)
3023        npR11
3024        (nativePhysicalNativeEmit
3025          (constructor X86NativeInstruction X86NativeMoveToXMM64 npXMM0 npR11)
3026          (nativePhysicalNativeResolveCall
3027            (byte 88)
3028            npR11
3029            (nativePhysicalNativeEmit
3030              (constructor X86NativeInstruction X86NativeMoveFromXMM64 npRAX npXMM0)
3031              (npCompare
3032                npRAX
3033                npR11
3034                (nativePhysicalNativeJumpCondition
3035                  npZero
3036                  nativePhysicalNativeLabelAdvance
3037                  (nativePhysicalNativeResolveCall
3038                    (byte 112)
3039                    npR8
3040                    (npMove
3041                      npRAX
3042                      npR13
3043                      (npAddImmediate
3044                        npRAX
3045                        nativePhysicalNativeI32NegativeOne
3046                        (npCompare
3047                          npRAX
3048                          npR8
3049                          (nativePhysicalNativeJumpCondition
3050                            npBelow
3051                            nativePhysicalNativeLabelFatalRecord
3052                            (npClear
3053                              npR9
3054                              (nativePhysicalNativeLabel
3055                                b"np-skip-scan"
3056                                (npLoad64
3057                                  npRAX
3058                                  npR14
3059                                  nativePhysicalNativeD8
3060                                  (npAdd
3061                                    npR14
3062                                    npRAX
3063                                    (npAddImmediate
3064                                      npR13
3065                                      nativePhysicalNativeI32NegativeOne
3066                                      (npTest
3067                                        npR8
3068                                        (nativePhysicalNativeJumpCondition
3069                                        npZero
3070                                        b"np-skip-done"
3071                                        (nativePhysicalNativeScanRecord
3072                                        npR14
3073                                        npR11
3074                                        npRAX
3075                                        npR10
3076                                        (npLoad64
3077                                        npRAX
3078                                        npR14
3079                                        nativePhysicalNativeD0
3080                                        (npCompareImmediate
3081                                        npRAX
3082                                        (nativePhysicalNativeI32Byte (byte 1))
3083                                        (nativePhysicalNativeJumpCondition
3084                                        npBelow
3085                                        nativePhysicalNativeLabelFatalRecord
3086                                        (npCompareImmediate
3087                                        npRAX
3088                                        (nativePhysicalNativeI32Byte (byte 23))
3089                                        (nativePhysicalNativeJumpCondition
3090                                        (constructor X86NativeCondition X86NativeConditionAbove)
3091                                        nativePhysicalNativeLabelFatalRecord
3092                                        (npCompareImmediate
3093                                        npRAX
3094                                        (nativePhysicalNativeI32Byte (byte 9))
3095                                        (nativePhysicalNativeJumpCondition
3096                                        npZero
3097                                        b"np-skip-begin"
3098                                        (npCompareImmediate
3099                                        npRAX
3100                                        (nativePhysicalNativeI32Byte (byte 10))
3101                                        (nativePhysicalNativeJumpCondition
3102                                        npZero
3103                                        b"np-skip-end"
3104                                        (npCompareImmediate
3105                                        npRAX
3106                                        (nativePhysicalNativeI32Byte (byte 22))
3107                                        (nativePhysicalNativeJumpCondition
3108                                        npZero
3109                                        b"np-skip-end"
3110                                        (nativePhysicalNativeJump
3111                                        b"np-skip-next"
3112                                        (nativePhysicalNativeLabel
3113                                        b"np-skip-begin"
3114                                        (npTest
3115                                        npR9
3116                                        (nativePhysicalNativeJumpCondition
3117                                        npNotZero
3118                                        nativePhysicalNativeLabelFatalRecord
3119                                        (npAddImmediate
3120                                        npR9
3121                                        (nativePhysicalNativeI32Byte (byte 1))
3122                                        (nativePhysicalNativeJump
3123                                        b"np-skip-next"
3124                                        (nativePhysicalNativeLabel
3125                                        b"np-skip-end"
3126                                        (npTest
3127                                        npR9
3128                                        (nativePhysicalNativeJumpCondition
3129                                        npZero
3130                                        nativePhysicalNativeLabelFatalRecord
3131                                        (npClear
3132                                        npR9
3133                                        (nativePhysicalNativeLabel
3134                                        b"np-skip-next"
3135                                        (npAddImmediate
3136                                        npR8
3137                                        nativePhysicalNativeI32NegativeOne
3138                                        (nativePhysicalNativeJump
3139                                        b"np-skip-scan"
3140                                        (nativePhysicalNativeLabel
3141                                        b"np-skip-done"
3142                                        (npTest
3143                                        npR9
3144                                        (nativePhysicalNativeJumpCondition
3145                                        npNotZero
3146                                        nativePhysicalNativeLabelFatalRecord
3147                                        (nativePhysicalNativeJump
3148                                        nativePhysicalNativeLabelLoop
3149                                        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.