Source/Packages

Runtime.NativePhysicalNative

packages/execution/src/Runtime/NativePhysicalNative.alpha

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

def · lines 3246–3374

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. R9 is the nesting depth inside the window: complete (possibly nested) loops may be skipped.
3246def nativePhysicalNativeSkipBlock =
3247  (lambda unrestricted tail : (family X86NativeAssembly) .
3248    (nativePhysicalNativeLabel
3249      nativePhysicalNativeLabelDispatchSkip
3250      (nativePhysicalNativeResolveCall
3251        (byte 64)
3252        npR11
3253        (nativePhysicalNativeEmit
3254          (constructor X86NativeInstruction X86NativeMoveToXMM64 npXMM0 npR11)
3255          (nativePhysicalNativeResolveCall
3256            (byte 88)
3257            npR11
3258            (nativePhysicalNativeEmit
3259              (constructor X86NativeInstruction X86NativeMoveFromXMM64 npRAX npXMM0)
3260              (npCompare
3261                npRAX
3262                npR11
3263                (nativePhysicalNativeJumpCondition
3264                  npZero
3265                  nativePhysicalNativeLabelAdvance
3266                  (nativePhysicalNativeResolveCall
3267                    (byte 112)
3268                    npR8
3269                    (npMove
3270                      npRAX
3271                      npR13
3272                      (npAddImmediate
3273                        npRAX
3274                        nativePhysicalNativeI32NegativeOne
3275                        (npCompare
3276                          npRAX
3277                          npR8
3278                          (nativePhysicalNativeJumpCondition
3279                            npBelow
3280                            nativePhysicalNativeLabelFatalRecord
3281                            (npClear
3282                              npR9
3283                              (nativePhysicalNativeLabel
3284                                b"np-skip-scan"
3285                                (npLoad64
3286                                  npRAX
3287                                  npR14
3288                                  nativePhysicalNativeD8
3289                                  (npAdd
3290                                    npR14
3291                                    npRAX
3292                                    (npAddImmediate
3293                                      npR13
3294                                      nativePhysicalNativeI32NegativeOne
3295                                      (npTest
3296                                        npR8
3297                                        (nativePhysicalNativeJumpCondition
3298                                        npZero
3299                                        b"np-skip-done"
3300                                        (nativePhysicalNativeScanRecord
3301                                        npR14
3302                                        npR11
3303                                        npRAX
3304                                        npR10
3305                                        (npLoad64
3306                                        npRAX
3307                                        npR14
3308                                        nativePhysicalNativeD0
3309                                        (npCompareImmediate
3310                                        npRAX
3311                                        (nativePhysicalNativeI32Byte (byte 1))
3312                                        (nativePhysicalNativeJumpCondition
3313                                        npBelow
3314                                        nativePhysicalNativeLabelFatalRecord
3315                                        (npCompareImmediate
3316                                        npRAX
3317                                        (nativePhysicalNativeI32Byte (byte 23))
3318                                        (nativePhysicalNativeJumpCondition
3319                                        (constructor X86NativeCondition X86NativeConditionAbove)
3320                                        nativePhysicalNativeLabelFatalRecord
3321                                        (npCompareImmediate
3322                                        npRAX
3323                                        (nativePhysicalNativeI32Byte (byte 9))
3324                                        (nativePhysicalNativeJumpCondition
3325                                        npZero
3326                                        b"np-skip-begin"
3327                                        (npCompareImmediate
3328                                        npRAX
3329                                        (nativePhysicalNativeI32Byte (byte 10))
3330                                        (nativePhysicalNativeJumpCondition
3331                                        npZero
3332                                        b"np-skip-end"
3333                                        (npCompareImmediate
3334                                        npRAX
3335                                        (nativePhysicalNativeI32Byte (byte 22))
3336                                        (nativePhysicalNativeJumpCondition
3337                                        npZero
3338                                        b"np-skip-end"
3339                                        (nativePhysicalNativeJump
3340                                        b"np-skip-next"
3341                                        (nativePhysicalNativeLabel
3342                                        b"np-skip-begin"
3343                                        (npAddImmediate
3344                                        npR9
3345                                        (nativePhysicalNativeI32Byte (byte 1))
3346                                        (nativePhysicalNativeJump
3347                                        b"np-skip-next"
3348                                        (nativePhysicalNativeLabel
3349                                        b"np-skip-end"
3350                                        (npTest
3351                                        npR9
3352                                        (nativePhysicalNativeJumpCondition
3353                                        npZero
3354                                        nativePhysicalNativeLabelFatalRecord
3355                                        (npAddImmediate
3356                                        npR9
3357                                        nativePhysicalNativeI32NegativeOne
3358                                        (nativePhysicalNativeLabel
3359                                        b"np-skip-next"
3360                                        (npAddImmediate
3361                                        npR8
3362                                        nativePhysicalNativeI32NegativeOne
3363                                        (nativePhysicalNativeJump
3364                                        b"np-skip-scan"
3365                                        (nativePhysicalNativeLabel
3366                                        b"np-skip-done"
3367                                        (npTest
3368                                        npR9
3369                                        (nativePhysicalNativeJumpCondition
3370                                        npNotZero
3371                                        nativePhysicalNativeLabelFatalRecord
3372                                        (nativePhysicalNativeJump
3373                                        nativePhysicalNativeLabelLoop
3374                                        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.