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.