Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

Burst tutorials

Discussion in 'Burst' started by andreicfsteaua, Apr 5, 2020.

  1. andreicfsteaua

    andreicfsteaua

    Joined:
    Nov 18, 2019
    Posts:
    36
    Hi! I am a beginner in DOTS and I have recently watched the Unite Copenhagen talk about Burst intrisics and made me very interested in SIMD optimizations. I have a few questions:
    1. Are there any tutorials/documentation for learning these SIMD optimizations?(Currently the burst documentation gives some tips but not as detailed as (I think) they should be).
    2. Can somebody explain me how to read the burst inspector?
    3. What is the level of optimization for each kind of entity iteration? (Entities.ForEach(), IJobChunk, manual iteration).
    4. Float4 should be prefered for the cache utilization, how can float3 be converted to float4?(for example, how about velocity, should it be float3 or float4?)
    5. Should I unroll loops?
    6. How to reduce branching?
    For example if I have something like this
    Code (CSharp):
    1. int index1X, index1Y, index1Z, index2X, index2Y, index2Z;
    2. //some code where I set the indeces
    3. if (index2X != index1X)
    4.             {
    5.                 //some code where I introduce something in a list
    6.                 if (index2Y != index1Y)
    7.                 {
    8.                     //some code where I introduce something in a list
    9.                     if (index2Z != index1Z)
    10.                     {
    11.                     //some code where I introduce something in a list  
    12.                     }
    13.                 if (index2Z != index1Z)
    14.                 {
    15. //some code where I introduce something in a list
    16.                 }
    17. }
    18. if (index2Y != index1Y)
    19.             {
    20. //some code where I introduce something in a list
    21.                 if (index2Z != index1Z)
    22.                 {
    23. //some code where I introduce something in a list
    24.                 }
    25. }
    26. if (index2Z != index1Z)
    27. //some code where I introduce something in a list
    28.  }
    Should i transform the ifs into some sort of mathematical flaging: like int = 0 for 1st if, int = 1 for 2nd if and so on and in the end have 8 straight ifs instead of branched like this?
    7. Any tips for me to get started to thinking SIMD like?
    Any help is very much appreciated! Thank you!
    (for point 2)
    Ex this inspected job:
    Code (CSharp):
    1. //ColliderList is a IBufferElementData which holds a localSpace AABB and a worldSpace AABB
    2. //EntityList is a IBufferElementData which holds an entity
    3. //CollisionPair is a IComponentData which holds 2 colliders and 2 entities
    4. //entities is a NativeArray with the entities from which I get the buffers
    5. public struct CellCheckCollision : IJob
    6.     {
    7.         [ReadOnly] [DeallocateOnJobCompletion] public NativeArray<Entity> entities;
    8.         [ReadOnly] public BufferFromEntity<ColliderList> colliderLookup;
    9.         [ReadOnly] public BufferFromEntity<EntityList> entityLookup;
    10.         [WriteOnly] public NativeList<CollisionPair> collisionPairs;
    11.  
    12.         public void Execute()
    13.         {
    14.             DynamicBuffer<ColliderList> colliderList;
    15.             DynamicBuffer<EntityList> entityList;
    16.             for ( int i = 0; i < entities.Length; i++)
    17.             {
    18.                 colliderList = colliderLookup[entities[i]];
    19.                 entityList = entityLookup[entities[i]];
    20.                 for ( int j = 0; j < colliderList.Length; j++)
    21.                 {
    22.                     AABB worldAABB1 = colliderList[j].collider.worldAABB;
    23.                     for ( int k = j + 1; k < colliderList.Length; k++)
    24.                     {
    25.                         AABB worldAABB2 = colliderList[k].collider.worldAABB;
    26.                         bool3 status1 = worldAABB1.Max > worldAABB2.Min;
    27.                         bool3 status2 = worldAABB1.Min < worldAABB2.Max;
    28.                         if (status1.x && status1.y && status1.z && status2.x && status2.y && status2.z)
    29.                         {
    30.                             CollisionPair collisionPair = new CollisionPair
    31.                             {
    32.                                 collider1 = colliderList[j].collider,
    33.                                 collider2 = colliderList[k].collider,
    34.                                 entity1 = entityList[j].entity,
    35.                                 entity2 = entityList[k].entity
    36.                             };
    37.                             collisionPairs.Add(collisionPair);
    38.                         }
    39.                     }
    40.                 }
    41.             }
    42.         }
    43.  
    44.     }
    Code (CSharp):
    1.  
    2.         .text
    3.         .def         @feat.00;
    4.         .scl        3;
    5.         .type        0;
    6.         .endef
    7.         .globl        @feat.00
    8. .set @feat.00, 0
    9.         .intel_syntax noprefix
    10.         .file        "main"
    11.         .def         "Unity.Jobs.IJobExtensions.JobStruct`1<MyBroadphaseCollisionDetection.CellCheckCollision>.Execute(ref MyBroadphaseCollisionDetection.CellCheckCollision data, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, ref Unity.Jobs.LowLevel.Unsafe.JobRanges ranges, int jobIndex)_3D90BE0FA4AD9B95";
    12.         .scl        2;
    13.         .type        32;
    14.         .endef
    15.         .globl        __real@00000001         # -- Begin function Unity.Jobs.IJobExtensions.JobStruct`1<MyBroadphaseCollisionDetection.CellCheckCollision>.Execute(ref MyBroadphaseCollisionDetection.CellCheckCollision data, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, ref Unity.Jobs.LowLevel.Unsafe.JobRanges ranges, int jobIndex)_3D90BE0FA4AD9B95
    16.         .section        .rdata,"dr",discard,__real@00000001
    17.         .p2align        2
    18. __real@00000001:
    19.         .long        1                       # 0x1
    20.         .globl        __xmm@000000ff000000ff000000ff000000ff
    21.         .section        .rdata,"dr",discard,__xmm@000000ff000000ff000000ff000000ff
    22.         .p2align        4
    23. __xmm@000000ff000000ff000000ff000000ff:
    24.         .byte        255                     # 0xff
    25.         .byte        0                       # 0x0
    26.         .byte        0                       # 0x0
    27.         .byte        0                       # 0x0
    28.         .byte        255                     # 0xff
    29.         .byte        0                       # 0x0
    30.         .byte        0                       # 0x0
    31.         .byte        0                       # 0x0
    32.         .byte        255                     # 0xff
    33.         .byte        0                       # 0x0
    34.         .byte        0                       # 0x0
    35.         .byte        0                       # 0x0
    36.         .byte        255                     # 0xff
    37.         .byte        0                       # 0x0
    38.         .byte        0                       # 0x0
    39.         .byte        0                       # 0x0
    40.         .text
    41.         .globl        "Unity.Jobs.IJobExtensions.JobStruct`1<MyBroadphaseCollisionDetection.CellCheckCollision>.Execute(ref MyBroadphaseCollisionDetection.CellCheckCollision data, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, ref Unity.Jobs.LowLevel.Unsafe.JobRanges ranges, int jobIndex)_3D90BE0FA4AD9B95"
    42.         .p2align        4, 0x90
    43. "Unity.Jobs.IJobExtensions.JobStruct`1<MyBroadphaseCollisionDetection.CellCheckCollision>.Execute(ref MyBroadphaseCollisionDetection.CellCheckCollision data, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, ref Unity.Jobs.LowLevel.Unsafe.JobRanges ranges, int jobIndex)_3D90BE0FA4AD9B95": # @"Unity.Jobs.IJobExtensions.JobStruct`1<MyBroadphaseCollisionDetection.CellCheckCollision>.Execute(ref MyBroadphaseCollisionDetection.CellCheckCollision data, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, ref Unity.Jobs.LowLevel.Unsafe.JobRanges ranges, int jobIndex)_3D90BE0FA4AD9B95"
    44. .Lfunc_begin0:
    45.         .file        1 "unknown\\unknown"
    46.         .loc        1 0 0                   # unknown:0:0
    47. .seh_proc "Unity.Jobs.IJobExtensions.JobStruct`1<MyBroadphaseCollisionDetection.CellCheckCollision>.Execute(ref MyBroadphaseCollisionDetection.CellCheckCollision data, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, ref Unity.Jobs.LowLevel.Unsafe.JobRanges ranges, int jobIndex)_3D90BE0FA4AD9B95"
    48. # %bb.0:                                # %entry
    49.         push        r15
    50.         .seh_pushreg 15
    51.         push        r14
    52.         .seh_pushreg 14
    53.         push        r13
    54.         .seh_pushreg 13
    55.         push        r12
    56.         .seh_pushreg 12
    57.         push        rsi
    58.         .seh_pushreg 6
    59.         push        rdi
    60.         .seh_pushreg 7
    61.         push        rbp
    62.         .seh_pushreg 5
    63.         push        rbx
    64.         .seh_pushreg 3
    65.         sub        rsp, 600
    66.         .seh_stackalloc 600
    67.         vmovaps        xmmword ptr [rsp + 576], xmm10 # 16-byte Spill
    68.         .seh_savexmm 10, 576
    69.         vmovaps        xmmword ptr [rsp + 560], xmm9 # 16-byte Spill
    70.         .seh_savexmm 9, 560
    71.         vmovdqa        xmmword ptr [rsp + 544], xmm8 # 16-byte Spill
    72.         .seh_savexmm 8, 544
    73.         vmovaps        xmmword ptr [rsp + 528], xmm7 # 16-byte Spill
    74.         .seh_savexmm 7, 528
    75.         vmovaps        xmmword ptr [rsp + 512], xmm6 # 16-byte Spill
    76.         .seh_savexmm 6, 512
    77.         .seh_endprologue
    78.         .file        2 "D:/unity/Testing/Assets/Scripts\\MyPhysics.cs"
    79.         .loc        2 297 30 prologue_end   # MyPhysics.cs:297:30
    80.         mov        eax, dword ptr [rcx + 8]
    81.         test        eax, eax
    82.         jle        .LBB0_118
    83. # %bb.1:                                # %BL.0008.lr.ph.i
    84.         .loc        2 0 30 is_stmt 0        # MyPhysics.cs:0:30
    85.         mov        rbp, rcx
    86. .Ltmp0:
    87.         mov        ecx, dword ptr [rcx + 12]
    88.         test        ecx, ecx
    89.         jg        .LBB0_70
    90. # %bb.2:                                # %BL.000a.i.i.i.preheader
    91.         cmp        dword ptr [rbp + 16], 0
    92.         js        .LBB0_68
    93. # %bb.3:                                # %BL.0022.i.i.i.preheader
    94.         xor        eax, eax
    95.         mov        qword ptr [rsp + 88], rax # 8-byte Spill
    96.         movabs        r13, offset ".LUnity.Entities.DynamicBuffer`1<ColliderList>.get_Item(Unity.Entities.DynamicBuffer`1<ColliderList>* this, int index)_86C4E47660F61904"
    97.         lea        rbx, [rsp + 168]
    98.         movabs        rax, offset __real@00000001
    99.         vbroadcastss        xmm10, dword ptr [rax]
    100.         movabs        rax, offset __xmm@000000ff000000ff000000ff000000ff
    101.         vmovaps        xmm9, xmmword ptr [rax]
    102.         vpxor        xmm8, xmm8, xmm8
    103.         lea        r15, [rsp + 56]
    104.         movabs        rsi, offset ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckReadAndThrowNoEarlyOut_Injected_Ptr"
    105.         .p2align        4, 0x90
    106. .LBB0_61:                               # %BL.0022.i.i.i
    107.                                         # =>This Loop Header: Depth=1
    108.                                         #     Child Loop BB0_76 Depth 2
    109.                                         #     Child Loop BB0_84 Depth 2
    110.                                         #     Child Loop BB0_106 Depth 2
    111.                                         #     Child Loop BB0_114 Depth 2
    112.                                         #     Child Loop BB0_5 Depth 2
    113.                                         #       Child Loop BB0_11 Depth 3
    114.         mov        rax, qword ptr [rbp + 24]
    115.         mov        ecx, dword ptr [rbp + 32]
    116.         mov        edx, dword ptr [rax]
    117.         and        edx, -7
    118.         cmp        ecx, edx
    119.         je        .LBB0_63
    120. # %bb.62:                               # %BL.004c.i.i.i
    121.                                         #   in Loop: Header=BB0_61 Depth=1
    122.         mov        edx, dword ptr [rbp + 36]
    123. .Ltmp1:
    124.         mov        qword ptr [rsp + 56], rax
    125.         mov        dword ptr [rsp + 64], ecx
    126.         mov        dword ptr [rsp + 68], edx
    127.         mov        rcx, r15
    128.         vzeroupper
    129.         call        qword ptr [rsi]
    130. .Ltmp2:
    131. .LBB0_63:                               # %"Unity.Collections.NativeArray`1<Unity.Entities.Entity>.get_Item(Unity.Collections.NativeArray`1<Unity.Entities.Entity>* this, int index)_041165CE0F0CCC8C.exit.i"
    132.                                         #   in Loop: Header=BB0_61 Depth=1
    133.         movsxd        r14, dword ptr [rsp + 88] # 4-byte Folded Reload
    134.         mov        rcx, qword ptr [rbp]
    135. .Ltmp3:
    136.         .file        3 "D:/unity/Testing/Library/PackageCache/com.unity.entities@0.8.0-preview.8/Unity.Entities/Iterators\\BufferFromEntity.cs"
    137.         .loc        3 73 17 is_stmt 1       # BufferFromEntity.cs:73:17
    138.         mov        rax, qword ptr [rbp + 56]
    139.         mov        rdx, rbp
    140. .Ltmp4:
    141.         .loc        1 0 0 is_stmt 0         # unknown:0:0
    142.         mov        ebp, dword ptr [rcx + 8*r14]
    143.         mov        esi, dword ptr [rcx + 8*r14 + 4]
    144.         mov        rdi, rdx
    145. .Ltmp5:
    146.         .loc        3 73 17                 # BufferFromEntity.cs:73:17
    147.         mov        ecx, dword ptr [rdx + 64]
    148. .Ltmp6:
    149.         .loc        1 0 0                   # unknown:0:0
    150.         mov        edx, dword ptr [rax]
    151.         and        edx, -7
    152.         cmp        ecx, edx
    153.         je        .LBB0_65
    154. .Ltmp7:
    155. # %bb.64:                               # %BL.0021.i.i687.i
    156.                                         #   in Loop: Header=BB0_61 Depth=1
    157.         .loc        3 73 17                 # BufferFromEntity.cs:73:17
    158.         mov        edx, dword ptr [rdi + 68]
    159. .Ltmp8:
    160.         .loc        1 0 0                   # unknown:0:0
    161.         mov        qword ptr [rsp + 56], rax
    162.         mov        dword ptr [rsp + 64], ecx
    163.         mov        dword ptr [rsp + 68], edx
    164.         mov        rcx, r15
    165.         movabs        rax, offset ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckReadAndThrowNoEarlyOut_Injected_Ptr"
    166.         vzeroupper
    167.         call        qword ptr [rax]
    168. .Ltmp9:
    169. .LBB0_65:                               # %"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrow(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_7883B5055A1A5B9B.exit.i688.i"
    170.                                         #   in Loop: Header=BB0_61 Depth=1
    171.         .file        4 "D:/unity/Testing/Library/PackageCache/com.unity.entities@0.8.0-preview.8/Unity.Entities\\EntityComponentStoreDebug.cs"
    172.         .loc        4 186 13 is_stmt 1      # EntityComponentStoreDebug.cs:186:13
    173.         test        ebp, ebp
    174.         js        .LBB0_104
    175. # %bb.66:                               # %BL.0029.i.i.i.i.i.i691.i
    176.                                         #   in Loop: Header=BB0_61 Depth=1
    177.         .loc        4 0 13 is_stmt 0        # EntityComponentStoreDebug.cs:0:13
    178.         mov        rcx, qword ptr [rdi + 96]
    179.         .loc        4 189 13 is_stmt 1      # EntityComponentStoreDebug.cs:189:13
    180.         cmp        ebp, dword ptr [rcx + 256]
    181.         jae        .LBB0_67
    182. .Ltmp10:
    183. # %bb.71:                               # %"Unity.Entities.EntityComponentStore.Exists(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity)_CF2FB7E4A668074C.exit.i.i.i.i694.i"
    184.                                         #   in Loop: Header=BB0_61 Depth=1
    185.         .file        5 "D:/unity/Testing/Library/PackageCache/com.unity.entities@0.8.0-preview.8/Unity.Entities\\EntityComponentStore.cs"
    186.         .loc        5 647 13                # EntityComponentStore.cs:647:13
    187.         mov        rax, qword ptr [rcx]
    188.         cmp        dword ptr [rax + 4*rbp], esi
    189. .Ltmp11:
    190.         .loc        5 674 13                # EntityComponentStore.cs:674:13
    191.         jne        .LBB0_121
    192. # %bb.72:                               # %"Unity.Entities.EntityComponentStore.Exists(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity)_CF2FB7E4A668074C.exit.i.i.i.i694.i"
    193.                                         #   in Loop: Header=BB0_61 Depth=1
    194.         .loc        5 0 0 is_stmt 0         # EntityComponentStore.cs:0:0
    195.         mov        r10, qword ptr [rcx + 16]
    196.         mov        r11, rbp
    197.         shl        r11, 4
    198.         mov        r9, qword ptr [r10 + r11]
    199.         .loc        5 674 13                # EntityComponentStore.cs:674:13
    200.         test        r9, r9
    201.         je        .LBB0_121
    202. # %bb.73:                               # %BL.0013.i.i.i.i695.i
    203.                                         #   in Loop: Header=BB0_61 Depth=1
    204.         .loc        5 677 13 is_stmt 1      # EntityComponentStore.cs:677:13
    205.         mov        rax, qword ptr [rcx + 8]
    206.         mov        rax, qword ptr [rax + 8*rbp]
    207. .Ltmp12:
    208.         .file        6 "D:/unity/Testing/Library/PackageCache/com.unity.entities@0.8.0-preview.8/Unity.Entities\\ChunkDataUtility.cs"
    209.         .loc        6 13 13                 # ChunkDataUtility.cs:13:13
    210.         mov        ecx, dword ptr [rax + 136]
    211.         test        rcx, rcx
    212.         .loc        6 14 29                 # ChunkDataUtility.cs:14:29
    213.         je        .LBB0_122
    214. # %bb.74:                               # %BL.0013.i.i.i.i.i698.i.preheader
    215.                                         #   in Loop: Header=BB0_61 Depth=1
    216.         .loc        6 0 29 is_stmt 0        # ChunkDataUtility.cs:0:29
    217.         mov        edx, dword ptr [rdi + 104]
    218.         mov        rsi, qword ptr [rax + 120]
    219.         xor        ebp, ebp
    220.         .p2align        4, 0x90
    221. .LBB0_76:                               # %BL.0013.i.i.i.i.i698.i
    222.                                         #   Parent Loop BB0_61 Depth=1
    223.                                         # =>  This Inner Loop Header: Depth=2
    224.         .loc        6 15 17 is_stmt 1       # ChunkDataUtility.cs:15:17
    225.         cmp        dword ptr [rsi + 4*rbp], edx
    226.         je        .LBB0_77
    227. # %bb.75:                               # %BL.002f.i.i.i.i.i696.i
    228.                                         #   in Loop: Header=BB0_76 Depth=2
    229.         .loc        6 14 29                 # ChunkDataUtility.cs:14:29
    230.         inc        rbp
    231.         cmp        ecx, ebp
    232.         jne        .LBB0_76
    233.         jmp        .LBB0_122
    234. .Ltmp13:
    235.         .p2align        4, 0x90
    236. .LBB0_77:                               # %"Unity.Entities.EntityComponentStore.HasComponent(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity, Unity.Entities.ComponentType type)_BB43E236C34CDC0F.exit.i.i.i699.i"
    237.                                         #   in Loop: Header=BB0_61 Depth=1
    238.         .loc        5 678 13                # EntityComponentStore.cs:678:13
    239.         cmp        ebp, -1
    240. .Ltmp14:
    241.         .loc        4 268 13                # EntityComponentStoreDebug.cs:268:13
    242.         je        .LBB0_122
    243. .Ltmp15:
    244. # %bb.78:                               # %"Unity.Entities.EntityComponentStore.AssertEntityHasComponent(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity, int componentType)_66A8909174F1F567.exit.i707.i"
    245.                                         #   in Loop: Header=BB0_61 Depth=1
    246.         .loc        4 0 13 is_stmt 0        # EntityComponentStoreDebug.cs:0:13
    247.         mov        rbp, rdi
    248.         .loc        3 79 17 is_stmt 1       # BufferFromEntity.cs:79:17
    249.         mov        r8d, dword ptr [rdi + 112]
    250. .Ltmp16:
    251.         .loc        6 37 13                 # ChunkDataUtility.cs:37:13
    252.         mov        eax, dword ptr [rdi + 116]
    253. .Ltmp17:
    254.         .loc        5 791 13                # EntityComponentStore.cs:791:13
    255.         movsxd        r10, dword ptr [r10 + r11 + 8]
    256. .Ltmp18:
    257.         .loc        6 78 13                 # ChunkDataUtility.cs:78:13
    258.         mov        r11, qword ptr [r9]
    259.         .loc        6 79 13                 # ChunkDataUtility.cs:79:13
    260.         mov        rcx, qword ptr [r11 + 120]
    261.         mov        esi, dword ptr [r11 + 136]
    262. .Ltmp19:
    263.         .loc        6 37 13                 # ChunkDataUtility.cs:37:13
    264.         test        eax, eax
    265.         js        .LBB0_81
    266. # %bb.79:                               # %"Unity.Entities.EntityComponentStore.AssertEntityHasComponent(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity, int componentType)_66A8909174F1F567.exit.i707.i"
    267.                                         #   in Loop: Header=BB0_61 Depth=1
    268.         cmp        eax, esi
    269.         jge        .LBB0_81
    270. # %bb.80:                               # %BL.0019.i.i.i.i708.i
    271.                                         #   in Loop: Header=BB0_61 Depth=1
    272.         cmp        dword ptr [rcx + 4*rax], edx
    273.         je        .LBB0_88
    274. .LBB0_81:                               # %BL.0036.i.i.i.i709.i
    275.                                         #   in Loop: Header=BB0_61 Depth=1
    276.         .loc        6 0 13 is_stmt 0        # ChunkDataUtility.cs:0:13
    277.         mov        eax, -1
    278.         .loc        6 40 29 is_stmt 1       # ChunkDataUtility.cs:40:29
    279.         test        esi, esi
    280.         je        .LBB0_87
    281. # %bb.82:                               # %BL.003a.i.i.i.i713.i.preheader
    282.                                         #   in Loop: Header=BB0_61 Depth=1
    283.         .loc        6 0 29 is_stmt 0        # ChunkDataUtility.cs:0:29
    284.         xor        ebp, ebp
    285.         .p2align        4, 0x90
    286. .LBB0_84:                               # %BL.003a.i.i.i.i713.i
    287.                                         #   Parent Loop BB0_61 Depth=1
    288.                                         # =>  This Inner Loop Header: Depth=2
    289.         .loc        6 42 17 is_stmt 1       # ChunkDataUtility.cs:42:17
    290.         cmp        dword ptr [rcx + 4*rbp], edx
    291.         je        .LBB0_85
    292. # %bb.83:                               # %BL.005e.i.i.i.i711.i
    293.                                         #   in Loop: Header=BB0_84 Depth=2
    294.         .loc        6 40 29                 # ChunkDataUtility.cs:40:29
    295.         inc        rbp
    296.         cmp        esi, ebp
    297.         jne        .LBB0_84
    298.         jmp        .LBB0_86
    299.         .p2align        4, 0x90
    300. .LBB0_85:                               # %"BL.003a.i.i.i.i713.i.Unity.Entities.BufferFromEntity`1<ColliderList>.get_Item(Unity.Entities.BufferFromEntity`1<ColliderList>* this, Unity.Entities.Entity entity)_DA10751DBADA461A.exit.i.sink.split.loopexit_crit_edge"
    301.                                         #   in Loop: Header=BB0_61 Depth=1
    302.         .loc        6 0 29 is_stmt 0        # ChunkDataUtility.cs:0:29
    303.         mov        eax, ebp
    304. .LBB0_86:                               # %"Unity.Entities.BufferFromEntity`1<ColliderList>.get_Item(Unity.Entities.BufferFromEntity`1<ColliderList>* this, Unity.Entities.Entity entity)_DA10751DBADA461A.exit.i.sink.split"
    305.                                         #   in Loop: Header=BB0_61 Depth=1
    306.         mov        rbp, rdi
    307. .LBB0_87:                               # %"Unity.Entities.BufferFromEntity`1<ColliderList>.get_Item(Unity.Entities.BufferFromEntity`1<ColliderList>* this, Unity.Entities.Entity entity)_DA10751DBADA461A.exit.i.sink.split"
    308.                                         #   in Loop: Header=BB0_61 Depth=1
    309.         mov        dword ptr [rbp + 116], eax
    310. .Ltmp20:
    311. .LBB0_88:                               # %"Unity.Entities.BufferFromEntity`1<ColliderList>.get_Item(Unity.Entities.BufferFromEntity`1<ColliderList>* this, Unity.Entities.Entity entity)_DA10751DBADA461A.exit.i"
    312.                                         #   in Loop: Header=BB0_61 Depth=1
    313.         .file        7 "D:/unity/Testing/Library/PackageCache/com.unity.entities@0.8.0-preview.8/Unity.Entities/Types\\ArchetypeChunkData.cs"
    314.         .loc        7 79 13 is_stmt 1       # ArchetypeChunkData.cs:79:13
    315.         mov        rcx, qword ptr [r11 + 8]
    316. .Ltmp21:
    317.         .loc        6 82 13                 # ChunkDataUtility.cs:82:13
    318.         mov        rdx, qword ptr [r11 + 160]
    319.         mov        ebp, eax
    320.         movsxd        rdx, dword ptr [rdx + 4*rbp]
    321.         .loc        6 83 13                 # ChunkDataUtility.cs:83:13
    322.         mov        rsi, qword ptr [r11 + 168]
    323.         movsxd        rbp, dword ptr [rsi + 4*rbp]
    324.         .loc        6 87 13                 # ChunkDataUtility.cs:87:13
    325.         imul        rbp, r10
    326. .Ltmp22:
    327.         .loc        7 79 13                 # ArchetypeChunkData.cs:79:13
    328.         add        eax, dword ptr [r11 + 24]
    329.         imul        eax, dword ptr [r11 + 16]
    330.         add        eax, dword ptr [r9 + 24]
    331.         mov        dword ptr [rcx + 4*rax], r8d
    332. .Ltmp23:
    333.         .loc        6 87 13                 # ChunkDataUtility.cs:87:13
    334.         add        rbp, rdx
    335.         lea        rax, [r9 + rbp + 64]
    336. .Ltmp24:
    337.         .loc        3 82 17                 # BufferFromEntity.cs:82:17
    338.         vmovups        ymm0, ymmword ptr [rdi + 56]
    339.         mov        cl, byte ptr [rdi + 108]
    340.         xor        edx, edx
    341.         xor        ebp, ebp
    342.         test        cl, cl
    343.         sete        dl
    344.         mov        esi, dword ptr [rdi + 120]
    345.         setne        bpl
    346. .Ltmp25:
    347.         .file        8 "D:/unity/Testing/Library/PackageCache/com.unity.entities@0.8.0-preview.8/Unity.Entities/Iterators\\DynamicBuffer.cs"
    348.         .loc        8 47 13                 # DynamicBuffer.cs:47:13
    349.         add        ebp, ebp
    350.         .loc        8 48 13                 # DynamicBuffer.cs:48:13
    351.         add        edx, edx
    352. .Ltmp26:
    353.         .loc        2 299 17                # MyPhysics.cs:299:17
    354.         mov        qword ptr [rsp + 168], rax
    355.         mov        dword ptr [rsp + 176], esi
    356.         vmovups        ymmword ptr [rsp + 184], ymm0
    357.         mov        dword ptr [rsp + 216], ebp
    358.         mov        rbp, rdi
    359.         mov        dword ptr [rsp + 220], edx
    360.         mov        byte ptr [rsp + 224], cl
    361.         mov        word ptr [rsp + 225], 0
    362. .Ltmp27:
    363.         .loc        1 0 0 is_stmt 0         # unknown:0:0
    364.         mov        eax, dword ptr [rdi + 12]
    365.         mov        rcx, qword ptr [rsp + 88] # 8-byte Reload
    366.         cmp        eax, ecx
    367.         jg        .LBB0_100
    368. # %bb.89:                               # %BL.000a.i.i758.i
    369.                                         #   in Loop: Header=BB0_61 Depth=1
    370.         cmp        dword ptr [rbp + 16], ecx
    371.         jl        .LBB0_100
    372. # %bb.90:                               # %BL.0022.i.i759.i
    373.                                         #   in Loop: Header=BB0_61 Depth=1
    374.         mov        rax, qword ptr [rbp + 24]
    375.         mov        ecx, dword ptr [rbp + 32]
    376.         mov        edx, dword ptr [rax]
    377.         and        edx, -7
    378.         cmp        ecx, edx
    379.         je        .LBB0_92
    380. # %bb.91:                               # %BL.004c.i.i780.i
    381.                                         #   in Loop: Header=BB0_61 Depth=1
    382.         mov        edx, dword ptr [rbp + 36]
    383. .Ltmp28:
    384.         mov        qword ptr [rsp + 56], rax
    385.         mov        dword ptr [rsp + 64], ecx
    386.         mov        dword ptr [rsp + 68], edx
    387.         mov        rcx, r15
    388.         movabs        rax, offset ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckReadAndThrowNoEarlyOut_Injected_Ptr"
    389.         vzeroupper
    390.         call        qword ptr [rax]
    391. .Ltmp29:
    392. .LBB0_92:                               # %"Unity.Collections.NativeArray`1<Unity.Entities.Entity>.get_Item(Unity.Collections.NativeArray`1<Unity.Entities.Entity>* this, int index)_041165CE0F0CCC8C.exit787.i"
    393.                                         #   in Loop: Header=BB0_61 Depth=1
    394.         mov        rcx, qword ptr [rbp]
    395. .Ltmp30:
    396.         .loc        3 73 17 is_stmt 1       # BufferFromEntity.cs:73:17
    397.         mov        rax, qword ptr [rbp + 128]
    398. .Ltmp31:
    399.         .loc        1 0 0 is_stmt 0         # unknown:0:0
    400.         mov        esi, dword ptr [rcx + 8*r14]
    401.         mov        rdx, rbp
    402.         mov        ebp, dword ptr [rcx + 8*r14 + 4]
    403. .Ltmp32:
    404.         .loc        3 73 17                 # BufferFromEntity.cs:73:17
    405.         mov        ecx, dword ptr [rdx + 136]
    406. .Ltmp33:
    407.         .loc        1 0 0                   # unknown:0:0
    408.         mov        edx, dword ptr [rax]
    409.         and        edx, -7
    410.         cmp        ecx, edx
    411.         je        .LBB0_94
    412. .Ltmp34:
    413. # %bb.93:                               # %BL.0021.i.i.i
    414.                                         #   in Loop: Header=BB0_61 Depth=1
    415.         .loc        3 73 17                 # BufferFromEntity.cs:73:17
    416.         mov        edx, dword ptr [rdi + 140]
    417. .Ltmp35:
    418.         .loc        1 0 0                   # unknown:0:0
    419.         mov        qword ptr [rsp + 56], rax
    420.         mov        dword ptr [rsp + 64], ecx
    421.         mov        dword ptr [rsp + 68], edx
    422.         mov        rcx, r15
    423.         movabs        rax, offset ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckReadAndThrowNoEarlyOut_Injected_Ptr"
    424.         vzeroupper
    425.         call        qword ptr [rax]
    426. .Ltmp36:
    427. .LBB0_94:                               # %"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrow(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_7883B5055A1A5B9B.exit.i.i"
    428.                                         #   in Loop: Header=BB0_61 Depth=1
    429.         .loc        4 186 13 is_stmt 1      # EntityComponentStoreDebug.cs:186:13
    430.         test        esi, esi
    431.         js        .LBB0_104
    432. # %bb.95:                               # %BL.0029.i.i.i.i.i.i.i
    433.                                         #   in Loop: Header=BB0_61 Depth=1
    434.         .loc        4 0 13 is_stmt 0        # EntityComponentStoreDebug.cs:0:13
    435.         mov        rcx, qword ptr [rdi + 168]
    436.         .loc        4 189 13 is_stmt 1      # EntityComponentStoreDebug.cs:189:13
    437.         cmp        esi, dword ptr [rcx + 256]
    438.         jae        .LBB0_67
    439. .Ltmp37:
    440. # %bb.96:                               # %"Unity.Entities.EntityComponentStore.Exists(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity)_CF2FB7E4A668074C.exit.i.i.i.i.i"
    441.                                         #   in Loop: Header=BB0_61 Depth=1
    442.         .loc        5 647 13                # EntityComponentStore.cs:647:13
    443.         mov        rax, qword ptr [rcx]
    444.         cmp        dword ptr [rax + 4*rsi], ebp
    445. .Ltmp38:
    446.         .loc        5 674 13                # EntityComponentStore.cs:674:13
    447.         jne        .LBB0_121
    448. # %bb.97:                               # %"Unity.Entities.EntityComponentStore.Exists(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity)_CF2FB7E4A668074C.exit.i.i.i.i.i"
    449.                                         #   in Loop: Header=BB0_61 Depth=1
    450.         .loc        5 0 0 is_stmt 0         # EntityComponentStore.cs:0:0
    451.         mov        r10, qword ptr [rcx + 16]
    452.         mov        r11, rsi
    453.         shl        r11, 4
    454.         mov        r9, qword ptr [r10 + r11]
    455.         .loc        5 674 13                # EntityComponentStore.cs:674:13
    456.         test        r9, r9
    457.         je        .LBB0_121
    458. # %bb.98:                               # %BL.0013.i.i.i.i.i
    459.                                         #   in Loop: Header=BB0_61 Depth=1
    460.         .loc        5 677 13 is_stmt 1      # EntityComponentStore.cs:677:13
    461.         mov        rax, qword ptr [rcx + 8]
    462.         mov        rax, qword ptr [rax + 8*rsi]
    463. .Ltmp39:
    464.         .loc        6 13 13                 # ChunkDataUtility.cs:13:13
    465.         mov        ecx, dword ptr [rax + 136]
    466.         .loc        6 14 29                 # ChunkDataUtility.cs:14:29
    467.         test        ecx, ecx
    468.         je        .LBB0_122
    469. # %bb.99:                               # %BL.0013.i.i.i.i.i.i.preheader
    470.                                         #   in Loop: Header=BB0_61 Depth=1
    471.         .loc        6 0 29 is_stmt 0        # ChunkDataUtility.cs:0:29
    472.         mov        ebp, dword ptr [rdi + 176]
    473.         mov        rsi, qword ptr [rax + 120]
    474.         xor        edx, edx
    475.         .p2align        4, 0x90
    476. .LBB0_106:                              # %BL.0013.i.i.i.i.i.i
    477.                                         #   Parent Loop BB0_61 Depth=1
    478.                                         # =>  This Inner Loop Header: Depth=2
    479.         .loc        6 15 17 is_stmt 1       # ChunkDataUtility.cs:15:17
    480.         mov        eax, edx
    481.         cmp        dword ptr [rsi + 4*rax], ebp
    482.         je        .LBB0_107
    483. # %bb.105:                              # %BL.002f.i.i.i.i.i.i
    484.                                         #   in Loop: Header=BB0_106 Depth=2
    485.         .loc        6 14 45                 # ChunkDataUtility.cs:14:45
    486.         inc        edx
    487.         .loc        6 14 29 is_stmt 0       # ChunkDataUtility.cs:14:29
    488.         cmp        ecx, edx
    489.         jne        .LBB0_106
    490.         jmp        .LBB0_122
    491. .Ltmp40:
    492.         .p2align        4, 0x90
    493. .LBB0_107:                              # %"Unity.Entities.EntityComponentStore.HasComponent(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity, Unity.Entities.ComponentType type)_BB43E236C34CDC0F.exit.i.i.i.i"
    494.                                         #   in Loop: Header=BB0_61 Depth=1
    495.         .loc        5 678 13 is_stmt 1      # EntityComponentStore.cs:678:13
    496.         cmp        edx, -1
    497. .Ltmp41:
    498.         .loc        4 268 13                # EntityComponentStoreDebug.cs:268:13
    499.         je        .LBB0_122
    500. .Ltmp42:
    501. # %bb.108:                              # %"Unity.Entities.EntityComponentStore.AssertEntityHasComponent(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity, int componentType)_66A8909174F1F567.exit.i.i"
    502.                                         #   in Loop: Header=BB0_61 Depth=1
    503.         .loc        4 0 13 is_stmt 0        # EntityComponentStoreDebug.cs:0:13
    504.         mov        rax, rdi
    505.         .loc        3 79 17 is_stmt 1       # BufferFromEntity.cs:79:17
    506.         mov        r8d, dword ptr [rdi + 184]
    507. .Ltmp43:
    508.         .loc        6 37 13                 # ChunkDataUtility.cs:37:13
    509.         mov        eax, dword ptr [rdi + 188]
    510. .Ltmp44:
    511.         .loc        5 791 13                # EntityComponentStore.cs:791:13
    512.         movsxd        r10, dword ptr [r10 + r11 + 8]
    513. .Ltmp45:
    514.         .loc        6 78 13                 # ChunkDataUtility.cs:78:13
    515.         mov        r11, qword ptr [r9]
    516.         .loc        6 79 13                 # ChunkDataUtility.cs:79:13
    517.         mov        rsi, qword ptr [r11 + 120]
    518.         mov        ecx, dword ptr [r11 + 136]
    519. .Ltmp46:
    520.         .loc        6 37 13                 # ChunkDataUtility.cs:37:13
    521.         test        eax, eax
    522.         js        .LBB0_111
    523. # %bb.109:                              # %"Unity.Entities.EntityComponentStore.AssertEntityHasComponent(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity, int componentType)_66A8909174F1F567.exit.i.i"
    524.                                         #   in Loop: Header=BB0_61 Depth=1
    525.         cmp        eax, ecx
    526.         jge        .LBB0_111
    527. # %bb.110:                              # %BL.0019.i.i.i.i.i
    528.                                         #   in Loop: Header=BB0_61 Depth=1
    529.         cmp        dword ptr [rsi + 4*rax], ebp
    530.         je        .LBB0_117
    531. .LBB0_111:                              # %BL.0036.i.i.i.i.i
    532.                                         #   in Loop: Header=BB0_61 Depth=1
    533.         .loc        6 0 13 is_stmt 0        # ChunkDataUtility.cs:0:13
    534.         mov        eax, -1
    535.         .loc        6 40 29 is_stmt 1       # ChunkDataUtility.cs:40:29
    536.         test        ecx, ecx
    537.         je        .LBB0_116
    538. # %bb.112:                              # %BL.003a.i.i.i.i.i.preheader
    539.                                         #   in Loop: Header=BB0_61 Depth=1
    540.         .loc        6 0 29 is_stmt 0        # ChunkDataUtility.cs:0:29
    541.         xor        edx, edx
    542.         .p2align        4, 0x90
    543. .LBB0_114:                              # %BL.003a.i.i.i.i.i
    544.                                         #   Parent Loop BB0_61 Depth=1
    545.                                         # =>  This Inner Loop Header: Depth=2
    546.         .loc        6 42 17 is_stmt 1       # ChunkDataUtility.cs:42:17
    547.         cmp        dword ptr [rsi + 4*rdx], ebp
    548.         je        .LBB0_115
    549. # %bb.113:                              # %BL.005e.i.i.i.i.i
    550.                                         #   in Loop: Header=BB0_114 Depth=2
    551.         .loc        6 40 29                 # ChunkDataUtility.cs:40:29
    552.         inc        rdx
    553.         cmp        ecx, edx
    554.         jne        .LBB0_114
    555.         jmp        .LBB0_116
    556.         .p2align        4, 0x90
    557. .LBB0_115:                              # %"BL.003a.i.i.i.i.i.Unity.Entities.BufferFromEntity`1<EntityList>.get_Item(Unity.Entities.BufferFromEntity`1<EntityList>* this, Unity.Entities.Entity entity)_6FFCF5E228D01967.exit.i.sink.split.loopexit_crit_edge"
    558.                                         #   in Loop: Header=BB0_61 Depth=1
    559.         .loc        6 0 29 is_stmt 0        # ChunkDataUtility.cs:0:29
    560.         mov        eax, edx
    561. .LBB0_116:                              # %"Unity.Entities.BufferFromEntity`1<EntityList>.get_Item(Unity.Entities.BufferFromEntity`1<EntityList>* this, Unity.Entities.Entity entity)_6FFCF5E228D01967.exit.i.sink.split"
    562.                                         #   in Loop: Header=BB0_61 Depth=1
    563.         mov        dword ptr [rdi + 188], eax
    564. .Ltmp47:
    565. .LBB0_117:                              # %"Unity.Entities.BufferFromEntity`1<EntityList>.get_Item(Unity.Entities.BufferFromEntity`1<EntityList>* this, Unity.Entities.Entity entity)_6FFCF5E228D01967.exit.i"
    566.                                         #   in Loop: Header=BB0_61 Depth=1
    567.         .loc        7 79 13 is_stmt 1       # ArchetypeChunkData.cs:79:13
    568.         mov        rcx, qword ptr [r11 + 8]
    569. .Ltmp48:
    570.         .loc        6 82 13                 # ChunkDataUtility.cs:82:13
    571.         mov        rdx, qword ptr [r11 + 160]
    572.         mov        ebp, eax
    573.         movsxd        rdx, dword ptr [rdx + 4*rbp]
    574.         .loc        6 83 13                 # ChunkDataUtility.cs:83:13
    575.         mov        rsi, qword ptr [r11 + 168]
    576.         movsxd        rbp, dword ptr [rsi + 4*rbp]
    577.         .loc        6 87 13                 # ChunkDataUtility.cs:87:13
    578.         imul        rbp, r10
    579. .Ltmp49:
    580.         .loc        7 79 13                 # ArchetypeChunkData.cs:79:13
    581.         add        eax, dword ptr [r11 + 24]
    582.         imul        eax, dword ptr [r11 + 16]
    583.         add        eax, dword ptr [r9 + 24]
    584.         mov        dword ptr [rcx + 4*rax], r8d
    585. .Ltmp50:
    586.         .loc        6 87 13                 # ChunkDataUtility.cs:87:13
    587.         add        rbp, rdx
    588.         lea        rax, [r9 + rbp + 64]
    589.         mov        qword ptr [rsp + 248], rax # 8-byte Spill
    590. .Ltmp51:
    591.         .loc        3 82 17                 # BufferFromEntity.cs:82:17
    592.         mov        rax, qword ptr [rdi + 128]
    593.         mov        qword ptr [rsp + 240], rax # 8-byte Spill
    594.         mov        eax, dword ptr [rdi + 136]
    595.         mov        dword ptr [rsp + 112], eax # 4-byte Spill
    596.         mov        al, byte ptr [rdi + 140]
    597.         mov        byte ptr [rsp + 79], al # 1-byte Spill
    598.         mov        al, byte ptr [rdi + 141]
    599.         mov        byte ptr [rsp + 55], al # 1-byte Spill
    600.         mov        al, byte ptr [rdi + 142]
    601.         mov        byte ptr [rsp + 54], al # 1-byte Spill
    602.         mov        al, byte ptr [rdi + 143]
    603.         mov        byte ptr [rsp + 53], al # 1-byte Spill
    604.         mov        rax, qword ptr [rdi + 144]
    605.         mov        qword ptr [rsp + 80], rax # 8-byte Spill
    606.         mov        eax, dword ptr [rdi + 152]
    607.         mov        dword ptr [rsp + 72], eax # 4-byte Spill
    608.         mov        al, byte ptr [rdi + 156]
    609.         mov        byte ptr [rsp + 52], al # 1-byte Spill
    610.         mov        al, byte ptr [rdi + 157]
    611.         mov        byte ptr [rsp + 51], al # 1-byte Spill
    612.         mov        al, byte ptr [rdi + 158]
    613.         mov        byte ptr [rsp + 50], al # 1-byte Spill
    614.         mov        al, byte ptr [rdi + 159]
    615.         mov        byte ptr [rsp + 49], al # 1-byte Spill
    616. .Ltmp52:
    617.         .file        9 "D:/unity/Testing/Library/PackageCache/com.unity.entities@0.8.0-preview.8/Unity.Entities/Types\\BufferHeader.cs"
    618.         .loc        9 0 0 is_stmt 0         # BufferHeader.cs:0:0
    619.         lea        rax, [r9 + rbp + 80]
    620.         mov        qword ptr [rsp + 160], rax # 8-byte Spill
    621.         mov        rbp, rdi
    622.         mov        edi, 1
    623.         xor        r12d, r12d
    624.         movabs        rsi, offset ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckReadAndThrowNoEarlyOut_Injected_Ptr"
    625.         jmp        .LBB0_5
    626. .Ltmp53:
    627.         .p2align        4, 0x90
    628. .LBB0_4:                                # %BL.016a.loopexit.i
    629.                                         #   in Loop: Header=BB0_5 Depth=2
    630.         mov        edi, dword ptr [rsp + 104] # 4-byte Reload
    631. .Ltmp54:
    632.         inc        edi
    633.         mov        r12, qword ptr [rsp + 232] # 8-byte Reload
    634. .Ltmp55:
    635. .LBB0_5:                                # %BL.016a.i
    636.                                         #   Parent Loop BB0_61 Depth=1
    637.                                         # =>  This Loop Header: Depth=2
    638.                                         #       Child Loop BB0_11 Depth 3
    639.         .loc        8 133 13 is_stmt 1      # DynamicBuffer.cs:133:13
    640.         mov        rax, qword ptr [rsp + 184]
    641.         mov        ecx, dword ptr [rsp + 192]
    642. .Ltmp56:
    643.         .loc        1 0 0 is_stmt 0         # unknown:0:0
    644.         mov        edx, dword ptr [rax]
    645.         and        edx, -7
    646.         cmp        ecx, edx
    647.         je        .LBB0_7
    648. .Ltmp57:
    649. # %bb.6:                                # %BL.0021.i.i.i.i
    650.                                         #   in Loop: Header=BB0_5 Depth=2
    651.         .loc        8 133 13                # DynamicBuffer.cs:133:13
    652.         mov        edx, dword ptr [rsp + 196]
    653. .Ltmp58:
    654.         .loc        1 0 0                   # unknown:0:0
    655.         mov        qword ptr [rsp + 56], rax
    656.         mov        dword ptr [rsp + 64], ecx
    657.         mov        dword ptr [rsp + 68], edx
    658.         mov        rcx, r15
    659.         vzeroupper
    660.         call        qword ptr [rsi]
    661. .Ltmp59:
    662. .LBB0_7:                                # %"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrow(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_7883B5055A1A5B9B.exit.i.i.i"
    663.                                         #   in Loop: Header=BB0_5 Depth=2
    664.         .loc        8 134 13 is_stmt 1      # DynamicBuffer.cs:134:13
    665.         mov        rax, qword ptr [rsp + 200]
    666.         mov        ecx, dword ptr [rsp + 208]
    667. .Ltmp60:
    668.         .loc        1 0 0 is_stmt 0         # unknown:0:0
    669.         mov        edx, dword ptr [rax]
    670.         and        edx, -7
    671.         cmp        ecx, edx
    672.         je        .LBB0_9
    673. .Ltmp61:
    674. # %bb.8:                                # %BL.0021.i36.i.i.i
    675.                                         #   in Loop: Header=BB0_5 Depth=2
    676.         .loc        8 134 13                # DynamicBuffer.cs:134:13
    677.         mov        edx, dword ptr [rsp + 212]
    678. .Ltmp62:
    679.         .loc        1 0 0                   # unknown:0:0
    680.         mov        qword ptr [rsp + 56], rax
    681.         mov        dword ptr [rsp + 64], ecx
    682.         mov        dword ptr [rsp + 68], edx
    683.         mov        rcx, r15
    684.         vzeroupper
    685.         call        qword ptr [rsi]
    686. .Ltmp63:
    687. .LBB0_9:                                # %"Unity.Entities.DynamicBuffer`1<ColliderList>.get_Length(Unity.Entities.DynamicBuffer`1<ColliderList>* this)_02ED263B23DD9D3B.exit.i"
    688.                                         #   in Loop: Header=BB0_5 Depth=2
    689.         .loc        8 73 17 is_stmt 1       # DynamicBuffer.cs:73:17
    690.         mov        rax, qword ptr [rsp + 168]
    691.         movsxd        rax, dword ptr [rax + 8]
    692. .Ltmp64:
    693.         .loc        2 301 34                # MyPhysics.cs:301:34
    694.         cmp        r12, rax
    695.         jge        .LBB0_58
    696. # %bb.10:                               # %BL.0040.i
    697.                                         #   in Loop: Header=BB0_5 Depth=2
    698.         .loc        2 0 34 is_stmt 0        # MyPhysics.cs:0:34
    699.         mov        dword ptr [rsp + 104], edi # 4-byte Spill
    700.         movsxd        r14, edi
    701.         .loc        2 303 21 is_stmt 1      # MyPhysics.cs:303:21
    702.         lea        rcx, [rsp + 400]
    703.         mov        rdx, rbx
    704.         mov        r8d, r12d
    705.         vzeroupper
    706.         call        r13
    707.         vmovsd        xmm0, qword ptr [rsp + 424] # xmm0 = mem[0],zero
    708.         vmovsd        xmm1, qword ptr [rsp + 436] # xmm1 = mem[0],zero
    709.         vinsertps        xmm0, xmm0, dword ptr [rsp + 432], 32 # xmm0 = xmm0[0,1],mem[0],xmm0[3]
    710.         vinsertps        xmm1, xmm1, dword ptr [rsp + 444], 32 # xmm1 = xmm1[0,1],mem[0],xmm1[3]
    711.         mov        qword ptr [rsp + 96], r12 # 8-byte Spill
    712.         .loc        2 304 27                # MyPhysics.cs:304:27
    713.         lea        rax, [r12 + 1]
    714.         mov        qword ptr [rsp + 232], rax # 8-byte Spill
    715. .Ltmp65:
    716.         .file        10 "D:/unity/Testing/Library/PackageCache/com.unity.entities@0.8.0-preview.8/Unity.Mathematics.Extensions\\AABB.cs"
    717.         .loc        10 0 0 is_stmt 0        # AABB.cs:0:0
    718.         vaddps        xmm7, xmm0, xmm1
    719. .Ltmp66:
    720.         vsubps        xmm6, xmm0, xmm1
    721.         lea        r12, [rsp + 256]
    722.         jmp        .LBB0_11
    723. .Ltmp67:
    724. .LBB0_55:                               # %"Unity.Collections.LowLevel.Unsafe.UnsafeList.Realloc(Unity.Collections.LowLevel.Unsafe.UnsafeList* this, int sizeOf, int alignOf, int capacity)_A96A1D3299484E93.exit.i.i.i.i.i.i"
    725.                                         #   in Loop: Header=BB0_11 Depth=3
    726.         .file        11 "D:/unity/Testing/Library/PackageCache/com.unity.collections@0.7.0-preview.2/Unity.Collections\\UnsafeList.cs"
    727.         .loc        11 271 13 is_stmt 1     # UnsafeList.cs:271:13
    728.         mov        dword ptr [r15 + 8], eax
    729.         mov        ebp, dword ptr [rsp + 108] # 4-byte Reload
    730. .Ltmp68:
    731. .LBB0_56:                               # %"Unity.Collections.NativeList`1<CollisionPair>.Add(Unity.Collections.NativeList`1<CollisionPair>* this, CollisionPair value)_657CB95C27E8CD2E.exit.i"
    732.                                         #   in Loop: Header=BB0_11 Depth=3
    733.         .loc        11 0 0 is_stmt 0        # UnsafeList.cs:0:0
    734.         mov        dword ptr [r15 + 8], ebx
    735.         .loc        11 417 13 is_stmt 1     # UnsafeList.cs:417:13
    736.         mov        rax, qword ptr [r15]
    737.         imul        rcx, r12, 112
    738.         vmovups        ymm0, ymmword ptr [rsp + 480] # 32-byte Reload
    739.         vmovups        ymmword ptr [rax + rcx], ymm0
    740.         mov        edx, dword ptr [rsp + 156] # 4-byte Reload
    741.         mov        dword ptr [rax + rcx + 32], edx
    742.         mov        edx, dword ptr [rsp + 152] # 4-byte Reload
    743.         mov        dword ptr [rax + rcx + 36], edx
    744.         mov        edx, dword ptr [rsp + 148] # 4-byte Reload
    745.         mov        dword ptr [rax + rcx + 40], edx
    746.         mov        edx, dword ptr [rsp + 144] # 4-byte Reload
    747.         mov        dword ptr [rax + rcx + 44], edx
    748.         mov        edx, dword ptr [rsp + 140] # 4-byte Reload
    749.         mov        dword ptr [rax + rcx + 48], edx
    750.         mov        edx, dword ptr [rsp + 136] # 4-byte Reload
    751.         mov        dword ptr [rax + rcx + 52], edx
    752.         mov        edx, dword ptr [rsp + 132] # 4-byte Reload
    753.         mov        dword ptr [rax + rcx + 56], edx
    754.         mov        edx, dword ptr [rsp + 128] # 4-byte Reload
    755.         mov        dword ptr [rax + rcx + 60], edx
    756.         vmovups        ymm0, ymmword ptr [rsp + 448] # 32-byte Reload
    757.         vmovups        ymmword ptr [rax + rcx + 64], ymm0
    758.         mov        edx, dword ptr [rsp + 124] # 4-byte Reload
    759.         mov        dword ptr [rax + rcx + 96], edx
    760.         mov        edx, dword ptr [rsp + 120] # 4-byte Reload
    761.         mov        dword ptr [rax + rcx + 100], edx
    762.         mov        edx, dword ptr [rsp + 116] # 4-byte Reload
    763.         mov        dword ptr [rax + rcx + 104], edx
    764.         mov        dword ptr [rax + rcx + 108], ebp
    765.         mov        rbp, rdi
    766.         movabs        rdi, offset ".LUnity.Entities.DynamicBuffer`1<ColliderList>.get_Item(Unity.Entities.DynamicBuffer`1<ColliderList>* this, int index)_86C4E47660F61904"
    767.         mov        r13, rdi
    768.         lea        rbx, [rsp + 168]
    769.         lea        r12, [rsp + 256]
    770.         mov        r15, rsi
    771.         movabs        rsi, offset ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckReadAndThrowNoEarlyOut_Injected_Ptr"
    772. .Ltmp69:
    773. .LBB0_57:                               # %BL.014a.i
    774.                                         #   in Loop: Header=BB0_11 Depth=3
    775.         .loc        2 304 67                # MyPhysics.cs:304:67
    776.         inc        r14
    777. .LBB0_11:                               # %BL.0151.i
    778.                                         #   Parent Loop BB0_61 Depth=1
    779.                                         #     Parent Loop BB0_5 Depth=2
    780.                                         # =>    This Inner Loop Header: Depth=3
    781. .Ltmp70:
    782.         .loc        8 133 13                # DynamicBuffer.cs:133:13
    783.         mov        rax, qword ptr [rsp + 184]
    784.         mov        ecx, dword ptr [rsp + 192]
    785. .Ltmp71:
    786.         .loc        1 0 0 is_stmt 0         # unknown:0:0
    787.         mov        edx, dword ptr [rax]
    788.         and        edx, -7
    789.         cmp        ecx, edx
    790.         je        .LBB0_13
    791. .Ltmp72:
    792. # %bb.12:                               # %BL.0021.i.i.i502.i
    793.                                         #   in Loop: Header=BB0_11 Depth=3
    794.         .loc        8 133 13                # DynamicBuffer.cs:133:13
    795.         mov        edx, dword ptr [rsp + 196]
    796. .Ltmp73:
    797.         .loc        1 0 0                   # unknown:0:0
    798.         mov        qword ptr [rsp + 56], rax
    799.         mov        dword ptr [rsp + 64], ecx
    800.         mov        dword ptr [rsp + 68], edx
    801.         mov        rcx, r15
    802.         vzeroupper
    803.         call        qword ptr [rsi]
    804. .Ltmp74:
    805. .LBB0_13:                               # %"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrow(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_7883B5055A1A5B9B.exit.i.i507.i"
    806.                                         #   in Loop: Header=BB0_11 Depth=3
    807.         .loc        8 134 13 is_stmt 1      # DynamicBuffer.cs:134:13
    808.         mov        rax, qword ptr [rsp + 200]
    809.         mov        ecx, dword ptr [rsp + 208]
    810. .Ltmp75:
    811.         .loc        1 0 0 is_stmt 0         # unknown:0:0
    812.         mov        edx, dword ptr [rax]
    813.         and        edx, -7
    814.         cmp        ecx, edx
    815.         je        .LBB0_15
    816. .Ltmp76:
    817. # %bb.14:                               # %BL.0021.i36.i.i522.i
    818.                                         #   in Loop: Header=BB0_11 Depth=3
    819.         .loc        8 134 13                # DynamicBuffer.cs:134:13
    820.         mov        edx, dword ptr [rsp + 212]
    821. .Ltmp77:
    822.         .loc        1 0 0                   # unknown:0:0
    823.         mov        qword ptr [rsp + 56], rax
    824.         mov        dword ptr [rsp + 64], ecx
    825.         mov        dword ptr [rsp + 68], edx
    826.         mov        rcx, r15
    827.         vzeroupper
    828.         call        qword ptr [rsi]
    829. .Ltmp78:
    830. .LBB0_15:                               # %"Unity.Entities.DynamicBuffer`1<ColliderList>.get_Length(Unity.Entities.DynamicBuffer`1<ColliderList>* this)_02ED263B23DD9D3B.exit523.i"
    831.                                         #   in Loop: Header=BB0_11 Depth=3
    832.         .loc        8 73 17 is_stmt 1       # DynamicBuffer.cs:73:17
    833.         mov        rax, qword ptr [rsp + 168]
    834.         movsxd        rax, dword ptr [rax + 8]
    835. .Ltmp79:
    836.         .loc        2 304 42                # MyPhysics.cs:304:42
    837.         cmp        r14, rax
    838.         jge        .LBB0_4
    839. # %bb.16:                               # %BL.005f.i
    840.                                         #   in Loop: Header=BB0_11 Depth=3
    841.         .loc        2 306 25                # MyPhysics.cs:306:25
    842.         mov        rcx, r12
    843.         mov        rdx, rbx
    844.         mov        r8d, r14d
    845.         vzeroupper
    846.         call        r13
    847.         vmovsd        xmm0, qword ptr [rsp + 280] # xmm0 = mem[0],zero
    848.         vmovsd        xmm1, qword ptr [rsp + 292] # xmm1 = mem[0],zero
    849.         vinsertps        xmm2, xmm0, dword ptr [rsp + 288], 32 # xmm2 = xmm0[0,1],mem[0],xmm0[3]
    850.         vinsertps        xmm1, xmm1, dword ptr [rsp + 300], 32 # xmm1 = xmm1[0,1],mem[0],xmm1[3]
    851. .Ltmp80:
    852.         .loc        10 13 35                # AABB.cs:13:35
    853.         vsubps        xmm0, xmm2, xmm1
    854. .Ltmp81:
    855.         .loc        2 307 25                # MyPhysics.cs:307:25
    856.         vcmpltps        xmm0, xmm0, xmm7
    857.         vandps        xmm0, xmm0, xmm10
    858. .Ltmp82:
    859.         .loc        10 14 35                # AABB.cs:14:35
    860.         vaddps        xmm1, xmm2, xmm1
    861. .Ltmp83:
    862.         .loc        2 308 25                # MyPhysics.cs:308:25
    863.         vcmpltps        xmm1, xmm6, xmm1
    864.         vandps        xmm1, xmm1, xmm10
    865.         .loc        2 309 25                # MyPhysics.cs:309:25
    866.         vpermilps        xmm2, xmm0, 164 # xmm2 = xmm0[0,1,2,2]
    867.         vpermilps        xmm1, xmm1, 198 # xmm1 = xmm1[2,1,0,3]
    868.         vblendps        xmm1, xmm1, xmm2, 8 # xmm1 = xmm1[0,1,2],xmm2[3]
    869.         vandps        xmm1, xmm1, xmm9
    870.         vpcmpeqd        xmm1, xmm1, xmm8
    871.         vmovmskps        eax, xmm1
    872.         test        al, al
    873.         jne        .LBB0_57
    874. # %bb.17:                               # %BL.005f.i
    875.                                         #   in Loop: Header=BB0_11 Depth=3
    876.         vpextrb        eax, xmm0, 0
    877.         test        al, al
    878.         je        .LBB0_57
    879. # %bb.18:                               # %BL.005f.i
    880.                                         #   in Loop: Header=BB0_11 Depth=3
    881.         vpextrb        eax, xmm0, 4
    882.         test        al, al
    883.         je        .LBB0_57
    884. # %bb.19:                               # %BL.00dc.i
    885.                                         #   in Loop: Header=BB0_11 Depth=3
    886.         .loc        2 0 25 is_stmt 0        # MyPhysics.cs:0:25
    887.         mov        r12, rbp
    888.         .loc        2 311 29 is_stmt 1      # MyPhysics.cs:311:29
    889.         lea        rcx, [rsp + 304]
    890.         mov        rdx, rbx
    891.         mov        r8, qword ptr [rsp + 96] # 8-byte Reload
    892.                                         # kill: def $r8d killed $r8d killed $r8
    893.         call        r13
    894.         vmovups        ymm0, ymmword ptr [rsp + 304]
    895.         vmovups        ymmword ptr [rsp + 480], ymm0 # 32-byte Spill
    896.         mov        eax, dword ptr [rsp + 336]
    897.         mov        dword ptr [rsp + 156], eax # 4-byte Spill
    898.         mov        eax, dword ptr [rsp + 340]
    899.         mov        dword ptr [rsp + 152], eax # 4-byte Spill
    900.         mov        eax, dword ptr [rsp + 344]
    901.         mov        dword ptr [rsp + 148], eax # 4-byte Spill
    902.         mov        eax, dword ptr [rsp + 348]
    903.         mov        dword ptr [rsp + 144], eax # 4-byte Spill
    904.         lea        rcx, [rsp + 352]
    905.         mov        rdx, rbx
    906.         mov        r8d, r14d
    907.         vzeroupper
    908.         call        r13
    909.         mov        eax, dword ptr [rsp + 352]
    910.         mov        dword ptr [rsp + 140], eax # 4-byte Spill
    911.         mov        eax, dword ptr [rsp + 356]
    912.         mov        dword ptr [rsp + 136], eax # 4-byte Spill
    913.         mov        eax, dword ptr [rsp + 360]
    914.         mov        dword ptr [rsp + 132], eax # 4-byte Spill
    915.         mov        eax, dword ptr [rsp + 364]
    916.         mov        dword ptr [rsp + 128], eax # 4-byte Spill
    917.         vmovups        ymm0, ymmword ptr [rsp + 368]
    918.         vmovups        ymmword ptr [rsp + 448], ymm0 # 32-byte Spill
    919.         mov        rbp, qword ptr [rsp + 240] # 8-byte Reload
    920. .Ltmp84:
    921.         .loc        1 0 0 is_stmt 0         # unknown:0:0
    922.         mov        eax, dword ptr [rbp]
    923.         and        eax, -7
    924.         mov        edi, dword ptr [rsp + 112] # 4-byte Reload
    925.         cmp        edi, eax
    926.         movzx        r13d, byte ptr [rsp + 79] # 1-byte Folded Reload
    927.         je        .LBB0_21
    928. # %bb.20:                               # %BL.0021.i.i.i544.i
    929.                                         #   in Loop: Header=BB0_11 Depth=3
    930. .Ltmp85:
    931.         mov        qword ptr [rsp + 56], rbp
    932.         mov        dword ptr [rsp + 64], edi
    933.         mov        byte ptr [rsp + 68], r13b
    934.         movzx        eax, byte ptr [rsp + 55] # 1-byte Folded Reload
    935.         mov        byte ptr [rsp + 69], al
    936.         movzx        eax, byte ptr [rsp + 54] # 1-byte Folded Reload
    937.         mov        byte ptr [rsp + 70], al
    938.         movzx        eax, byte ptr [rsp + 53] # 1-byte Folded Reload
    939.         mov        byte ptr [rsp + 71], al
    940.         mov        rcx, r15
    941.         vzeroupper
    942.         call        qword ptr [rsi]
    943. .Ltmp86:
    944. .LBB0_21:                               # %"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrow(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_7883B5055A1A5B9B.exit.i.i549.i"
    945.                                         #   in Loop: Header=BB0_11 Depth=3
    946.         mov        rax, qword ptr [rsp + 80] # 8-byte Reload
    947. .Ltmp87:
    948.         mov        eax, dword ptr [rax]
    949.         and        eax, -7
    950.         cmp        dword ptr [rsp + 72], eax # 4-byte Folded Reload
    951.         mov        rbx, qword ptr [rsp + 248] # 8-byte Reload
    952.         je        .LBB0_23
    953. # %bb.22:                               # %BL.0021.i36.i.i564.i
    954.                                         #   in Loop: Header=BB0_11 Depth=3
    955.         mov        rax, qword ptr [rsp + 80] # 8-byte Reload
    956. .Ltmp88:
    957.         mov        qword ptr [rsp + 56], rax
    958.         mov        eax, dword ptr [rsp + 72] # 4-byte Reload
    959.         mov        dword ptr [rsp + 64], eax
    960.         movzx        eax, byte ptr [rsp + 52] # 1-byte Folded Reload
    961.         mov        byte ptr [rsp + 68], al
    962.         movzx        eax, byte ptr [rsp + 51] # 1-byte Folded Reload
    963.         mov        byte ptr [rsp + 69], al
    964.         movzx        eax, byte ptr [rsp + 50] # 1-byte Folded Reload
    965.         mov        byte ptr [rsp + 70], al
    966.         movzx        eax, byte ptr [rsp + 49] # 1-byte Folded Reload
    967.         mov        byte ptr [rsp + 71], al
    968.         mov        rcx, r15
    969.         vzeroupper
    970.         call        qword ptr [rsi]
    971. .Ltmp89:
    972. .LBB0_23:                               # %"Unity.Entities.DynamicBuffer`1<EntityList>.CheckReadAccess(Unity.Entities.DynamicBuffer`1<EntityList>* this)_03106754F33D2CCE.exit.i.i"
    973.                                         #   in Loop: Header=BB0_11 Depth=3
    974.         mov        eax, dword ptr [rbp]
    975.         and        eax, -7
    976.         cmp        edi, eax
    977.         je        .LBB0_25
    978. # %bb.24:                               # %BL.0021.i.i.i.i.i.i
    979.                                         #   in Loop: Header=BB0_11 Depth=3
    980. .Ltmp90:
    981.         mov        qword ptr [rsp + 56], rbp
    982.         mov        dword ptr [rsp + 64], edi
    983.         mov        byte ptr [rsp + 68], r13b
    984.         movzx        eax, byte ptr [rsp + 55] # 1-byte Folded Reload
    985.         mov        byte ptr [rsp + 69], al
    986.         movzx        eax, byte ptr [rsp + 54] # 1-byte Folded Reload
    987.         mov        byte ptr [rsp + 70], al
    988.         movzx        eax, byte ptr [rsp + 53] # 1-byte Folded Reload
    989.         mov        byte ptr [rsp + 71], al
    990.         mov        rcx, r15
    991.         vzeroupper
    992.         call        qword ptr [rsi]
    993. .Ltmp91:
    994. .LBB0_25:                               # %"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrow(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_7883B5055A1A5B9B.exit.i.i.i.i.i"
    995.                                         #   in Loop: Header=BB0_11 Depth=3
    996.         mov        rax, qword ptr [rsp + 80] # 8-byte Reload
    997. .Ltmp92:
    998.         mov        eax, dword ptr [rax]
    999.         and        eax, -7
    1000.         cmp        dword ptr [rsp + 72], eax # 4-byte Folded Reload
    1001.         je        .LBB0_27
    1002. # %bb.26:                               # %BL.0021.i36.i.i.i.i.i
    1003.                                         #   in Loop: Header=BB0_11 Depth=3
    1004.         mov        rax, qword ptr [rsp + 80] # 8-byte Reload
    1005. .Ltmp93:
    1006.         mov        qword ptr [rsp + 56], rax
    1007.         mov        eax, dword ptr [rsp + 72] # 4-byte Reload
    1008.         mov        dword ptr [rsp + 64], eax
    1009.         movzx        eax, byte ptr [rsp + 52] # 1-byte Folded Reload
    1010.         mov        byte ptr [rsp + 68], al
    1011.         movzx        eax, byte ptr [rsp + 51] # 1-byte Folded Reload
    1012.         mov        byte ptr [rsp + 69], al
    1013.         movzx        eax, byte ptr [rsp + 50] # 1-byte Folded Reload
    1014.         mov        byte ptr [rsp + 70], al
    1015.         movzx        eax, byte ptr [rsp + 49] # 1-byte Folded Reload
    1016.         mov        byte ptr [rsp + 71], al
    1017.         mov        rcx, r15
    1018.         vzeroupper
    1019.         call        qword ptr [rsi]
    1020. .Ltmp94:
    1021. .LBB0_27:                               # %"Unity.Entities.DynamicBuffer`1<EntityList>.get_Length(Unity.Entities.DynamicBuffer`1<EntityList>* this)_AAE69711B0C7F65C.exit.i.i.i"
    1022.                                         #   in Loop: Header=BB0_11 Depth=3
    1023.         .loc        8 73 17 is_stmt 1       # DynamicBuffer.cs:73:17
    1024.         mov        eax, dword ptr [rbx + 8]
    1025. .Ltmp95:
    1026.         .loc        8 124 13                # DynamicBuffer.cs:124:13
    1027.         cmp        qword ptr [rsp + 96], rax # 8-byte Folded Reload
    1028.         jae        .LBB0_119
    1029. .Ltmp96:
    1030. # %bb.28:                               # %"Unity.Entities.DynamicBuffer`1<EntityList>.get_Item(Unity.Entities.DynamicBuffer`1<EntityList>* this, int index)_B53159D1B6F198CA.exit.i"
    1031.                                         #   in Loop: Header=BB0_11 Depth=3
    1032.         .loc        9 19 13                 # BufferHeader.cs:19:13
    1033.         mov        rcx, qword ptr [rbx]
    1034.         test        rcx, rcx
    1035.         mov        rax, qword ptr [rsp + 160] # 8-byte Reload
    1036.         je        .LBB0_30
    1037. # %bb.29:                               # %"Unity.Entities.DynamicBuffer`1<EntityList>.get_Item(Unity.Entities.DynamicBuffer`1<EntityList>* this, int index)_B53159D1B6F198CA.exit.i"
    1038.                                         #   in Loop: Header=BB0_11 Depth=3
    1039.         mov        rax, rcx
    1040. .Ltmp97:
    1041. .LBB0_30:                               # %"Unity.Entities.DynamicBuffer`1<EntityList>.get_Item(Unity.Entities.DynamicBuffer`1<EntityList>* this, int index)_B53159D1B6F198CA.exit.i"
    1042.                                         #   in Loop: Header=BB0_11 Depth=3
    1043.         .loc        9 0 13 is_stmt 0        # BufferHeader.cs:0:13
    1044.         mov        rcx, qword ptr [rsp + 96] # 8-byte Reload
    1045.         .loc        8 169 17 is_stmt 1      # DynamicBuffer.cs:169:17
    1046.         mov        edx, dword ptr [rax + 8*rcx]
    1047.         mov        dword ptr [rsp + 124], edx # 4-byte Spill
    1048.         mov        eax, dword ptr [rax + 8*rcx + 4]
    1049.         mov        dword ptr [rsp + 120], eax # 4-byte Spill
    1050. .Ltmp98:
    1051.         .loc        1 0 0 is_stmt 0         # unknown:0:0
    1052.         mov        eax, dword ptr [rbp]
    1053.         and        eax, -7
    1054.         cmp        edi, eax
    1055.         je        .LBB0_32
    1056. # %bb.31:                               # %BL.0021.i.i.i587.i
    1057.                                         #   in Loop: Header=BB0_11 Depth=3
    1058. .Ltmp99:
    1059.         mov        qword ptr [rsp + 56], rbp
    1060.         mov        dword ptr [rsp + 64], edi
    1061.         mov        byte ptr [rsp + 68], r13b
    1062.         movzx        eax, byte ptr [rsp + 55] # 1-byte Folded Reload
    1063.         mov        byte ptr [rsp + 69], al
    1064.         movzx        eax, byte ptr [rsp + 54] # 1-byte Folded Reload
    1065.         mov        byte ptr [rsp + 70], al
    1066.         movzx        eax, byte ptr [rsp + 53] # 1-byte Folded Reload
    1067.         mov        byte ptr [rsp + 71], al
    1068.         mov        rcx, r15
    1069.         vzeroupper
    1070.         call        qword ptr [rsi]
    1071. .Ltmp100:
    1072. .LBB0_32:                               # %"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrow(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_7883B5055A1A5B9B.exit.i.i592.i"
    1073.                                         #   in Loop: Header=BB0_11 Depth=3
    1074.         mov        rax, qword ptr [rsp + 80] # 8-byte Reload
    1075. .Ltmp101:
    1076.         mov        eax, dword ptr [rax]
    1077.         and        eax, -7
    1078.         cmp        dword ptr [rsp + 72], eax # 4-byte Folded Reload
    1079.         je        .LBB0_34
    1080. # %bb.33:                               # %BL.0021.i36.i.i607.i
    1081.                                         #   in Loop: Header=BB0_11 Depth=3
    1082.         mov        rax, qword ptr [rsp + 80] # 8-byte Reload
    1083. .Ltmp102:
    1084.         mov        qword ptr [rsp + 56], rax
    1085.         mov        eax, dword ptr [rsp + 72] # 4-byte Reload
    1086.         mov        dword ptr [rsp + 64], eax
    1087.         movzx        eax, byte ptr [rsp + 52] # 1-byte Folded Reload
    1088.         mov        byte ptr [rsp + 68], al
    1089.         movzx        eax, byte ptr [rsp + 51] # 1-byte Folded Reload
    1090.         mov        byte ptr [rsp + 69], al
    1091.         movzx        eax, byte ptr [rsp + 50] # 1-byte Folded Reload
    1092.         mov        byte ptr [rsp + 70], al
    1093.         movzx        eax, byte ptr [rsp + 49] # 1-byte Folded Reload
    1094.         mov        byte ptr [rsp + 71], al
    1095.         mov        rcx, r15
    1096.         vzeroupper
    1097.         call        qword ptr [rsi]
    1098. .Ltmp103:
    1099. .LBB0_34:                               # %"Unity.Entities.DynamicBuffer`1<EntityList>.CheckReadAccess(Unity.Entities.DynamicBuffer`1<EntityList>* this)_03106754F33D2CCE.exit.i610.i"
    1100.                                         #   in Loop: Header=BB0_11 Depth=3
    1101.         mov        eax, dword ptr [rbp]
    1102.         and        eax, -7
    1103.         cmp        edi, eax
    1104.         je        .LBB0_36
    1105. # %bb.35:                               # %BL.0021.i.i.i.i.i625.i
    1106.                                         #   in Loop: Header=BB0_11 Depth=3
    1107. .Ltmp104:
    1108.         mov        qword ptr [rsp + 56], rbp
    1109.         mov        dword ptr [rsp + 64], edi
    1110.         mov        byte ptr [rsp + 68], r13b
    1111.         movzx        eax, byte ptr [rsp + 55] # 1-byte Folded Reload
    1112.         mov        byte ptr [rsp + 69], al
    1113.         movzx        eax, byte ptr [rsp + 54] # 1-byte Folded Reload
    1114.         mov        byte ptr [rsp + 70], al
    1115.         movzx        eax, byte ptr [rsp + 53] # 1-byte Folded Reload
    1116.         mov        byte ptr [rsp + 71], al
    1117.         mov        rcx, r15
    1118.         vzeroupper
    1119.         call        qword ptr [rsi]
    1120. .Ltmp105:
    1121. .LBB0_36:                               # %"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrow(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_7883B5055A1A5B9B.exit.i.i.i.i628.i"
    1122.                                         #   in Loop: Header=BB0_11 Depth=3
    1123.         mov        rax, qword ptr [rsp + 80] # 8-byte Reload
    1124. .Ltmp106:
    1125.         mov        eax, dword ptr [rax]
    1126.         and        eax, -7
    1127.         cmp        dword ptr [rsp + 72], eax # 4-byte Folded Reload
    1128.         je        .LBB0_38
    1129. # %bb.37:                               # %BL.0021.i36.i.i.i.i643.i
    1130.                                         #   in Loop: Header=BB0_11 Depth=3
    1131.         mov        rax, qword ptr [rsp + 80] # 8-byte Reload
    1132. .Ltmp107:
    1133.         mov        qword ptr [rsp + 56], rax
    1134.         mov        eax, dword ptr [rsp + 72] # 4-byte Reload
    1135.         mov        dword ptr [rsp + 64], eax
    1136.         movzx        eax, byte ptr [rsp + 52] # 1-byte Folded Reload
    1137.         mov        byte ptr [rsp + 68], al
    1138.         movzx        eax, byte ptr [rsp + 51] # 1-byte Folded Reload
    1139.         mov        byte ptr [rsp + 69], al
    1140.         movzx        eax, byte ptr [rsp + 50] # 1-byte Folded Reload
    1141.         mov        byte ptr [rsp + 70], al
    1142.         movzx        eax, byte ptr [rsp + 49] # 1-byte Folded Reload
    1143.         mov        byte ptr [rsp + 71], al
    1144.         mov        rcx, r15
    1145.         vzeroupper
    1146.         call        qword ptr [rsi]
    1147. .Ltmp108:
    1148. .LBB0_38:                               # %"Unity.Entities.DynamicBuffer`1<EntityList>.get_Length(Unity.Entities.DynamicBuffer`1<EntityList>* this)_AAE69711B0C7F65C.exit.i.i644.i"
    1149.                                         #   in Loop: Header=BB0_11 Depth=3
    1150.         .loc        8 124 13 is_stmt 1      # DynamicBuffer.cs:124:13
    1151.         cmp        dword ptr [rbx + 8], r14d
    1152.         jbe        .LBB0_119
    1153. .Ltmp109:
    1154. # %bb.39:                               # %"Unity.Entities.DynamicBuffer`1<EntityList>.get_Item(Unity.Entities.DynamicBuffer`1<EntityList>* this, int index)_B53159D1B6F198CA.exit651.i"
    1155.                                         #   in Loop: Header=BB0_11 Depth=3
    1156.         .loc        9 19 13                 # BufferHeader.cs:19:13
    1157.         mov        rcx, qword ptr [rbx]
    1158.         test        rcx, rcx
    1159.         mov        rax, qword ptr [rsp + 160] # 8-byte Reload
    1160.         je        .LBB0_41
    1161. # %bb.40:                               # %"Unity.Entities.DynamicBuffer`1<EntityList>.get_Item(Unity.Entities.DynamicBuffer`1<EntityList>* this, int index)_B53159D1B6F198CA.exit651.i"
    1162.                                         #   in Loop: Header=BB0_11 Depth=3
    1163.         mov        rax, rcx
    1164. .Ltmp110:
    1165. .LBB0_41:                               # %"Unity.Entities.DynamicBuffer`1<EntityList>.get_Item(Unity.Entities.DynamicBuffer`1<EntityList>* this, int index)_B53159D1B6F198CA.exit651.i"
    1166.                                         #   in Loop: Header=BB0_11 Depth=3
    1167.         .loc        8 169 17                # DynamicBuffer.cs:169:17
    1168.         mov        ecx, dword ptr [rax + 8*r14]
    1169.         mov        dword ptr [rsp + 116], ecx # 4-byte Spill
    1170.         mov        ebp, dword ptr [rax + 8*r14 + 4]
    1171.         mov        rbx, r12
    1172. .Ltmp111:
    1173.         .file        12 "D:/unity/Testing/Library/PackageCache/com.unity.collections@0.7.0-preview.2/Unity.Collections\\NativeList.cs"
    1174.         .loc        12 257 13               # NativeList.cs:257:13
    1175.         vmovups        xmm0, xmmword ptr [r12 + 200]
    1176. .Ltmp112:
    1177.         .loc        1 0 0 is_stmt 0         # unknown:0:0
    1178.         vmovups        xmmword ptr [rsp + 56], xmm0
    1179.         mov        rsi, r15
    1180.         mov        rcx, r15
    1181.         movabs        rax, offset ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckWriteAndBumpSecondaryVersion_Injected_Ptr"
    1182.         vzeroupper
    1183.         call        qword ptr [rax]
    1184.         mov        rdi, r12
    1185. .Ltmp113:
    1186.         .loc        12 259 13 is_stmt 1     # NativeList.cs:259:13
    1187.         mov        r15, qword ptr [r12 + 224]
    1188. .Ltmp114:
    1189.         .loc        11 406 13               # UnsafeList.cs:406:13
    1190.         movsxd        r12, dword ptr [r15 + 8]
    1191.         .loc        11 408 13               # UnsafeList.cs:408:13
    1192.         lea        ebx, [r12 + 1]
    1193.         mov        eax, dword ptr [r15 + 12]
    1194.         cmp        ebx, eax
    1195.         jle        .LBB0_56
    1196. # %bb.42:                               # %BL.0015.i.i.i.i.i
    1197.                                         #   in Loop: Header=BB0_11 Depth=3
    1198. .Ltmp115:
    1199.         .loc        11 276 13               # UnsafeList.cs:276:13
    1200.         test        ebx, ebx
    1201.         mov        ecx, ebx
    1202.         jns        .LBB0_44
    1203. # %bb.43:                               # %BL.0015.i.i.i.i.i
    1204.                                         #   in Loop: Header=BB0_11 Depth=3
    1205.         .loc        11 0 13 is_stmt 0       # UnsafeList.cs:0:13
    1206.         xor        ecx, ecx
    1207. .LBB0_44:                               # %BL.0015.i.i.i.i.i
    1208.                                         #   in Loop: Header=BB0_11 Depth=3
    1209. .Ltmp116:
    1210.         .file        13 "D:/unity/Testing/Library/PackageCache/com.unity.mathematics@1.1.0/Unity.Mathematics\\math.cs"
    1211.         .loc        13 2835 13 is_stmt 1    # math.cs:2835:13
    1212.         dec        ecx
    1213.         .loc        13 2836 13              # math.cs:2836:13
    1214.         mov        edx, ecx
    1215.         sar        edx
    1216.         or        edx, ecx
    1217.         .loc        13 2837 13              # math.cs:2837:13
    1218.         mov        ecx, edx
    1219.         sar        ecx, 2
    1220.         or        ecx, edx
    1221.         .loc        13 2838 13              # math.cs:2838:13
    1222.         mov        edx, ecx
    1223.         sar        edx, 4
    1224.         or        edx, ecx
    1225.         .loc        13 2839 13              # math.cs:2839:13
    1226.         mov        ecx, edx
    1227.         sar        ecx, 8
    1228.         or        ecx, edx
    1229.         .loc        13 2840 13              # math.cs:2840:13
    1230.         mov        r13d, ecx
    1231.         sar        r13d, 16
    1232.         or        r13d, ecx
    1233.         .loc        13 2841 13              # math.cs:2841:13
    1234.         inc        r13d
    1235. .Ltmp117:
    1236.         .loc        11 279 13               # UnsafeList.cs:279:13
    1237.         cmp        r13d, eax
    1238.         je        .LBB0_56
    1239. # %bb.45:                               # %BL.0023.i.i.i.i.i.i
    1240.                                         #   in Loop: Header=BB0_11 Depth=3
    1241. .Ltmp118:
    1242.         .loc        11 251 13               # UnsafeList.cs:251:13
    1243.         mov        r8d, dword ptr [r15 + 16]
    1244. .Ltmp119:
    1245.         .loc        11 243 13               # UnsafeList.cs:243:13
    1246.         cmp        r8d, 1
    1247.         jle        .LBB0_120
    1248. .Ltmp120:
    1249. # %bb.46:                               # %"Unity.Collections.LowLevel.Unsafe.UnsafeList.CheckAllocator(Unity.Collections.Allocator a)_EADD929AE1921257.exit.i.i.i.i.i.i.i"
    1250.                                         #   in Loop: Header=BB0_11 Depth=3
    1251.         .loc        11 254 13               # UnsafeList.cs:254:13
    1252.         test        r13d, r13d
    1253.         mov        dword ptr [rsp + 108], ebp # 4-byte Spill
    1254.         jle        .LBB0_47
    1255. # %bb.48:                               # %BL.0018.i.i.i.i.i.i.i
    1256.                                         #   in Loop: Header=BB0_11 Depth=3
    1257.         .loc        11 256 17               # UnsafeList.cs:256:17
    1258.         imul        eax, r13d, 112
    1259.         .loc        11 257 17               # UnsafeList.cs:257:17
    1260.         movsxd        rcx, eax
    1261.         mov        edx, 4
    1262.         movabs        rax, offset ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::Malloc_Ptr"
    1263.         call        qword ptr [rax]
    1264.         mov        rcx, rax
    1265.         .loc        11 259 17               # UnsafeList.cs:259:17
    1266.         mov        eax, dword ptr [r15 + 12]
    1267.         test        eax, eax
    1268.         jle        .LBB0_49
    1269. # %bb.50:                               # %BL.0039.i.i.i.i.i.i.i
    1270.                                         #   in Loop: Header=BB0_11 Depth=3
    1271.         .loc        11 261 21               # UnsafeList.cs:261:21
    1272.         cmp        eax, r13d
    1273.         mov        edx, r13d
    1274.         jg        .LBB0_52
    1275. # %bb.51:                               # %BL.0039.i.i.i.i.i.i.i
    1276.                                         #   in Loop: Header=BB0_11 Depth=3
    1277.         mov        edx, eax
    1278. .LBB0_52:                               # %BL.0039.i.i.i.i.i.i.i
    1279.                                         #   in Loop: Header=BB0_11 Depth=3
    1280.         .loc        11 262 21               # UnsafeList.cs:262:21
    1281.         imul        eax, edx, 112
    1282.         .loc        11 263 21               # UnsafeList.cs:263:21
    1283.         mov        rdx, qword ptr [r15]
    1284.         movsxd        r8, eax
    1285.         movabs        rax, offset ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::MemCpy_Ptr"
    1286.         mov        rbp, rcx
    1287.         call        qword ptr [rax]
    1288.         jmp        .LBB0_53
    1289. .LBB0_47:                               #   in Loop: Header=BB0_11 Depth=3
    1290.         .loc        11 0 0 is_stmt 0        # UnsafeList.cs:0:0
    1291.         xor        ebp, ebp
    1292.         jmp        .LBB0_53
    1293. .LBB0_49:                               #   in Loop: Header=BB0_11 Depth=3
    1294.         mov        rbp, rcx
    1295. .LBB0_53:                               # %"Unity.Collections.LowLevel.Unsafe.UnsafeList.Realloc(Unity.Collections.LowLevel.Unsafe.UnsafeList* this, int sizeOf, int alignOf, int capacity)_A96A1D3299484E93.exit.i.i.i.i.i.i"
    1296.                                         #   in Loop: Header=BB0_11 Depth=3
    1297.         .loc        11 267 13 is_stmt 1     # UnsafeList.cs:267:13
    1298.         mov        rcx, qword ptr [r15]
    1299.         mov        edx, dword ptr [r15 + 16]
    1300.         movabs        rax, offset ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::Free_Ptr"
    1301.         call        qword ptr [rax]
    1302.         .loc        11 269 13               # UnsafeList.cs:269:13
    1303.         mov        qword ptr [r15], rbp
    1304.         .loc        11 270 13               # UnsafeList.cs:270:13
    1305.         mov        dword ptr [r15 + 12], r13d
    1306.         .loc        11 271 13               # UnsafeList.cs:271:13
    1307.         mov        eax, dword ptr [r15 + 8]
    1308.         cmp        eax, r13d
    1309.         jle        .LBB0_55
    1310. # %bb.54:                               # %"Unity.Collections.LowLevel.Unsafe.UnsafeList.Realloc(Unity.Collections.LowLevel.Unsafe.UnsafeList* this, int sizeOf, int alignOf, int capacity)_A96A1D3299484E93.exit.i.i.i.i.i.i"
    1311.                                         #   in Loop: Header=BB0_11 Depth=3
    1312.         mov        eax, r13d
    1313.         jmp        .LBB0_55
    1314. .Ltmp121:
    1315.         .p2align        4, 0x90
    1316. .LBB0_58:                               # %BL.017d.i
    1317.                                         #   in Loop: Header=BB0_61 Depth=1
    1318.         .loc        11 0 13 is_stmt 0       # UnsafeList.cs:0:13
    1319.         mov        rdx, qword ptr [rsp + 88] # 8-byte Reload
    1320.         .loc        2 297 51 is_stmt 1      # MyPhysics.cs:297:51
    1321.         inc        edx
    1322.         .loc        2 297 30 is_stmt 0      # MyPhysics.cs:297:30
    1323.         mov        eax, dword ptr [rbp + 8]
    1324.         cmp        edx, eax
    1325.         jge        .LBB0_118
    1326. # %bb.59:                               # %BL.0008.i
    1327.                                         #   in Loop: Header=BB0_61 Depth=1
    1328. .Ltmp122:
    1329.         .loc        1 0 0                   # unknown:0:0
    1330.         mov        ecx, dword ptr [rbp + 12]
    1331.         cmp        ecx, edx
    1332.         jg        .LBB0_68
    1333. # %bb.60:                               # %BL.000a.i.i.i
    1334.                                         #   in Loop: Header=BB0_61 Depth=1
    1335.         mov        qword ptr [rsp + 88], rdx # 8-byte Spill
    1336.         cmp        dword ptr [rbp + 16], edx
    1337.         jge        .LBB0_61
    1338. .LBB0_68:                               # %BL.000a.i.i.i.i
    1339. .Ltmp123:
    1340.         test        ecx, ecx
    1341.         jne        .LBB0_70
    1342. # %bb.69:                               # %BL.002b.i.i.i.i
    1343.         dec        eax
    1344.         cmp        dword ptr [rbp + 16], eax
    1345.         je        .LBB0_103
    1346.         jmp        .LBB0_70
    1347. .Ltmp124:
    1348. .LBB0_118:                              # %"MyBroadphaseCollisionDetection.CellCheckCollision.Execute(MyBroadphaseCollisionDetection.CellCheckCollision* this)_1B76D77A2AC23F58.exit"
    1349.         vmovaps        xmm6, xmmword ptr [rsp + 512] # 16-byte Reload
    1350.         vmovaps        xmm7, xmmword ptr [rsp + 528] # 16-byte Reload
    1351.         vmovaps        xmm8, xmmword ptr [rsp + 544] # 16-byte Reload
    1352.         vmovaps        xmm9, xmmword ptr [rsp + 560] # 16-byte Reload
    1353.         vmovaps        xmm10, xmmword ptr [rsp + 576] # 16-byte Reload
    1354.         add        rsp, 600
    1355.         pop        rbx
    1356.         pop        rbp
    1357.         pop        rdi
    1358.         pop        rsi
    1359.         pop        r12
    1360.         pop        r13
    1361.         pop        r14
    1362.         pop        r15
    1363.         vzeroupper
    1364.         ret
    1365. .LBB0_119:                              # %BL.0011.i.i.i
    1366. .Ltmp125:
    1367.         movabs        rax, offset .Lburst_abort_Ptr
    1368.         movabs        rcx, offset .Lburst_abort.error.id.1
    1369.         movabs        rdx, offset .Lburst_abort.error.message.2
    1370.         vzeroupper
    1371.         call        qword ptr [rax]
    1372.         ud2
    1373. .LBB0_120:                              # %BL.000c.i.i.i.i.i.i.i.i
    1374. .Ltmp126:
    1375.         .loc        11 245 17 is_stmt 1     # UnsafeList.cs:245:17
    1376.         movabs        rax, offset .Lburst_abort_Ptr
    1377.         movabs        rcx, offset .Lburst_abort.error.id.15
    1378.         movabs        rdx, offset .Lburst_abort.error.message.16
    1379.         call        qword ptr [rax]
    1380.         ud2
    1381. .Ltmp127:
    1382. .LBB0_122:                              # %BL.0028.i.i.i700.i
    1383.         .loc        2 0 0 is_stmt 0         # MyPhysics.cs:0:0
    1384.         movabs        rax, offset .Lburst_abort_Ptr
    1385.         movabs        rcx, offset .Lburst_abort.error.id.7
    1386.         movabs        rdx, offset .Lburst_abort.error.message.8
    1387.         vzeroupper
    1388.         call        qword ptr [rax]
    1389.         ud2
    1390. .LBB0_121:                              # %BL.001d.i.i.i701.i
    1391.         movabs        rax, offset .Lburst_abort_Ptr
    1392.         movabs        rcx, offset .Lburst_abort.error.id.9
    1393.         movabs        rdx, offset .Lburst_abort.error.message.10
    1394.         vzeroupper
    1395.         call        qword ptr [rax]
    1396.         ud2
    1397. .LBB0_104:                              # %BL.000e.i.i.i.i.i.i692.i
    1398.         movabs        rax, offset .Lburst_abort_Ptr
    1399.         movabs        rcx, offset .Lburst_abort.error.id.11
    1400.         movabs        rdx, offset .Lburst_abort.error.message.12
    1401.         vzeroupper
    1402.         call        qword ptr [rax]
    1403.         ud2
    1404. .LBB0_67:                               # %BL.003e.i.i.i.i.i.i693.i
    1405.         movabs        rax, offset .Lburst_abort_Ptr
    1406.         movabs        rcx, offset .Lburst_abort.error.id.13
    1407.         movabs        rdx, offset .Lburst_abort.error.message.14
    1408.         vzeroupper
    1409.         call        qword ptr [rax]
    1410.         ud2
    1411. .LBB0_100:                              # %BL.001a.i.i762.i
    1412.         mov        rdx, rbp
    1413.         mov        rbp, rcx
    1414. .Ltmp128:
    1415.         mov        ecx, dword ptr [rdx + 8]
    1416.         cmp        ecx, ebp
    1417.         jle        .LBB0_103
    1418. # %bb.101:                              # %BL.000a.i.i.i763.i
    1419.         test        eax, eax
    1420.         jne        .LBB0_70
    1421. # %bb.102:                              # %BL.002b.i.i.i764.i
    1422.         mov        rbx, rdx
    1423.         dec        ecx
    1424.         cmp        dword ptr [rdx + 16], ecx
    1425.         jne        .LBB0_70
    1426. .Ltmp129:
    1427. .LBB0_103:                              # %BL.0065.i.i.i.i
    1428.         movabs        rax, offset .Lburst_abort_Ptr
    1429.         movabs        rcx, offset .Lburst_abort.error.id.3
    1430.         movabs        rdx, offset .Lburst_abort.error.message.4
    1431.         vzeroupper
    1432.         call        qword ptr [rax]
    1433.         ud2
    1434. .LBB0_70:                               # %BL.002f.i.i.i.i
    1435.         movabs        rax, offset .Lburst_abort_Ptr
    1436.         movabs        rcx, offset .Lburst_abort.error.id.5
    1437.         movabs        rdx, offset .Lburst_abort.error.message.6
    1438.         vzeroupper
    1439.         call        qword ptr [rax]
    1440.         ud2
    1441. .Ltmp130:
    1442. .Lfunc_end0:
    1443.         .file        14 "D:/unity/Testing/Library/PackageCache/com.unity.entities@0.8.0-preview.8/Unity.Entities/Types\\Chunk.cs"
    1444.         .seh_handlerdata
    1445.         .text
    1446.         .seh_endproc
    1447.                                         # -- End function
    1448.         .def         ".LUnity.Entities.DynamicBuffer`1<ColliderList>.get_Item(Unity.Entities.DynamicBuffer`1<ColliderList>* this, int index)_86C4E47660F61904";
    1449.         .scl        3;
    1450.         .type        32;
    1451.         .endef
    1452.         .p2align        4, 0x90         # -- Begin function Unity.Entities.DynamicBuffer`1<ColliderList>.get_Item(Unity.Entities.DynamicBuffer`1<ColliderList>* this, int index)_86C4E47660F61904
    1453. ".LUnity.Entities.DynamicBuffer`1<ColliderList>.get_Item(Unity.Entities.DynamicBuffer`1<ColliderList>* this, int index)_86C4E47660F61904": # @"Unity.Entities.DynamicBuffer`1<ColliderList>.get_Item(Unity.Entities.DynamicBuffer`1<ColliderList>* this, int index)_86C4E47660F61904"
    1454. .Lfunc_begin1:
    1455.         .loc        8 166 0 is_stmt 1       # DynamicBuffer.cs:166:0
    1456. .seh_proc ".LUnity.Entities.DynamicBuffer`1<ColliderList>.get_Item(Unity.Entities.DynamicBuffer`1<ColliderList>* this, int index)_86C4E47660F61904"
    1457. # %bb.0:                                # %entry
    1458.         push        r14
    1459.         .seh_pushreg 14
    1460.         push        rsi
    1461.         .seh_pushreg 6
    1462.         push        rdi
    1463.         .seh_pushreg 7
    1464.         push        rbx
    1465.         .seh_pushreg 3
    1466.         sub        rsp, 56
    1467.         .seh_stackalloc 56
    1468.         .seh_endprologue
    1469.         mov        edi, r8d
    1470.         mov        rbx, rdx
    1471.         mov        rsi, rcx
    1472. .Ltmp131:
    1473.         .loc        8 133 13 prologue_end   # DynamicBuffer.cs:133:13
    1474.         mov        rax, qword ptr [rdx + 16]
    1475.         mov        ecx, dword ptr [rdx + 24]
    1476. .Ltmp132:
    1477.         .loc        1 0 0 is_stmt 0         # unknown:0:0
    1478.         mov        edx, dword ptr [rax]
    1479.         and        edx, -7
    1480.         cmp        ecx, edx
    1481. .Ltmp133:
    1482.         movabs        r14, offset ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckReadAndThrowNoEarlyOut_Injected_Ptr"
    1483. .Ltmp134:
    1484.         je        .LBB1_2
    1485. .Ltmp135:
    1486. # %bb.1:                                # %BL.0021.i.i
    1487.         .loc        8 133 13                # DynamicBuffer.cs:133:13
    1488.         mov        edx, dword ptr [rbx + 28]
    1489. .Ltmp136:
    1490.         .loc        1 0 0                   # unknown:0:0
    1491.         mov        qword ptr [rsp + 40], rax
    1492.         mov        dword ptr [rsp + 48], ecx
    1493.         mov        dword ptr [rsp + 52], edx
    1494.         lea        rcx, [rsp + 40]
    1495.         call        qword ptr [r14]
    1496. .Ltmp137:
    1497. .LBB1_2:                                # %"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrow(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_7883B5055A1A5B9B.exit.i"
    1498.         .loc        8 134 13 is_stmt 1      # DynamicBuffer.cs:134:13
    1499.         mov        rax, qword ptr [rbx + 32]
    1500.         mov        ecx, dword ptr [rbx + 40]
    1501. .Ltmp138:
    1502.         .loc        1 0 0 is_stmt 0         # unknown:0:0
    1503.         mov        edx, dword ptr [rax]
    1504.         and        edx, -7
    1505.         cmp        ecx, edx
    1506.         je        .LBB1_4
    1507. .Ltmp139:
    1508. # %bb.3:                                # %BL.0021.i36.i
    1509.         .loc        8 134 13                # DynamicBuffer.cs:134:13
    1510.         mov        edx, dword ptr [rbx + 44]
    1511. .Ltmp140:
    1512.         .loc        1 0 0                   # unknown:0:0
    1513.         mov        qword ptr [rsp + 40], rax
    1514.         mov        dword ptr [rsp + 48], ecx
    1515.         mov        dword ptr [rsp + 52], edx
    1516.         lea        rcx, [rsp + 40]
    1517.         call        qword ptr [r14]
    1518. .Ltmp141:
    1519. .LBB1_4:                                # %"Unity.Entities.DynamicBuffer`1<ColliderList>.CheckReadAccess(Unity.Entities.DynamicBuffer`1<ColliderList>* this)_FCF462943034D160.exit"
    1520.         .loc        8 133 13 is_stmt 1      # DynamicBuffer.cs:133:13
    1521.         mov        rax, qword ptr [rbx + 16]
    1522.         mov        ecx, dword ptr [rbx + 24]
    1523. .Ltmp142:
    1524.         .loc        1 0 0 is_stmt 0         # unknown:0:0
    1525.         mov        edx, dword ptr [rax]
    1526.         and        edx, -7
    1527.         cmp        ecx, edx
    1528.         je        .LBB1_6
    1529. .Ltmp143:
    1530. # %bb.5:                                # %BL.0021.i.i.i.i
    1531.         .loc        8 133 13                # DynamicBuffer.cs:133:13
    1532.         mov        edx, dword ptr [rbx + 28]
    1533. .Ltmp144:
    1534.         .loc        1 0 0                   # unknown:0:0
    1535.         mov        qword ptr [rsp + 40], rax
    1536.         mov        dword ptr [rsp + 48], ecx
    1537.         mov        dword ptr [rsp + 52], edx
    1538.         lea        rcx, [rsp + 40]
    1539.         call        qword ptr [r14]
    1540. .Ltmp145:
    1541. .LBB1_6:                                # %"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrow(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_7883B5055A1A5B9B.exit.i.i.i"
    1542.         .loc        8 134 13 is_stmt 1      # DynamicBuffer.cs:134:13
    1543.         mov        rax, qword ptr [rbx + 32]
    1544.         mov        ecx, dword ptr [rbx + 40]
    1545. .Ltmp146:
    1546.         .loc        1 0 0 is_stmt 0         # unknown:0:0
    1547.         mov        edx, dword ptr [rax]
    1548.         and        edx, -7
    1549.         cmp        ecx, edx
    1550.         je        .LBB1_8
    1551. .Ltmp147:
    1552. # %bb.7:                                # %BL.0021.i36.i.i.i
    1553.         .loc        8 134 13                # DynamicBuffer.cs:134:13
    1554.         mov        edx, dword ptr [rbx + 44]
    1555. .Ltmp148:
    1556.         .loc        1 0 0                   # unknown:0:0
    1557.         mov        qword ptr [rsp + 40], rax
    1558.         mov        dword ptr [rsp + 48], ecx
    1559.         mov        dword ptr [rsp + 52], edx
    1560.         lea        rcx, [rsp + 40]
    1561.         call        qword ptr [r14]
    1562. .Ltmp149:
    1563. .LBB1_8:                                # %"Unity.Entities.DynamicBuffer`1<ColliderList>.get_Length(Unity.Entities.DynamicBuffer`1<ColliderList>* this)_02ED263B23DD9D3B.exit.i"
    1564.         .loc        8 73 17 is_stmt 1       # DynamicBuffer.cs:73:17
    1565.         mov        rax, qword ptr [rbx]
    1566. .Ltmp150:
    1567.         .loc        8 124 13                # DynamicBuffer.cs:124:13
    1568.         cmp        dword ptr [rax + 8], edi
    1569.         jbe        .LBB1_9
    1570. .Ltmp151:
    1571. # %bb.10:                               # %"Unity.Entities.DynamicBuffer`1<ColliderList>.CheckBounds(Unity.Entities.DynamicBuffer`1<ColliderList>* this, int index)_20E54419862E70B8.exit"
    1572.         .loc        9 19 13                 # BufferHeader.cs:19:13
    1573.         mov        rcx, qword ptr [rax]
    1574.         add        rax, 16
    1575.         test        rcx, rcx
    1576.         cmovne        rax, rcx
    1577. .Ltmp152:
    1578.         .loc        8 169 17                # DynamicBuffer.cs:169:17
    1579.         movsxd        rcx, edi
    1580.         lea        rcx, [rcx + 2*rcx]
    1581.         shl        rcx, 4
    1582.         vmovups        ymm0, ymmword ptr [rax + rcx]
    1583.         vmovups        xmm1, xmmword ptr [rax + rcx + 32]
    1584.         .loc        8 170 13                # DynamicBuffer.cs:170:13
    1585.         vmovups        ymmword ptr [rsi], ymm0
    1586.         vmovups        xmmword ptr [rsi + 32], xmm1
    1587.         add        rsp, 56
    1588.         pop        rbx
    1589.         pop        rdi
    1590.         pop        rsi
    1591.         pop        r14
    1592.         vzeroupper
    1593.         ret
    1594. .LBB1_9:                                # %BL.0011.i
    1595. .Ltmp153:
    1596.         .loc        8 125 17                # DynamicBuffer.cs:125:17
    1597.         movabs        rax, offset .Lburst_abort_Ptr
    1598.         movabs        rcx, offset .Lburst_abort.error.id
    1599.         movabs        rdx, offset .Lburst_abort.error.message
    1600.         call        qword ptr [rax]
    1601.         ud2
    1602. .Ltmp154:
    1603. .Lfunc_end1:
    1604.         .seh_handlerdata
    1605.         .text
    1606.         .seh_endproc
    1607.                                         # -- End function
    1608.         .def         burst.initialize;
    1609.         .scl        2;
    1610.         .type        32;
    1611.         .endef
    1612.         .globl        burst.initialize        # -- Begin function burst.initialize
    1613.         .p2align        4, 0x90
    1614. burst.initialize:                       # @burst.initialize
    1615. .Lfunc_begin2:
    1616. .seh_proc burst.initialize
    1617. # %bb.0:                                # %entry
    1618.         push        rsi
    1619.         .seh_pushreg 6
    1620.         sub        rsp, 32
    1621.         .seh_stackalloc 32
    1622.         .seh_endprologue
    1623.         mov        rsi, rcx
    1624.         movabs        rcx, offset .Lburst_abort.function.string
    1625.         call        rsi
    1626.         movabs        rcx, offset .Lburst_abort_Ptr
    1627.         mov        qword ptr [rcx], rax
    1628.         movabs        rcx, offset ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckWriteAndBumpSecondaryVersion_Injected.function.string"
    1629.         call        rsi
    1630.         movabs        rcx, offset ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckWriteAndBumpSecondaryVersion_Injected_Ptr"
    1631.         mov        qword ptr [rcx], rax
    1632.         movabs        rcx, offset ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckReadAndThrowNoEarlyOut_Injected.function.string"
    1633.         call        rsi
    1634.         movabs        rcx, offset ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckReadAndThrowNoEarlyOut_Injected_Ptr"
    1635.         mov        qword ptr [rcx], rax
    1636.         movabs        rcx, offset ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::MemSet.function.string"
    1637.         call        rsi
    1638.         movabs        rcx, offset ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::Malloc.function.string"
    1639.         call        rsi
    1640.         movabs        rcx, offset ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::Malloc_Ptr"
    1641.         mov        qword ptr [rcx], rax
    1642.         movabs        rcx, offset ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::Free.function.string"
    1643.         call        rsi
    1644.         movabs        rcx, offset ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::Free_Ptr"
    1645.         mov        qword ptr [rcx], rax
    1646.         movabs        rcx, offset ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::MemCpy.function.string"
    1647.         call        rsi
    1648.         movabs        rcx, offset ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::MemCpy_Ptr"
    1649.         mov        qword ptr [rcx], rax
    1650.         add        rsp, 32
    1651.         pop        rsi
    1652.         ret
    1653. .Lfunc_end2:
    1654.         .seh_handlerdata
    1655.         .text
    1656.         .seh_endproc
    1657.                                         # -- End function
    1658.         .section        .rdata,"dr"
    1659. .Lburst_abort.error.id:                 # @burst_abort.error.id
    1660.         .asciz        "System.IndexOutOfRangeException"
    1661.  
    1662. .Lburst_abort.error.message:            # @burst_abort.error.message
    1663.         .asciz        "Index {0} is out of range in DynamicBuffer of '{1}' Length.\nThrown from job: MyBroadphaseCollisionDetection.CellCheckCollision"
    1664.  
    1665. .Lburst_abort.error.id.1:               # @burst_abort.error.id.1
    1666.         .asciz        "System.IndexOutOfRangeException"
    1667.  
    1668. .Lburst_abort.error.message.2:          # @burst_abort.error.message.2
    1669.         .asciz        "Index {0} is out of range in DynamicBuffer of '{1}' Length.\nThrown from job: MyBroadphaseCollisionDetection.CellCheckCollision"
    1670.  
    1671. .Lburst_abort.error.id.3:               # @burst_abort.error.id.3
    1672.         .asciz        "System.IndexOutOfRangeException"
    1673.  
    1674. .Lburst_abort.error.message.4:          # @burst_abort.error.message.4
    1675.         .asciz        "Index {0} is out of range of '{1}' Length.\nThrown from job: MyBroadphaseCollisionDetection.CellCheckCollision"
    1676.  
    1677. .Lburst_abort.error.id.5:               # @burst_abort.error.id.5
    1678.         .asciz        "System.IndexOutOfRangeException"
    1679.  
    1680. .Lburst_abort.error.message.6:          # @burst_abort.error.message.6
    1681.         .asciz        "Index {0} is out of restricted IJobParallelFor range [{1}...{2}] in ReadWriteBuffer.\n\nThrown from job: MyBroadphaseCollisionDetection.CellCheckCollision"
    1682.  
    1683. .Lburst_abort.error.id.7:               # @burst_abort.error.id.7
    1684.         .asciz        "System.ArgumentException"
    1685.  
    1686. .Lburst_abort.error.message.8:          # @burst_abort.error.message.8
    1687.         .asciz        "A component with type:{0} has not been added to the entity.\nThrown from job: MyBroadphaseCollisionDetection.CellCheckCollision"
    1688.  
    1689. .Lburst_abort.error.id.9:               # @burst_abort.error.id.9
    1690.         .asciz        "System.ArgumentException"
    1691.  
    1692. .Lburst_abort.error.message.10:         # @burst_abort.error.message.10
    1693.         .asciz        "The entity does not exist\nThrown from job: MyBroadphaseCollisionDetection.CellCheckCollision"
    1694.  
    1695. .Lburst_abort.error.id.11:              # @burst_abort.error.id.11
    1696.         .asciz        "System.ArgumentException"
    1697.  
    1698. .Lburst_abort.error.message.12:         # @burst_abort.error.message.12
    1699.         .asciz        "All entities created using EntityCommandBuffer.CreateEntity must be realized via playback(). One of the entities is still deferred (Index: {0}).\nThrown from job: MyBroadphaseCollisionDetection.CellCheckCollision"
    1700.  
    1701. .Lburst_abort.error.id.13:              # @burst_abort.error.id.13
    1702.         .asciz        "System.ArgumentException"
    1703.  
    1704. .Lburst_abort.error.message.14:         # @burst_abort.error.message.14
    1705.         .asciz        "An Entity index is larger than the capacity of the EntityManager. This means the entity was created by a different world or the entity.Index got corrupted or incorrectly assigned and it may not be used on this EntityManager.\nThrown from job: MyBroadphaseCollisionDetection.CellCheckCollision"
    1706.  
    1707. .Lburst_abort.error.id.15:              # @burst_abort.error.id.15
    1708.         .asciz        "System.Exception"
    1709.  
    1710. .Lburst_abort.error.message.16:         # @burst_abort.error.message.16
    1711.         .asciz        "UnsafeList is not initialized, it must be initialized with allocator before use.\nThrown from job: MyBroadphaseCollisionDetection.CellCheckCollision"
    1712.  
    1713.         .lcomm        .Lburst_abort_Ptr,8,8   # @burst_abort_Ptr
    1714. .Lburst_abort.function.string:          # @burst_abort.function.string
    1715.         .asciz        "burst_abort"
    1716.  
    1717.         .lcomm        ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckWriteAndBumpSecondaryVersion_Injected_Ptr",8,8 # @"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckWriteAndBumpSecondaryVersion_Injected_Ptr"
    1718. ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckWriteAndBumpSecondaryVersion_Injected.function.string": # @"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckWriteAndBumpSecondaryVersion_Injected.function.string"
    1719.         .asciz        "Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckWriteAndBumpSecondaryVersion_Injected"
    1720.  
    1721.         .lcomm        ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckReadAndThrowNoEarlyOut_Injected_Ptr",8,8 # @"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckReadAndThrowNoEarlyOut_Injected_Ptr"
    1722. ".LUnity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckReadAndThrowNoEarlyOut_Injected.function.string": # @"Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckReadAndThrowNoEarlyOut_Injected.function.string"
    1723.         .asciz        "Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle::CheckReadAndThrowNoEarlyOut_Injected"
    1724.  
    1725. ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::MemSet.function.string": # @"Unity.Collections.LowLevel.Unsafe.UnsafeUtility::MemSet.function.string"
    1726.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeUtility::MemSet"
    1727.  
    1728.         .lcomm        ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::Malloc_Ptr",8,8 # @"Unity.Collections.LowLevel.Unsafe.UnsafeUtility::Malloc_Ptr"
    1729. ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::Malloc.function.string": # @"Unity.Collections.LowLevel.Unsafe.UnsafeUtility::Malloc.function.string"
    1730.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeUtility::Malloc"
    1731.  
    1732.         .lcomm        ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::Free_Ptr",8,8 # @"Unity.Collections.LowLevel.Unsafe.UnsafeUtility::Free_Ptr"
    1733. ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::Free.function.string": # @"Unity.Collections.LowLevel.Unsafe.UnsafeUtility::Free.function.string"
    1734.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeUtility::Free"
    1735.  
    1736.         .lcomm        ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::MemCpy_Ptr",8,8 # @"Unity.Collections.LowLevel.Unsafe.UnsafeUtility::MemCpy_Ptr"
    1737. ".LUnity.Collections.LowLevel.Unsafe.UnsafeUtility::MemCpy.function.string": # @"Unity.Collections.LowLevel.Unsafe.UnsafeUtility::MemCpy.function.string"
    1738.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeUtility::MemCpy"
    1739.  
    1740.         .section        .debug_str,"dr"
    1741. .Linfo_string:
    1742. .Linfo_string0:
    1743.         .asciz        "Burst"                 # string offset=0
    1744. .Linfo_string1:
    1745.         .asciz        "unknown"               # string offset=6
    1746. .Linfo_string2:
    1747.         .asciz        "MyBroadphaseCollisionDetection.CellCheckCollision.Execute(MyBroadphaseCollisionDetection.CellCheckCollision* this)_1B76D77A2AC23F58" # string offset=14
    1748. .Linfo_string3:
    1749.         .asciz        "Unity.Collections.NativeArray`1<Unity.Entities.Entity>.CheckElementReadAccess(Unity.Collections.NativeArray`1<Unity.Entities.Entity>* this, int index)_712CB44F002011BB" # string offset=146
    1750. .Linfo_string4:
    1751.         .asciz        "Unity.Collections.NativeArray`1<Unity.Entities.Entity>.get_Item(Unity.Collections.NativeArray`1<Unity.Entities.Entity>* this, int index)_041165CE0F0CCC8C" # string offset=314
    1752. .Linfo_string5:
    1753.         .asciz        "Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrowNoEarlyOut(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_937C552A34401BAF" # string offset=468
    1754. .Linfo_string6:
    1755.         .asciz        "Unity.Entities.BufferFromEntity`1<ColliderList>.get_Item(Unity.Entities.BufferFromEntity`1<ColliderList>* this, Unity.Entities.Entity entity)_DA10751DBADA461A" # string offset=627
    1756. .Linfo_string7:
    1757.         .asciz        "Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrow(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_7883B5055A1A5B9B" # string offset=786
    1758. .Linfo_string8:
    1759.         .asciz        "Unity.Entities.EntityComponentStore.ValidateEntity(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity)_F1E4DAD214707E35" # string offset=935
    1760. .Linfo_string9:
    1761.         .asciz        "Unity.Entities.EntityComponentStore.Exists(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity)_CF2FB7E4A668074C" # string offset=1076
    1762. .Linfo_string10:
    1763.         .asciz        "Unity.Entities.EntityComponentStore.HasComponent(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity, Unity.Entities.ComponentType type)_BB43E236C34CDC0F" # string offset=1209
    1764. .Linfo_string11:
    1765.         .asciz        "Unity.Entities.EntityComponentStore.AssertEntityHasComponent(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity, Unity.Entities.ComponentType componentType)_F328C7B3EA037EA0" # string offset=1383
    1766. .Linfo_string12:
    1767.         .asciz        "Unity.Entities.EntityComponentStore.AssertEntityHasComponent(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity, int componentType)_66A8909174F1F567" # string offset=1578
    1768. .Linfo_string13:
    1769.         .asciz        "Unity.Entities.ChunkDataUtility.GetIndexInTypeArray(Unity.Entities.Archetype* archetype, int typeIndex)_767B96A5A09EEBC8" # string offset=1748
    1770. .Linfo_string14:
    1771.         .asciz        "Unity.Entities.ChunkDataUtility.GetIndexInTypeArray(Unity.Entities.Archetype* archetype, int typeIndex, ref int typeLookupCache)_29A9E576BFAC75EC" # string offset=1869
    1772. .Linfo_string15:
    1773.         .asciz        "Unity.Entities.ChunkDataUtility.GetComponentDataWithTypeRW(Unity.Entities.Chunk* chunk, int index, int typeIndex, uint globalSystemVersion, ref int typeLookupCache)_2A140AE580A9D1B3" # string offset=2015
    1774. .Linfo_string16:
    1775.         .asciz        "Unity.Entities.EntityComponentStore.GetComponentDataWithTypeRW(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity, int typeIndex, uint globalVersion, ref int typeLookupCache)_FA5A670552688DE9" # string offset=2197
    1776. .Linfo_string17:
    1777.         .asciz        "Unity.Entities.ArchetypeChunkData.SetChangeVersion(Unity.Entities.ArchetypeChunkData* this, int typeOffset, int chunkIndex, uint version)_066D413D35F3CE96" # string offset=2410
    1778. .Linfo_string18:
    1779.         .asciz        "Unity.Entities.Chunk.SetChangeVersion(Unity.Entities.Chunk* this, int typeIndex, uint version)_37EF107D96012A9D" # string offset=2565
    1780. .Linfo_string19:
    1781.         .asciz        "Unity.Entities.DynamicBuffer`1<ColliderList>..ctor(Unity.Entities.DynamicBuffer`1<ColliderList>* this, Unity.Entities.BufferHeader* header, Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle safety, Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle arrayInvalidationSafety, bool isReadOnly, bool useMemoryInitPattern, byte memoryInitPattern, int internalCapacity)_FE8E1CB23FDF3CF5" # string offset=2677
    1782. .Linfo_string20:
    1783.         .asciz        "Unity.Entities.BufferFromEntity`1<EntityList>.get_Item(Unity.Entities.BufferFromEntity`1<EntityList>* this, Unity.Entities.Entity entity)_6FFCF5E228D01967" # string offset=3063
    1784. .Linfo_string21:
    1785.         .asciz        "Unity.Entities.BufferHeader.GetElementPointer(Unity.Entities.BufferHeader* header)_CCF9EA1420073D8D" # string offset=3218
    1786. .Linfo_string22:
    1787.         .asciz        "Unity.Entities.DynamicBuffer`1<EntityList>.get_Item(Unity.Entities.DynamicBuffer`1<EntityList>* this, int index)_B53159D1B6F198CA" # string offset=3318
    1788. .Linfo_string23:
    1789.         .asciz        "Unity.Entities.DynamicBuffer`1<ColliderList>.CheckReadAccess(Unity.Entities.DynamicBuffer`1<ColliderList>* this)_FCF462943034D160" # string offset=3448
    1790. .Linfo_string24:
    1791.         .asciz        "Unity.Entities.DynamicBuffer`1<ColliderList>.get_Length(Unity.Entities.DynamicBuffer`1<ColliderList>* this)_02ED263B23DD9D3B" # string offset=3578
    1792. .Linfo_string25:
    1793.         .asciz        "Unity.Mathematics.AABB.get_Max(Unity.Mathematics.AABB* this)_CE35FF05C0E4A4FD" # string offset=3703
    1794. .Linfo_string26:
    1795.         .asciz        "Unity.Mathematics.AABB.get_Min(Unity.Mathematics.AABB* this)_59F9C667C05E7983" # string offset=3781
    1796. .Linfo_string27:
    1797.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeList.Realloc(Unity.Collections.LowLevel.Unsafe.UnsafeList* this, int sizeOf, int alignOf, int capacity)_A96A1D3299484E93" # string offset=3859
    1798. .Linfo_string28:
    1799.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeList.SetCapacity(Unity.Collections.LowLevel.Unsafe.UnsafeList* this, int sizeOf, int alignOf, int capacity)_E6A3A9E877FF2280" # string offset=4020
    1800. .Linfo_string29:
    1801.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeList.Resize(Unity.Collections.LowLevel.Unsafe.UnsafeList* this, int sizeOf, int alignOf, int length, Unity.Collections.NativeArrayOptions options)_D25D04F40E161ECD" # string offset=4185
    1802. .Linfo_string30:
    1803.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeList.Resize<CollisionPair>(Unity.Collections.LowLevel.Unsafe.UnsafeList* this, int length, Unity.Collections.NativeArrayOptions options)_97A1338C8C284133" # string offset=4389
    1804. .Linfo_string31:
    1805.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeList.Add<CollisionPair>(Unity.Collections.LowLevel.Unsafe.UnsafeList* this, CollisionPair value)_14DB5FD3CEC2B1C7" # string offset=4583
    1806. .Linfo_string32:
    1807.         .asciz        "Unity.Collections.NativeList`1<CollisionPair>.Add(Unity.Collections.NativeList`1<CollisionPair>* this, CollisionPair value)_657CB95C27E8CD2E" # string offset=4737
    1808. .Linfo_string33:
    1809.         .asciz        "Unity.Entities.DynamicBuffer`1<EntityList>.CheckReadAccess(Unity.Entities.DynamicBuffer`1<EntityList>* this)_03106754F33D2CCE" # string offset=4878
    1810. .Linfo_string34:
    1811.         .asciz        "Unity.Entities.DynamicBuffer`1<EntityList>.get_Length(Unity.Entities.DynamicBuffer`1<EntityList>* this)_AAE69711B0C7F65C" # string offset=5004
    1812. .Linfo_string35:
    1813.         .asciz        "Unity.Entities.DynamicBuffer`1<EntityList>.CheckBounds(Unity.Entities.DynamicBuffer`1<EntityList>* this, int index)_71E35D6141DEC40E" # string offset=5125
    1814. .Linfo_string36:
    1815.         .asciz        "Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckWriteAndBumpSecondaryVersion(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_076270D9587D05A3" # string offset=5258
    1816. .Linfo_string37:
    1817.         .asciz        "Unity.Mathematics.math.ceilpow2(int x)_1B356A90A7C04041" # string offset=5423
    1818. .Linfo_string38:
    1819.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeList.CheckAllocator(Unity.Collections.Allocator a)_EADD929AE1921257" # string offset=5479
    1820. .Linfo_string39:
    1821.         .asciz        "Unity.Collections.NativeArray`1<Unity.Entities.Entity>.FailOutOfRangeError(Unity.Collections.NativeArray`1<Unity.Entities.Entity>* this, int index)_8A2BD79C134FF609" # string offset=5587
    1822. .Linfo_string40:
    1823.         .asciz        "Unity.Entities.DynamicBuffer`1<ColliderList>.CheckBounds(Unity.Entities.DynamicBuffer`1<ColliderList>* this, int index)_20E54419862E70B8" # string offset=5752
    1824. .Linfo_string41:
    1825.         .asciz        "Unity.Jobs.IJobExtensions.JobStruct`1<MyBroadphaseCollisionDetection.CellCheckCollision>.Execute(ref MyBroadphaseCollisionDetection.CellCheckCollision data, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, ref Unity.Jobs.LowLevel.Unsafe.JobRanges ranges, int jobIndex)_3D90BE0FA4AD9B95" # string offset=5889
    1826. .Linfo_string42:
    1827.         .asciz        "Unity.Entities.DynamicBuffer`1<ColliderList>.get_Item(Unity.Entities.DynamicBuffer`1<ColliderList>* this, int index)_86C4E47660F61904" # string offset=6191
    1828.         .section        .debug_abbrev,"dr"
    1829. .Lsection_abbrev:
    1830.         .byte        1                       # Abbreviation Code
    1831.         .byte        17                      # DW_TAG_compile_unit
    1832.         .byte        1                       # DW_CHILDREN_yes
    1833.         .byte        37                      # DW_AT_producer
    1834.         .byte        14                      # DW_FORM_strp
    1835.         .byte        19                      # DW_AT_language
    1836.         .byte        5                       # DW_FORM_data2
    1837.         .byte        3                       # DW_AT_name
    1838.         .byte        14                      # DW_FORM_strp
    1839.         .byte        16                      # DW_AT_stmt_list
    1840.         .byte        23                      # DW_FORM_sec_offset
    1841.         .byte        27                      # DW_AT_comp_dir
    1842.         .byte        14                      # DW_FORM_strp
    1843.         .ascii        "\264B"                 # DW_AT_GNU_pubnames
    1844.         .byte        25                      # DW_FORM_flag_present
    1845.         .byte        17                      # DW_AT_low_pc
    1846.         .byte        1                       # DW_FORM_addr
    1847.         .byte        18                      # DW_AT_high_pc
    1848.         .byte        6                       # DW_FORM_data4
    1849.         .byte        0                       # EOM(1)
    1850.         .byte        0                       # EOM(2)
    1851.         .byte        2                       # Abbreviation Code
    1852.         .byte        46                      # DW_TAG_subprogram
    1853.         .byte        0                       # DW_CHILDREN_no
    1854.         .byte        110                     # DW_AT_linkage_name
    1855.         .byte        14                      # DW_FORM_strp
    1856.         .byte        3                       # DW_AT_name
    1857.         .byte        14                      # DW_FORM_strp
    1858.         .byte        58                      # DW_AT_decl_file
    1859.         .byte        11                      # DW_FORM_data1
    1860.         .byte        59                      # DW_AT_decl_line
    1861.         .byte        5                       # DW_FORM_data2
    1862.         .byte        63                      # DW_AT_external
    1863.         .byte        25                      # DW_FORM_flag_present
    1864.         .byte        32                      # DW_AT_inline
    1865.         .byte        11                      # DW_FORM_data1
    1866.         .byte        0                       # EOM(1)
    1867.         .byte        0                       # EOM(2)
    1868.         .byte        3                       # Abbreviation Code
    1869.         .byte        46                      # DW_TAG_subprogram
    1870.         .byte        0                       # DW_CHILDREN_no
    1871.         .byte        110                     # DW_AT_linkage_name
    1872.         .byte        14                      # DW_FORM_strp
    1873.         .byte        3                       # DW_AT_name
    1874.         .byte        14                      # DW_FORM_strp
    1875.         .byte        63                      # DW_AT_external
    1876.         .byte        25                      # DW_FORM_flag_present
    1877.         .byte        32                      # DW_AT_inline
    1878.         .byte        11                      # DW_FORM_data1
    1879.         .byte        0                       # EOM(1)
    1880.         .byte        0                       # EOM(2)
    1881.         .byte        4                       # Abbreviation Code
    1882.         .byte        46                      # DW_TAG_subprogram
    1883.         .byte        0                       # DW_CHILDREN_no
    1884.         .byte        110                     # DW_AT_linkage_name
    1885.         .byte        14                      # DW_FORM_strp
    1886.         .byte        3                       # DW_AT_name
    1887.         .byte        14                      # DW_FORM_strp
    1888.         .byte        58                      # DW_AT_decl_file
    1889.         .byte        11                      # DW_FORM_data1
    1890.         .byte        59                      # DW_AT_decl_line
    1891.         .byte        11                      # DW_FORM_data1
    1892.         .byte        63                      # DW_AT_external
    1893.         .byte        25                      # DW_FORM_flag_present
    1894.         .byte        32                      # DW_AT_inline
    1895.         .byte        11                      # DW_FORM_data1
    1896.         .byte        0                       # EOM(1)
    1897.         .byte        0                       # EOM(2)
    1898.         .byte        5                       # Abbreviation Code
    1899.         .byte        46                      # DW_TAG_subprogram
    1900.         .byte        1                       # DW_CHILDREN_yes
    1901.         .byte        17                      # DW_AT_low_pc
    1902.         .byte        1                       # DW_FORM_addr
    1903.         .byte        18                      # DW_AT_high_pc
    1904.         .byte        6                       # DW_FORM_data4
    1905.         .byte        64                      # DW_AT_frame_base
    1906.         .byte        24                      # DW_FORM_exprloc
    1907.         .byte        110                     # DW_AT_linkage_name
    1908.         .byte        14                      # DW_FORM_strp
    1909.         .byte        3                       # DW_AT_name
    1910.         .byte        14                      # DW_FORM_strp
    1911.         .byte        63                      # DW_AT_external
    1912.         .byte        25                      # DW_FORM_flag_present
    1913.         .byte        0                       # EOM(1)
    1914.         .byte        0                       # EOM(2)
    1915.         .byte        6                       # Abbreviation Code
    1916.         .byte        29                      # DW_TAG_inlined_subroutine
    1917.         .byte        1                       # DW_CHILDREN_yes
    1918.         .byte        49                      # DW_AT_abstract_origin
    1919.         .byte        19                      # DW_FORM_ref4
    1920.         .byte        85                      # DW_AT_ranges
    1921.         .byte        23                      # DW_FORM_sec_offset
    1922.         .byte        88                      # DW_AT_call_file
    1923.         .byte        11                      # DW_FORM_data1
    1924.         .byte        89                      # DW_AT_call_line
    1925.         .byte        11                      # DW_FORM_data1
    1926.         .byte        0                       # EOM(1)
    1927.         .byte        0                       # EOM(2)
    1928.         .byte        7                       # Abbreviation Code
    1929.         .byte        29                      # DW_TAG_inlined_subroutine
    1930.         .byte        1                       # DW_CHILDREN_yes
    1931.         .byte        49                      # DW_AT_abstract_origin
    1932.         .byte        19                      # DW_FORM_ref4
    1933.         .byte        85                      # DW_AT_ranges
    1934.         .byte        23                      # DW_FORM_sec_offset
    1935.         .byte        88                      # DW_AT_call_file
    1936.         .byte        11                      # DW_FORM_data1
    1937.         .byte        89                      # DW_AT_call_line
    1938.         .byte        5                       # DW_FORM_data2
    1939.         .byte        87                      # DW_AT_call_column
    1940.         .byte        11                      # DW_FORM_data1
    1941.         .byte        0                       # EOM(1)
    1942.         .byte        0                       # EOM(2)
    1943.         .byte        8                       # Abbreviation Code
    1944.         .byte        29                      # DW_TAG_inlined_subroutine
    1945.         .byte        0                       # DW_CHILDREN_no
    1946.         .byte        49                      # DW_AT_abstract_origin
    1947.         .byte        19                      # DW_FORM_ref4
    1948.         .byte        17                      # DW_AT_low_pc
    1949.         .byte        1                       # DW_FORM_addr
    1950.         .byte        18                      # DW_AT_high_pc
    1951.         .byte        6                       # DW_FORM_data4
    1952.         .byte        88                      # DW_AT_call_file
    1953.         .byte        11                      # DW_FORM_data1
    1954.         .byte        89                      # DW_AT_call_line
    1955.         .byte        11                      # DW_FORM_data1
    1956.         .byte        0                       # EOM(1)
    1957.         .byte        0                       # EOM(2)
    1958.         .byte        9                       # Abbreviation Code
    1959.         .byte        29                      # DW_TAG_inlined_subroutine
    1960.         .byte        1                       # DW_CHILDREN_yes
    1961.         .byte        49                      # DW_AT_abstract_origin
    1962.         .byte        19                      # DW_FORM_ref4
    1963.         .byte        85                      # DW_AT_ranges
    1964.         .byte        23                      # DW_FORM_sec_offset
    1965.         .byte        88                      # DW_AT_call_file
    1966.         .byte        11                      # DW_FORM_data1
    1967.         .byte        89                      # DW_AT_call_line
    1968.         .byte        11                      # DW_FORM_data1
    1969.         .byte        87                      # DW_AT_call_column
    1970.         .byte        11                      # DW_FORM_data1
    1971.         .byte        0                       # EOM(1)
    1972.         .byte        0                       # EOM(2)
    1973.         .byte        10                      # Abbreviation Code
    1974.         .byte        29                      # DW_TAG_inlined_subroutine
    1975.         .byte        1                       # DW_CHILDREN_yes
    1976.         .byte        49                      # DW_AT_abstract_origin
    1977.         .byte        19                      # DW_FORM_ref4
    1978.         .byte        17                      # DW_AT_low_pc
    1979.         .byte        1                       # DW_FORM_addr
    1980.         .byte        18                      # DW_AT_high_pc
    1981.         .byte        6                       # DW_FORM_data4
    1982.         .byte        88                      # DW_AT_call_file
    1983.         .byte        11                      # DW_FORM_data1
    1984.         .byte        89                      # DW_AT_call_line
    1985.         .byte        11                      # DW_FORM_data1
    1986.         .byte        87                      # DW_AT_call_column
    1987.         .byte        11                      # DW_FORM_data1
    1988.         .byte        0                       # EOM(1)
    1989.         .byte        0                       # EOM(2)
    1990.         .byte        11                      # Abbreviation Code
    1991.         .byte        29                      # DW_TAG_inlined_subroutine
    1992.         .byte        1                       # DW_CHILDREN_yes
    1993.         .byte        49                      # DW_AT_abstract_origin
    1994.         .byte        19                      # DW_FORM_ref4
    1995.         .byte        17                      # DW_AT_low_pc
    1996.         .byte        1                       # DW_FORM_addr
    1997.         .byte        18                      # DW_AT_high_pc
    1998.         .byte        6                       # DW_FORM_data4
    1999.         .byte        88                      # DW_AT_call_file
    2000.         .byte        11                      # DW_FORM_data1
    2001.         .byte        89                      # DW_AT_call_line
    2002.         .byte        5                       # DW_FORM_data2
    2003.         .byte        87                      # DW_AT_call_column
    2004.         .byte        11                      # DW_FORM_data1
    2005.         .byte        0                       # EOM(1)
    2006.         .byte        0                       # EOM(2)
    2007.         .byte        12                      # Abbreviation Code
    2008.         .byte        29                      # DW_TAG_inlined_subroutine
    2009.         .byte        0                       # DW_CHILDREN_no
    2010.         .byte        49                      # DW_AT_abstract_origin
    2011.         .byte        19                      # DW_FORM_ref4
    2012.         .byte        17                      # DW_AT_low_pc
    2013.         .byte        1                       # DW_FORM_addr
    2014.         .byte        18                      # DW_AT_high_pc
    2015.         .byte        6                       # DW_FORM_data4
    2016.         .byte        88                      # DW_AT_call_file
    2017.         .byte        11                      # DW_FORM_data1
    2018.         .byte        89                      # DW_AT_call_line
    2019.         .byte        5                       # DW_FORM_data2
    2020.         .byte        87                      # DW_AT_call_column
    2021.         .byte        11                      # DW_FORM_data1
    2022.         .byte        0                       # EOM(1)
    2023.         .byte        0                       # EOM(2)
    2024.         .byte        13                      # Abbreviation Code
    2025.         .byte        29                      # DW_TAG_inlined_subroutine
    2026.         .byte        0                       # DW_CHILDREN_no
    2027.         .byte        49                      # DW_AT_abstract_origin
    2028.         .byte        19                      # DW_FORM_ref4
    2029.         .byte        85                      # DW_AT_ranges
    2030.         .byte        23                      # DW_FORM_sec_offset
    2031.         .byte        88                      # DW_AT_call_file
    2032.         .byte        11                      # DW_FORM_data1
    2033.         .byte        89                      # DW_AT_call_line
    2034.         .byte        11                      # DW_FORM_data1
    2035.         .byte        87                      # DW_AT_call_column
    2036.         .byte        11                      # DW_FORM_data1
    2037.         .byte        0                       # EOM(1)
    2038.         .byte        0                       # EOM(2)
    2039.         .byte        14                      # Abbreviation Code
    2040.         .byte        29                      # DW_TAG_inlined_subroutine
    2041.         .byte        0                       # DW_CHILDREN_no
    2042.         .byte        49                      # DW_AT_abstract_origin
    2043.         .byte        19                      # DW_FORM_ref4
    2044.         .byte        17                      # DW_AT_low_pc
    2045.         .byte        1                       # DW_FORM_addr
    2046.         .byte        18                      # DW_AT_high_pc
    2047.         .byte        6                       # DW_FORM_data4
    2048.         .byte        88                      # DW_AT_call_file
    2049.         .byte        11                      # DW_FORM_data1
    2050.         .byte        89                      # DW_AT_call_line
    2051.         .byte        11                      # DW_FORM_data1
    2052.         .byte        87                      # DW_AT_call_column
    2053.         .byte        11                      # DW_FORM_data1
    2054.         .byte        0                       # EOM(1)
    2055.         .byte        0                       # EOM(2)
    2056.         .byte        15                      # Abbreviation Code
    2057.         .byte        46                      # DW_TAG_subprogram
    2058.         .byte        1                       # DW_CHILDREN_yes
    2059.         .byte        17                      # DW_AT_low_pc
    2060.         .byte        1                       # DW_FORM_addr
    2061.         .byte        18                      # DW_AT_high_pc
    2062.         .byte        6                       # DW_FORM_data4
    2063.         .byte        64                      # DW_AT_frame_base
    2064.         .byte        24                      # DW_FORM_exprloc
    2065.         .byte        110                     # DW_AT_linkage_name
    2066.         .byte        14                      # DW_FORM_strp
    2067.         .byte        3                       # DW_AT_name
    2068.         .byte        14                      # DW_FORM_strp
    2069.         .byte        58                      # DW_AT_decl_file
    2070.         .byte        11                      # DW_FORM_data1
    2071.         .byte        59                      # DW_AT_decl_line
    2072.         .byte        11                      # DW_FORM_data1
    2073.         .byte        63                      # DW_AT_external
    2074.         .byte        25                      # DW_FORM_flag_present
    2075.         .byte        0                       # EOM(1)
    2076.         .byte        0                       # EOM(2)
    2077.         .byte        16                      # Abbreviation Code
    2078.         .byte        29                      # DW_TAG_inlined_subroutine
    2079.         .byte        0                       # DW_CHILDREN_no
    2080.         .byte        49                      # DW_AT_abstract_origin
    2081.         .byte        19                      # DW_FORM_ref4
    2082.         .byte        85                      # DW_AT_ranges
    2083.         .byte        23                      # DW_FORM_sec_offset
    2084.         .byte        88                      # DW_AT_call_file
    2085.         .byte        11                      # DW_FORM_data1
    2086.         .byte        89                      # DW_AT_call_line
    2087.         .byte        11                      # DW_FORM_data1
    2088.         .byte        0                       # EOM(1)
    2089.         .byte        0                       # EOM(2)
    2090.         .byte        0                       # EOM(3)
    2091.         .section        .debug_info,"dr"
    2092. .Lsection_info:
    2093. .Lcu_begin0:
    2094.         .long        .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
    2095. .Ldebug_info_start0:
    2096.         .short        4                       # DWARF version number
    2097.         .secrel32        .Lsection_abbrev # Offset Into Abbrev. Section
    2098.         .byte        8                       # Address Size (in bytes)
    2099.         .byte        1                       # Abbrev [1] 0xb:0x967 DW_TAG_compile_unit
    2100.         .secrel32        .Linfo_string0  # DW_AT_producer
    2101.         .short        2                       # DW_AT_language
    2102.         .secrel32        .Linfo_string1  # DW_AT_name
    2103.         .secrel32        .Lline_table_start0 # DW_AT_stmt_list
    2104.         .secrel32        .Linfo_string1  # DW_AT_comp_dir
    2105.                                         # DW_AT_GNU_pubnames
    2106.         .quad        .Lfunc_begin0           # DW_AT_low_pc
    2107.         .long        .Lfunc_end1-.Lfunc_begin0 # DW_AT_high_pc
    2108.         .byte        2                       # Abbrev [2] 0x2a:0xd DW_TAG_subprogram
    2109.         .secrel32        .Linfo_string2  # DW_AT_linkage_name
    2110.         .secrel32        .Linfo_string2  # DW_AT_name
    2111.         .byte        2                       # DW_AT_decl_file
    2112.         .short        294                     # DW_AT_decl_line
    2113.                                         # DW_AT_external
    2114.         .byte        1                       # DW_AT_inline
    2115.         .byte        3                       # Abbrev [3] 0x37:0xa DW_TAG_subprogram
    2116.         .secrel32        .Linfo_string3  # DW_AT_linkage_name
    2117.         .secrel32        .Linfo_string3  # DW_AT_name
    2118.                                         # DW_AT_external
    2119.         .byte        1                       # DW_AT_inline
    2120.         .byte        3                       # Abbrev [3] 0x41:0xa DW_TAG_subprogram
    2121.         .secrel32        .Linfo_string4  # DW_AT_linkage_name
    2122.         .secrel32        .Linfo_string4  # DW_AT_name
    2123.                                         # DW_AT_external
    2124.         .byte        1                       # DW_AT_inline
    2125.         .byte        3                       # Abbrev [3] 0x4b:0xa DW_TAG_subprogram
    2126.         .secrel32        .Linfo_string5  # DW_AT_linkage_name
    2127.         .secrel32        .Linfo_string5  # DW_AT_name
    2128.                                         # DW_AT_external
    2129.         .byte        1                       # DW_AT_inline
    2130.         .byte        4                       # Abbrev [4] 0x55:0xc DW_TAG_subprogram
    2131.         .secrel32        .Linfo_string6  # DW_AT_linkage_name
    2132.         .secrel32        .Linfo_string6  # DW_AT_name
    2133.         .byte        3                       # DW_AT_decl_file
    2134.         .byte        69                      # DW_AT_decl_line
    2135.                                         # DW_AT_external
    2136.         .byte        1                       # DW_AT_inline
    2137.         .byte        3                       # Abbrev [3] 0x61:0xa DW_TAG_subprogram
    2138.         .secrel32        .Linfo_string7  # DW_AT_linkage_name
    2139.         .secrel32        .Linfo_string7  # DW_AT_name
    2140.                                         # DW_AT_external
    2141.         .byte        1                       # DW_AT_inline
    2142.         .byte        4                       # Abbrev [4] 0x6b:0xc DW_TAG_subprogram
    2143.         .secrel32        .Linfo_string8  # DW_AT_linkage_name
    2144.         .secrel32        .Linfo_string8  # DW_AT_name
    2145.         .byte        4                       # DW_AT_decl_file
    2146.         .byte        185                     # DW_AT_decl_line
    2147.                                         # DW_AT_external
    2148.         .byte        1                       # DW_AT_inline
    2149.         .byte        2                       # Abbrev [2] 0x77:0xd DW_TAG_subprogram
    2150.         .secrel32        .Linfo_string9  # DW_AT_linkage_name
    2151.         .secrel32        .Linfo_string9  # DW_AT_name
    2152.         .byte        5                       # DW_AT_decl_file
    2153.         .short        642                     # DW_AT_decl_line
    2154.                                         # DW_AT_external
    2155.         .byte        1                       # DW_AT_inline
    2156.         .byte        2                       # Abbrev [2] 0x84:0xd DW_TAG_subprogram
    2157.         .secrel32        .Linfo_string10 # DW_AT_linkage_name
    2158.         .secrel32        .Linfo_string10 # DW_AT_name
    2159.         .byte        5                       # DW_AT_decl_file
    2160.         .short        673                     # DW_AT_decl_line
    2161.                                         # DW_AT_external
    2162.         .byte        1                       # DW_AT_inline
    2163.         .byte        2                       # Abbrev [2] 0x91:0xd DW_TAG_subprogram
    2164.         .secrel32        .Linfo_string11 # DW_AT_linkage_name
    2165.         .secrel32        .Linfo_string11 # DW_AT_name
    2166.         .byte        4                       # DW_AT_decl_file
    2167.         .short        267                     # DW_AT_decl_line
    2168.                                         # DW_AT_external
    2169.         .byte        1                       # DW_AT_inline
    2170.         .byte        2                       # Abbrev [2] 0x9e:0xd DW_TAG_subprogram
    2171.         .secrel32        .Linfo_string12 # DW_AT_linkage_name
    2172.         .secrel32        .Linfo_string12 # DW_AT_name
    2173.         .byte        4                       # DW_AT_decl_file
    2174.         .short        279                     # DW_AT_decl_line
    2175.                                         # DW_AT_external
    2176.         .byte        1                       # DW_AT_inline
    2177.         .byte        4                       # Abbrev [4] 0xab:0xc DW_TAG_subprogram
    2178.         .secrel32        .Linfo_string13 # DW_AT_linkage_name
    2179.         .secrel32        .Linfo_string13 # DW_AT_name
    2180.         .byte        6                       # DW_AT_decl_file
    2181.         .byte        11                      # DW_AT_decl_line
    2182.                                         # DW_AT_external
    2183.         .byte        1                       # DW_AT_inline
    2184.         .byte        4                       # Abbrev [4] 0xb7:0xc DW_TAG_subprogram
    2185.         .secrel32        .Linfo_string14 # DW_AT_linkage_name
    2186.         .secrel32        .Linfo_string14 # DW_AT_name
    2187.         .byte        6                       # DW_AT_decl_file
    2188.         .byte        33                      # DW_AT_decl_line
    2189.                                         # DW_AT_external
    2190.         .byte        1                       # DW_AT_inline
    2191.         .byte        4                       # Abbrev [4] 0xc3:0xc DW_TAG_subprogram
    2192.         .secrel32        .Linfo_string15 # DW_AT_linkage_name
    2193.         .secrel32        .Linfo_string15 # DW_AT_name
    2194.         .byte        6                       # DW_AT_decl_file
    2195.         .byte        77                      # DW_AT_decl_line
    2196.                                         # DW_AT_external
    2197.         .byte        1                       # DW_AT_inline
    2198.         .byte        2                       # Abbrev [2] 0xcf:0xd DW_TAG_subprogram
    2199.         .secrel32        .Linfo_string16 # DW_AT_linkage_name
    2200.         .secrel32        .Linfo_string16 # DW_AT_name
    2201.         .byte        5                       # DW_AT_decl_file
    2202.         .short        789                     # DW_AT_decl_line
    2203.                                         # DW_AT_external
    2204.         .byte        1                       # DW_AT_inline
    2205.         .byte        4                       # Abbrev [4] 0xdc:0xc DW_TAG_subprogram
    2206.         .secrel32        .Linfo_string17 # DW_AT_linkage_name
    2207.         .secrel32        .Linfo_string17 # DW_AT_name
    2208.         .byte        7                       # DW_AT_decl_file
    2209.         .byte        78                      # DW_AT_decl_line
    2210.                                         # DW_AT_external
    2211.         .byte        1                       # DW_AT_inline
    2212.         .byte        4                       # Abbrev [4] 0xe8:0xc DW_TAG_subprogram
    2213.         .secrel32        .Linfo_string18 # DW_AT_linkage_name
    2214.         .secrel32        .Linfo_string18 # DW_AT_name
    2215.         .byte        14                      # DW_AT_decl_file
    2216.         .byte        67                      # DW_AT_decl_line
    2217.                                         # DW_AT_external
    2218.         .byte        1                       # DW_AT_inline
    2219.         .byte        4                       # Abbrev [4] 0xf4:0xc DW_TAG_subprogram
    2220.         .secrel32        .Linfo_string19 # DW_AT_linkage_name
    2221.         .secrel32        .Linfo_string19 # DW_AT_name
    2222.         .byte        8                       # DW_AT_decl_file
    2223.         .byte        43                      # DW_AT_decl_line
    2224.                                         # DW_AT_external
    2225.         .byte        1                       # DW_AT_inline
    2226.         .byte        4                       # Abbrev [4] 0x100:0xc DW_TAG_subprogram
    2227.         .secrel32        .Linfo_string20 # DW_AT_linkage_name
    2228.         .secrel32        .Linfo_string20 # DW_AT_name
    2229.         .byte        3                       # DW_AT_decl_file
    2230.         .byte        69                      # DW_AT_decl_line
    2231.                                         # DW_AT_external
    2232.         .byte        1                       # DW_AT_inline
    2233.         .byte        4                       # Abbrev [4] 0x10c:0xc DW_TAG_subprogram
    2234.         .secrel32        .Linfo_string21 # DW_AT_linkage_name
    2235.         .secrel32        .Linfo_string21 # DW_AT_name
    2236.         .byte        9                       # DW_AT_decl_file
    2237.         .byte        18                      # DW_AT_decl_line
    2238.                                         # DW_AT_external
    2239.         .byte        1                       # DW_AT_inline
    2240.         .byte        4                       # Abbrev [4] 0x118:0xc DW_TAG_subprogram
    2241.         .secrel32        .Linfo_string22 # DW_AT_linkage_name
    2242.         .secrel32        .Linfo_string22 # DW_AT_name
    2243.         .byte        8                       # DW_AT_decl_file
    2244.         .byte        166                     # DW_AT_decl_line
    2245.                                         # DW_AT_external
    2246.         .byte        1                       # DW_AT_inline
    2247.         .byte        4                       # Abbrev [4] 0x124:0xc DW_TAG_subprogram
    2248.         .secrel32        .Linfo_string23 # DW_AT_linkage_name
    2249.         .secrel32        .Linfo_string23 # DW_AT_name
    2250.         .byte        8                       # DW_AT_decl_file
    2251.         .byte        131                     # DW_AT_decl_line
    2252.                                         # DW_AT_external
    2253.         .byte        1                       # DW_AT_inline
    2254.         .byte        4                       # Abbrev [4] 0x130:0xc DW_TAG_subprogram
    2255.         .secrel32        .Linfo_string24 # DW_AT_linkage_name
    2256.         .secrel32        .Linfo_string24 # DW_AT_name
    2257.         .byte        8                       # DW_AT_decl_file
    2258.         .byte        71                      # DW_AT_decl_line
    2259.                                         # DW_AT_external
    2260.         .byte        1                       # DW_AT_inline
    2261.         .byte        4                       # Abbrev [4] 0x13c:0xc DW_TAG_subprogram
    2262.         .secrel32        .Linfo_string25 # DW_AT_linkage_name
    2263.         .secrel32        .Linfo_string25 # DW_AT_name
    2264.         .byte        10                      # DW_AT_decl_file
    2265.         .byte        14                      # DW_AT_decl_line
    2266.                                         # DW_AT_external
    2267.         .byte        1                       # DW_AT_inline
    2268.         .byte        4                       # Abbrev [4] 0x148:0xc DW_TAG_subprogram
    2269.         .secrel32        .Linfo_string26 # DW_AT_linkage_name
    2270.         .secrel32        .Linfo_string26 # DW_AT_name
    2271.         .byte        10                      # DW_AT_decl_file
    2272.         .byte        13                      # DW_AT_decl_line
    2273.                                         # DW_AT_external
    2274.         .byte        1                       # DW_AT_inline
    2275.         .byte        4                       # Abbrev [4] 0x154:0xc DW_TAG_subprogram
    2276.         .secrel32        .Linfo_string27 # DW_AT_linkage_name
    2277.         .secrel32        .Linfo_string27 # DW_AT_name
    2278.         .byte        11                      # DW_AT_decl_file
    2279.         .byte        250                     # DW_AT_decl_line
    2280.                                         # DW_AT_external
    2281.         .byte        1                       # DW_AT_inline
    2282.         .byte        2                       # Abbrev [2] 0x160:0xd DW_TAG_subprogram
    2283.         .secrel32        .Linfo_string28 # DW_AT_linkage_name
    2284.         .secrel32        .Linfo_string28 # DW_AT_name
    2285.         .byte        11                      # DW_AT_decl_file
    2286.         .short        275                     # DW_AT_decl_line
    2287.                                         # DW_AT_external
    2288.         .byte        1                       # DW_AT_inline
    2289.         .byte        4                       # Abbrev [4] 0x16d:0xc DW_TAG_subprogram
    2290.         .secrel32        .Linfo_string29 # DW_AT_linkage_name
    2291.         .secrel32        .Linfo_string29 # DW_AT_name
    2292.         .byte        11                      # DW_AT_decl_file
    2293.         .byte        210                     # DW_AT_decl_line
    2294.                                         # DW_AT_external
    2295.         .byte        1                       # DW_AT_inline
    2296.         .byte        4                       # Abbrev [4] 0x179:0xc DW_TAG_subprogram
    2297.         .secrel32        .Linfo_string30 # DW_AT_linkage_name
    2298.         .secrel32        .Linfo_string30 # DW_AT_name
    2299.         .byte        11                      # DW_AT_decl_file
    2300.         .byte        236                     # DW_AT_decl_line
    2301.                                         # DW_AT_external
    2302.         .byte        1                       # DW_AT_inline
    2303.         .byte        2                       # Abbrev [2] 0x185:0xd DW_TAG_subprogram
    2304.         .secrel32        .Linfo_string31 # DW_AT_linkage_name
    2305.         .secrel32        .Linfo_string31 # DW_AT_name
    2306.         .byte        11                      # DW_AT_decl_file
    2307.         .short        405                     # DW_AT_decl_line
    2308.                                         # DW_AT_external
    2309.         .byte        1                       # DW_AT_inline
    2310.         .byte        4                       # Abbrev [4] 0x192:0xc DW_TAG_subprogram
    2311.         .secrel32        .Linfo_string32 # DW_AT_linkage_name
    2312.         .secrel32        .Linfo_string32 # DW_AT_name
    2313.         .byte        12                      # DW_AT_decl_file
    2314.         .byte        255                     # DW_AT_decl_line
    2315.                                         # DW_AT_external
    2316.         .byte        1                       # DW_AT_inline
    2317.         .byte        4                       # Abbrev [4] 0x19e:0xc DW_TAG_subprogram
    2318.         .secrel32        .Linfo_string33 # DW_AT_linkage_name
    2319.         .secrel32        .Linfo_string33 # DW_AT_name
    2320.         .byte        8                       # DW_AT_decl_file
    2321.         .byte        131                     # DW_AT_decl_line
    2322.                                         # DW_AT_external
    2323.         .byte        1                       # DW_AT_inline
    2324.         .byte        4                       # Abbrev [4] 0x1aa:0xc DW_TAG_subprogram
    2325.         .secrel32        .Linfo_string34 # DW_AT_linkage_name
    2326.         .secrel32        .Linfo_string34 # DW_AT_name
    2327.         .byte        8                       # DW_AT_decl_file
    2328.         .byte        71                      # DW_AT_decl_line
    2329.                                         # DW_AT_external
    2330.         .byte        1                       # DW_AT_inline
    2331.         .byte        4                       # Abbrev [4] 0x1b6:0xc DW_TAG_subprogram
    2332.         .secrel32        .Linfo_string35 # DW_AT_linkage_name
    2333.         .secrel32        .Linfo_string35 # DW_AT_name
    2334.         .byte        8                       # DW_AT_decl_file
    2335.         .byte        122                     # DW_AT_decl_line
    2336.                                         # DW_AT_external
    2337.         .byte        1                       # DW_AT_inline
    2338.         .byte        3                       # Abbrev [3] 0x1c2:0xa DW_TAG_subprogram
    2339.         .secrel32        .Linfo_string36 # DW_AT_linkage_name
    2340.         .secrel32        .Linfo_string36 # DW_AT_name
    2341.                                         # DW_AT_external
    2342.         .byte        1                       # DW_AT_inline
    2343.         .byte        2                       # Abbrev [2] 0x1cc:0xd DW_TAG_subprogram
    2344.         .secrel32        .Linfo_string37 # DW_AT_linkage_name
    2345.         .secrel32        .Linfo_string37 # DW_AT_name
    2346.         .byte        13                      # DW_AT_decl_file
    2347.         .short        2834                    # DW_AT_decl_line
    2348.                                         # DW_AT_external
    2349.         .byte        1                       # DW_AT_inline
    2350.         .byte        4                       # Abbrev [4] 0x1d9:0xc DW_TAG_subprogram
    2351.         .secrel32        .Linfo_string38 # DW_AT_linkage_name
    2352.         .secrel32        .Linfo_string38 # DW_AT_name
    2353.         .byte        11                      # DW_AT_decl_file
    2354.         .byte        242                     # DW_AT_decl_line
    2355.                                         # DW_AT_external
    2356.         .byte        1                       # DW_AT_inline
    2357.         .byte        3                       # Abbrev [3] 0x1e5:0xa DW_TAG_subprogram
    2358.         .secrel32        .Linfo_string39 # DW_AT_linkage_name
    2359.         .secrel32        .Linfo_string39 # DW_AT_name
    2360.                                         # DW_AT_external
    2361.         .byte        1                       # DW_AT_inline
    2362.         .byte        5                       # Abbrev [5] 0x1ef:0x684 DW_TAG_subprogram
    2363.         .quad        .Lfunc_begin0           # DW_AT_low_pc
    2364.         .long        .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
    2365.         .byte        1                       # DW_AT_frame_base
    2366.         .byte        87
    2367.         .secrel32        .Linfo_string41 # DW_AT_linkage_name
    2368.         .secrel32        .Linfo_string41 # DW_AT_name
    2369.                                         # DW_AT_external
    2370.         .byte        6                       # Abbrev [6] 0x206:0x66c DW_TAG_inlined_subroutine
    2371.         .long        42                      # DW_AT_abstract_origin
    2372.         .secrel32        .Ldebug_ranges0 # DW_AT_ranges
    2373.         .byte        1                       # DW_AT_call_file
    2374.         .byte        0                       # DW_AT_call_line
    2375.         .byte        7                       # Abbrev [7] 0x211:0x40 DW_TAG_inlined_subroutine
    2376.         .long        65                      # DW_AT_abstract_origin
    2377.         .secrel32        .Ldebug_ranges1 # DW_AT_ranges
    2378.         .byte        2                       # DW_AT_call_file
    2379.         .short        299                     # DW_AT_call_line
    2380.         .byte        17                      # DW_AT_call_column
    2381.         .byte        6                       # Abbrev [6] 0x21e:0x32 DW_TAG_inlined_subroutine
    2382.         .long        55                      # DW_AT_abstract_origin
    2383.         .secrel32        .Ldebug_ranges2 # DW_AT_ranges
    2384.         .byte        1                       # DW_AT_call_file
    2385.         .byte        0                       # DW_AT_call_line
    2386.         .byte        8                       # Abbrev [8] 0x229:0x13 DW_TAG_inlined_subroutine
    2387.         .long        75                      # DW_AT_abstract_origin
    2388.         .quad        .Ltmp1                  # DW_AT_low_pc
    2389.         .long        .Ltmp2-.Ltmp1           # DW_AT_high_pc
    2390.         .byte        1                       # DW_AT_call_file
    2391.         .byte        0                       # DW_AT_call_line
    2392.         .byte        8                       # Abbrev [8] 0x23c:0x13 DW_TAG_inlined_subroutine
    2393.         .long        485                     # DW_AT_abstract_origin
    2394.         .quad        .Ltmp123                # DW_AT_low_pc
    2395.         .long        .Ltmp124-.Ltmp123       # DW_AT_high_pc
    2396.         .byte        1                       # DW_AT_call_file
    2397.         .byte        0                       # DW_AT_call_line
    2398.         .byte        0                       # End Of Children Mark
    2399.         .byte        0                       # End Of Children Mark
    2400.         .byte        7                       # Abbrev [7] 0x251:0x10b DW_TAG_inlined_subroutine
    2401.         .long        85                      # DW_AT_abstract_origin
    2402.         .secrel32        .Ldebug_ranges3 # DW_AT_ranges
    2403.         .byte        2                       # DW_AT_call_file
    2404.         .short        299                     # DW_AT_call_line
    2405.         .byte        17                      # DW_AT_call_column
    2406.         .byte        9                       # Abbrev [9] 0x25e:0x20 DW_TAG_inlined_subroutine
    2407.         .long        97                      # DW_AT_abstract_origin
    2408.         .secrel32        .Ldebug_ranges4 # DW_AT_ranges
    2409.         .byte        3                       # DW_AT_call_file
    2410.         .byte        73                      # DW_AT_call_line
    2411.         .byte        17                      # DW_AT_call_column
    2412.         .byte        8                       # Abbrev [8] 0x26a:0x13 DW_TAG_inlined_subroutine
    2413.         .long        75                      # DW_AT_abstract_origin
    2414.         .quad        .Ltmp8                  # DW_AT_low_pc
    2415.         .long        .Ltmp9-.Ltmp8           # DW_AT_high_pc
    2416.         .byte        1                       # DW_AT_call_file
    2417.         .byte        0                       # DW_AT_call_line
    2418.         .byte        0                       # End Of Children Mark
    2419.         .byte        10                      # Abbrev [10] 0x27e:0x81 DW_TAG_inlined_subroutine
    2420.         .long        158                     # DW_AT_abstract_origin
    2421.         .quad        .Ltmp9                  # DW_AT_low_pc
    2422.         .long        .Ltmp15-.Ltmp9          # DW_AT_high_pc
    2423.         .byte        3                       # DW_AT_call_file
    2424.         .byte        75                      # DW_AT_call_line
    2425.         .byte        17                      # DW_AT_call_column
    2426.         .byte        11                      # Abbrev [11] 0x292:0x6c DW_TAG_inlined_subroutine
    2427.         .long        145                     # DW_AT_abstract_origin
    2428.         .quad        .Ltmp9                  # DW_AT_low_pc
    2429.         .long        .Ltmp15-.Ltmp9          # DW_AT_high_pc
    2430.         .byte        4                       # DW_AT_call_file
    2431.         .short        280                     # DW_AT_call_line
    2432.         .byte        13                      # DW_AT_call_column
    2433.         .byte        11                      # Abbrev [11] 0x2a7:0x56 DW_TAG_inlined_subroutine
    2434.         .long        132                     # DW_AT_abstract_origin
    2435.         .quad        .Ltmp9                  # DW_AT_low_pc
    2436.         .long        .Ltmp14-.Ltmp9          # DW_AT_high_pc
    2437.         .byte        4                       # DW_AT_call_file
    2438.         .short        268                     # DW_AT_call_line
    2439.         .byte        13                      # DW_AT_call_column
    2440.         .byte        11                      # Abbrev [11] 0x2bc:0x2b DW_TAG_inlined_subroutine
    2441.         .long        119                     # DW_AT_abstract_origin
    2442.         .quad        .Ltmp9                  # DW_AT_low_pc
    2443.         .long        .Ltmp11-.Ltmp9          # DW_AT_high_pc
    2444.         .byte        5                       # DW_AT_call_file
    2445.         .short        674                     # DW_AT_call_line
    2446.         .byte        13                      # DW_AT_call_column
    2447.         .byte        12                      # Abbrev [12] 0x2d1:0x15 DW_TAG_inlined_subroutine
    2448.         .long        107                     # DW_AT_abstract_origin
    2449.         .quad        .Ltmp9                  # DW_AT_low_pc
    2450.         .long        .Ltmp10-.Ltmp9          # DW_AT_high_pc
    2451.         .byte        5                       # DW_AT_call_file
    2452.         .short        645                     # DW_AT_call_line
    2453.         .byte        13                      # DW_AT_call_column
    2454.         .byte        0                       # End Of Children Mark
    2455.         .byte        12                      # Abbrev [12] 0x2e7:0x15 DW_TAG_inlined_subroutine
    2456.         .long        171                     # DW_AT_abstract_origin
    2457.         .quad        .Ltmp12                 # DW_AT_low_pc
    2458.         .long        .Ltmp13-.Ltmp12         # DW_AT_high_pc
    2459.         .byte        5                       # DW_AT_call_file
    2460.         .short        678                     # DW_AT_call_line
    2461.         .byte        13                      # DW_AT_call_column
    2462.         .byte        0                       # End Of Children Mark
    2463.         .byte        0                       # End Of Children Mark
    2464.         .byte        0                       # End Of Children Mark
    2465.         .byte        10                      # Abbrev [10] 0x2ff:0x48 DW_TAG_inlined_subroutine
    2466.         .long        207                     # DW_AT_abstract_origin
    2467.         .quad        .Ltmp16                 # DW_AT_low_pc
    2468.         .long        .Ltmp24-.Ltmp16         # DW_AT_high_pc
    2469.         .byte        3                       # DW_AT_call_file
    2470.         .byte        79                      # DW_AT_call_line
    2471.         .byte        17                      # DW_AT_call_column
    2472.         .byte        7                       # Abbrev [7] 0x313:0x33 DW_TAG_inlined_subroutine
    2473.         .long        195                     # DW_AT_abstract_origin
    2474.         .secrel32        .Ldebug_ranges5 # DW_AT_ranges
    2475.         .byte        5                       # DW_AT_call_file
    2476.         .short        793                     # DW_AT_call_line
    2477.         .byte        13                      # DW_AT_call_column
    2478.         .byte        13                      # Abbrev [13] 0x320:0xc DW_TAG_inlined_subroutine
    2479.         .long        183                     # DW_AT_abstract_origin
    2480.         .secrel32        .Ldebug_ranges6 # DW_AT_ranges
    2481.         .byte        6                       # DW_AT_call_file
    2482.         .byte        79                      # DW_AT_call_line
    2483.         .byte        13                      # DW_AT_call_column
    2484.         .byte        9                       # Abbrev [9] 0x32c:0x19 DW_TAG_inlined_subroutine
    2485.         .long        232                     # DW_AT_abstract_origin
    2486.         .secrel32        .Ldebug_ranges7 # DW_AT_ranges
    2487.         .byte        6                       # DW_AT_call_file
    2488.         .byte        85                      # DW_AT_call_line
    2489.         .byte        13                      # DW_AT_call_column
    2490.         .byte        13                      # Abbrev [13] 0x338:0xc DW_TAG_inlined_subroutine
    2491.         .long        220                     # DW_AT_abstract_origin
    2492.         .secrel32        .Ldebug_ranges8 # DW_AT_ranges
    2493.         .byte        14                      # DW_AT_call_file
    2494.         .byte        68                      # DW_AT_call_line
    2495.         .byte        13                      # DW_AT_call_column
    2496.         .byte        0                       # End Of Children Mark
    2497.         .byte        0                       # End Of Children Mark
    2498.         .byte        0                       # End Of Children Mark
    2499.         .byte        14                      # Abbrev [14] 0x347:0x14 DW_TAG_inlined_subroutine
    2500.         .long        244                     # DW_AT_abstract_origin
    2501.         .quad        .Ltmp25                 # DW_AT_low_pc
    2502.         .long        .Ltmp26-.Ltmp25         # DW_AT_high_pc
    2503.         .byte        3                       # DW_AT_call_file
    2504.         .byte        82                      # DW_AT_call_line
    2505.         .byte        17                      # DW_AT_call_column
    2506.         .byte        0                       # End Of Children Mark
    2507.         .byte        7                       # Abbrev [7] 0x35c:0x40 DW_TAG_inlined_subroutine
    2508.         .long        65                      # DW_AT_abstract_origin
    2509.         .secrel32        .Ldebug_ranges9 # DW_AT_ranges
    2510.         .byte        2                       # DW_AT_call_file
    2511.         .short        300                     # DW_AT_call_line
    2512.         .byte        17                      # DW_AT_call_column
    2513.         .byte        6                       # Abbrev [6] 0x369:0x32 DW_TAG_inlined_subroutine
    2514.         .long        55                      # DW_AT_abstract_origin
    2515.         .secrel32        .Ldebug_ranges10 # DW_AT_ranges
    2516.         .byte        1                       # DW_AT_call_file
    2517.         .byte        0                       # DW_AT_call_line
    2518.         .byte        8                       # Abbrev [8] 0x374:0x13 DW_TAG_inlined_subroutine
    2519.         .long        75                      # DW_AT_abstract_origin
    2520.         .quad        .Ltmp28                 # DW_AT_low_pc
    2521.         .long        .Ltmp29-.Ltmp28         # DW_AT_high_pc
    2522.         .byte        1                       # DW_AT_call_file
    2523.         .byte        0                       # DW_AT_call_line
    2524.         .byte        8                       # Abbrev [8] 0x387:0x13 DW_TAG_inlined_subroutine
    2525.         .long        485                     # DW_AT_abstract_origin
    2526.         .quad        .Ltmp128                # DW_AT_low_pc
    2527.         .long        .Ltmp129-.Ltmp128       # DW_AT_high_pc
    2528.         .byte        1                       # DW_AT_call_file
    2529.         .byte        0                       # DW_AT_call_line
    2530.         .byte        0                       # End Of Children Mark
    2531.         .byte        0                       # End Of Children Mark
    2532.         .byte        7                       # Abbrev [7] 0x39c:0xf7 DW_TAG_inlined_subroutine
    2533.         .long        256                     # DW_AT_abstract_origin
    2534.         .secrel32        .Ldebug_ranges11 # DW_AT_ranges
    2535.         .byte        2                       # DW_AT_call_file
    2536.         .short        300                     # DW_AT_call_line
    2537.         .byte        17                      # DW_AT_call_column
    2538.         .byte        9                       # Abbrev [9] 0x3a9:0x20 DW_TAG_inlined_subroutine
    2539.         .long        97                      # DW_AT_abstract_origin
    2540.         .secrel32        .Ldebug_ranges12 # DW_AT_ranges
    2541.         .byte        3                       # DW_AT_call_file
    2542.         .byte        73                      # DW_AT_call_line
    2543.         .byte        17                      # DW_AT_call_column
    2544.         .byte        8                       # Abbrev [8] 0x3b5:0x13 DW_TAG_inlined_subroutine
    2545.         .long        75                      # DW_AT_abstract_origin
    2546.         .quad        .Ltmp35                 # DW_AT_low_pc
    2547.         .long        .Ltmp36-.Ltmp35         # DW_AT_high_pc
    2548.         .byte        1                       # DW_AT_call_file
    2549.         .byte        0                       # DW_AT_call_line
    2550.         .byte        0                       # End Of Children Mark
    2551.         .byte        10                      # Abbrev [10] 0x3c9:0x81 DW_TAG_inlined_subroutine
    2552.         .long        158                     # DW_AT_abstract_origin
    2553.         .quad        .Ltmp36                 # DW_AT_low_pc
    2554.         .long        .Ltmp42-.Ltmp36         # DW_AT_high_pc
    2555.         .byte        3                       # DW_AT_call_file
    2556.         .byte        75                      # DW_AT_call_line
    2557.         .byte        17                      # DW_AT_call_column
    2558.         .byte        11                      # Abbrev [11] 0x3dd:0x6c DW_TAG_inlined_subroutine
    2559.         .long        145                     # DW_AT_abstract_origin
    2560.         .quad        .Ltmp36                 # DW_AT_low_pc
    2561.         .long        .Ltmp42-.Ltmp36         # DW_AT_high_pc
    2562.         .byte        4                       # DW_AT_call_file
    2563.         .short        280                     # DW_AT_call_line
    2564.         .byte        13                      # DW_AT_call_column
    2565.         .byte        11                      # Abbrev [11] 0x3f2:0x56 DW_TAG_inlined_subroutine
    2566.         .long        132                     # DW_AT_abstract_origin
    2567.         .quad        .Ltmp36                 # DW_AT_low_pc
    2568.         .long        .Ltmp41-.Ltmp36         # DW_AT_high_pc
    2569.         .byte        4                       # DW_AT_call_file
    2570.         .short        268                     # DW_AT_call_line
    2571.         .byte        13                      # DW_AT_call_column
    2572.         .byte        11                      # Abbrev [11] 0x407:0x2b DW_TAG_inlined_subroutine
    2573.         .long        119                     # DW_AT_abstract_origin
    2574.         .quad        .Ltmp36                 # DW_AT_low_pc
    2575.         .long        .Ltmp38-.Ltmp36         # DW_AT_high_pc
    2576.         .byte        5                       # DW_AT_call_file
    2577.         .short        674                     # DW_AT_call_line
    2578.         .byte        13                      # DW_AT_call_column
    2579.         .byte        12                      # Abbrev [12] 0x41c:0x15 DW_TAG_inlined_subroutine
    2580.         .long        107                     # DW_AT_abstract_origin
    2581.         .quad        .Ltmp36                 # DW_AT_low_pc
    2582.         .long        .Ltmp37-.Ltmp36         # DW_AT_high_pc
    2583.         .byte        5                       # DW_AT_call_file
    2584.         .short        645                     # DW_AT_call_line
    2585.         .byte        13                      # DW_AT_call_column
    2586.         .byte        0                       # End Of Children Mark
    2587.         .byte        12                      # Abbrev [12] 0x432:0x15 DW_TAG_inlined_subroutine
    2588.         .long        171                     # DW_AT_abstract_origin
    2589.         .quad        .Ltmp39                 # DW_AT_low_pc
    2590.         .long        .Ltmp40-.Ltmp39         # DW_AT_high_pc
    2591.         .byte        5                       # DW_AT_call_file
    2592.         .short        678                     # DW_AT_call_line
    2593.         .byte        13                      # DW_AT_call_column
    2594.         .byte        0                       # End Of Children Mark
    2595.         .byte        0                       # End Of Children Mark
    2596.         .byte        0                       # End Of Children Mark
    2597.         .byte        10                      # Abbrev [10] 0x44a:0x48 DW_TAG_inlined_subroutine
    2598.         .long        207                     # DW_AT_abstract_origin
    2599.         .quad        .Ltmp43                 # DW_AT_low_pc
    2600.         .long        .Ltmp51-.Ltmp43         # DW_AT_high_pc
    2601.         .byte        3                       # DW_AT_call_file
    2602.         .byte        79                      # DW_AT_call_line
    2603.         .byte        17                      # DW_AT_call_column
    2604.         .byte        7                       # Abbrev [7] 0x45e:0x33 DW_TAG_inlined_subroutine
    2605.         .long        195                     # DW_AT_abstract_origin
    2606.         .secrel32        .Ldebug_ranges13 # DW_AT_ranges
    2607.         .byte        5                       # DW_AT_call_file
    2608.         .short        793                     # DW_AT_call_line
    2609.         .byte        13                      # DW_AT_call_column
    2610.         .byte        13                      # Abbrev [13] 0x46b:0xc DW_TAG_inlined_subroutine
    2611.         .long        183                     # DW_AT_abstract_origin
    2612.         .secrel32        .Ldebug_ranges14 # DW_AT_ranges
    2613.         .byte        6                       # DW_AT_call_file
    2614.         .byte        79                      # DW_AT_call_line
    2615.         .byte        13                      # DW_AT_call_column
    2616.         .byte        9                       # Abbrev [9] 0x477:0x19 DW_TAG_inlined_subroutine
    2617.         .long        232                     # DW_AT_abstract_origin
    2618.         .secrel32        .Ldebug_ranges15 # DW_AT_ranges
    2619.         .byte        6                       # DW_AT_call_file
    2620.         .byte        85                      # DW_AT_call_line
    2621.         .byte        13                      # DW_AT_call_column
    2622.         .byte        13                      # Abbrev [13] 0x483:0xc DW_TAG_inlined_subroutine
    2623.         .long        220                     # DW_AT_abstract_origin
    2624.         .secrel32        .Ldebug_ranges16 # DW_AT_ranges
    2625.         .byte        14                      # DW_AT_call_file
    2626.         .byte        68                      # DW_AT_call_line
    2627.         .byte        13                      # DW_AT_call_column
    2628.         .byte        0                       # End Of Children Mark
    2629.         .byte        0                       # End Of Children Mark
    2630.         .byte        0                       # End Of Children Mark
    2631.         .byte        0                       # End Of Children Mark
    2632.         .byte        7                       # Abbrev [7] 0x493:0x10e DW_TAG_inlined_subroutine
    2633.         .long        280                     # DW_AT_abstract_origin
    2634.         .secrel32        .Ldebug_ranges17 # DW_AT_ranges
    2635.         .byte        2                       # DW_AT_call_file
    2636.         .short        311                     # DW_AT_call_line
    2637.         .byte        29                      # DW_AT_call_column
    2638.         .byte        13                      # Abbrev [13] 0x4a0:0xc DW_TAG_inlined_subroutine
    2639.         .long        268                     # DW_AT_abstract_origin
    2640.         .secrel32        .Ldebug_ranges18 # DW_AT_ranges
    2641.         .byte        8                       # DW_AT_call_file
    2642.         .byte        169                     # DW_AT_call_line
    2643.         .byte        17                      # DW_AT_call_column
    2644.         .byte        10                      # Abbrev [10] 0x4ac:0x65 DW_TAG_inlined_subroutine
    2645.         .long        414                     # DW_AT_abstract_origin
    2646.         .quad        .Ltmp84                 # DW_AT_low_pc
    2647.         .long        .Ltmp89-.Ltmp84         # DW_AT_high_pc
    2648.         .byte        8                       # DW_AT_call_file
    2649.         .byte        167                     # DW_AT_call_line
    2650.         .byte        17                      # DW_AT_call_column
    2651.         .byte        10                      # Abbrev [10] 0x4c0:0x28 DW_TAG_inlined_subroutine
    2652.         .long        97                      # DW_AT_abstract_origin
    2653.         .quad        .Ltmp84                 # DW_AT_low_pc
    2654.         .long        .Ltmp86-.Ltmp84         # DW_AT_high_pc
    2655.         .byte        8                       # DW_AT_call_file
    2656.         .byte        133                     # DW_AT_call_line
    2657.         .byte        13                      # DW_AT_call_column
    2658.         .byte        8                       # Abbrev [8] 0x4d4:0x13 DW_TAG_inlined_subroutine
    2659.         .long        75                      # DW_AT_abstract_origin
    2660.         .quad        .Ltmp85                 # DW_AT_low_pc
    2661.         .long        .Ltmp86-.Ltmp85         # DW_AT_high_pc
    2662.         .byte        1                       # DW_AT_call_file
    2663.         .byte        0                       # DW_AT_call_line
    2664.         .byte        0                       # End Of Children Mark
    2665.         .byte        10                      # Abbrev [10] 0x4e8:0x28 DW_TAG_inlined_subroutine
    2666.         .long        97                      # DW_AT_abstract_origin
    2667.         .quad        .Ltmp87                 # DW_AT_low_pc
    2668.         .long        .Ltmp89-.Ltmp87         # DW_AT_high_pc
    2669.         .byte        8                       # DW_AT_call_file
    2670.         .byte        134                     # DW_AT_call_line
    2671.         .byte        13                      # DW_AT_call_column
    2672.         .byte        8                       # Abbrev [8] 0x4fc:0x13 DW_TAG_inlined_subroutine
    2673.         .long        75                      # DW_AT_abstract_origin
    2674.         .quad        .Ltmp88                 # DW_AT_low_pc
    2675.         .long        .Ltmp89-.Ltmp88         # DW_AT_high_pc
    2676.         .byte        1                       # DW_AT_call_file
    2677.         .byte        0                       # DW_AT_call_line
    2678.         .byte        0                       # End Of Children Mark
    2679.         .byte        0                       # End Of Children Mark
    2680.         .byte        10                      # Abbrev [10] 0x511:0x8f DW_TAG_inlined_subroutine
    2681.         .long        438                     # DW_AT_abstract_origin
    2682.         .quad        .Ltmp89                 # DW_AT_low_pc
    2683.         .long        .Ltmp96-.Ltmp89         # DW_AT_high_pc
    2684.         .byte        8                       # DW_AT_call_file
    2685.         .byte        168                     # DW_AT_call_line
    2686.         .byte        17                      # DW_AT_call_column
    2687.         .byte        10                      # Abbrev [10] 0x525:0x7a DW_TAG_inlined_subroutine
    2688.         .long        426                     # DW_AT_abstract_origin
    2689.         .quad        .Ltmp89                 # DW_AT_low_pc
    2690.         .long        .Ltmp95-.Ltmp89         # DW_AT_high_pc
    2691.         .byte        8                       # DW_AT_call_file
    2692.         .byte        124                     # DW_AT_call_line
    2693.         .byte        13                      # DW_AT_call_column
    2694.         .byte        10                      # Abbrev [10] 0x539:0x65 DW_TAG_inlined_subroutine
    2695.         .long        414                     # DW_AT_abstract_origin
    2696.         .quad        .Ltmp89                 # DW_AT_low_pc
    2697.         .long        .Ltmp94-.Ltmp89         # DW_AT_high_pc
    2698.         .byte        8                       # DW_AT_call_file
    2699.         .byte        72                      # DW_AT_call_line
    2700.         .byte        17                      # DW_AT_call_column
    2701.         .byte        10                      # Abbrev [10] 0x54d:0x28 DW_TAG_inlined_subroutine
    2702.         .long        97                      # DW_AT_abstract_origin
    2703.         .quad        .Ltmp89                 # DW_AT_low_pc
    2704.         .long        .Ltmp91-.Ltmp89         # DW_AT_high_pc
    2705.         .byte        8                       # DW_AT_call_file
    2706.         .byte        133                     # DW_AT_call_line
    2707.         .byte        13                      # DW_AT_call_column
    2708.         .byte        8                       # Abbrev [8] 0x561:0x13 DW_TAG_inlined_subroutine
    2709.         .long        75                      # DW_AT_abstract_origin
    2710.         .quad        .Ltmp90                 # DW_AT_low_pc
    2711.         .long        .Ltmp91-.Ltmp90         # DW_AT_high_pc
    2712.         .byte        1                       # DW_AT_call_file
    2713.         .byte        0                       # DW_AT_call_line
    2714.         .byte        0                       # End Of Children Mark
    2715.         .byte        10                      # Abbrev [10] 0x575:0x28 DW_TAG_inlined_subroutine
    2716.         .long        97                      # DW_AT_abstract_origin
    2717.         .quad        .Ltmp92                 # DW_AT_low_pc
    2718.         .long        .Ltmp94-.Ltmp92         # DW_AT_high_pc
    2719.         .byte        8                       # DW_AT_call_file
    2720.         .byte        134                     # DW_AT_call_line
    2721.         .byte        13                      # DW_AT_call_column
    2722.         .byte        8                       # Abbrev [8] 0x589:0x13 DW_TAG_inlined_subroutine
    2723.         .long        75                      # DW_AT_abstract_origin
    2724.         .quad        .Ltmp93                 # DW_AT_low_pc
    2725.         .long        .Ltmp94-.Ltmp93         # DW_AT_high_pc
    2726.         .byte        1                       # DW_AT_call_file
    2727.         .byte        0                       # DW_AT_call_line
    2728.         .byte        0                       # End Of Children Mark
    2729.         .byte        0                       # End Of Children Mark
    2730.         .byte        0                       # End Of Children Mark
    2731.         .byte        0                       # End Of Children Mark
    2732.         .byte        0                       # End Of Children Mark
    2733.         .byte        11                      # Abbrev [11] 0x5a1:0x6b DW_TAG_inlined_subroutine
    2734.         .long        304                     # DW_AT_abstract_origin
    2735.         .quad        .Ltmp54                 # DW_AT_low_pc
    2736.         .long        .Ltmp64-.Ltmp54         # DW_AT_high_pc
    2737.         .byte        2                       # DW_AT_call_file
    2738.         .short        301                     # DW_AT_call_line
    2739.         .byte        34                      # DW_AT_call_column
    2740.         .byte        10                      # Abbrev [10] 0x5b6:0x55 DW_TAG_inlined_subroutine
    2741.         .long        292                     # DW_AT_abstract_origin
    2742.         .quad        .Ltmp54                 # DW_AT_low_pc
    2743.         .long        .Ltmp63-.Ltmp54         # DW_AT_high_pc
    2744.         .byte        8                       # DW_AT_call_file
    2745.         .byte        72                      # DW_AT_call_line
    2746.         .byte        17                      # DW_AT_call_column
    2747.         .byte        9                       # Abbrev [9] 0x5ca:0x20 DW_TAG_inlined_subroutine
    2748.         .long        97                      # DW_AT_abstract_origin
    2749.         .secrel32        .Ldebug_ranges19 # DW_AT_ranges
    2750.         .byte        8                       # DW_AT_call_file
    2751.         .byte        133                     # DW_AT_call_line
    2752.         .byte        13                      # DW_AT_call_column
    2753.         .byte        8                       # Abbrev [8] 0x5d6:0x13 DW_TAG_inlined_subroutine
    2754.         .long        75                      # DW_AT_abstract_origin
    2755.         .quad        .Ltmp58                 # DW_AT_low_pc
    2756.         .long        .Ltmp59-.Ltmp58         # DW_AT_high_pc
    2757.         .byte        1                       # DW_AT_call_file
    2758.         .byte        0                       # DW_AT_call_line
    2759.         .byte        0                       # End Of Children Mark
    2760.         .byte        9                       # Abbrev [9] 0x5ea:0x20 DW_TAG_inlined_subroutine
    2761.         .long        97                      # DW_AT_abstract_origin
    2762.         .secrel32        .Ldebug_ranges20 # DW_AT_ranges
    2763.         .byte        8                       # DW_AT_call_file
    2764.         .byte        134                     # DW_AT_call_line
    2765.         .byte        13                      # DW_AT_call_column
    2766.         .byte        8                       # Abbrev [8] 0x5f6:0x13 DW_TAG_inlined_subroutine
    2767.         .long        75                      # DW_AT_abstract_origin
    2768.         .quad        .Ltmp62                 # DW_AT_low_pc
    2769.         .long        .Ltmp63-.Ltmp62         # DW_AT_high_pc
    2770.         .byte        1                       # DW_AT_call_file
    2771.         .byte        0                       # DW_AT_call_line
    2772.         .byte        0                       # End Of Children Mark
    2773.         .byte        0                       # End Of Children Mark
    2774.         .byte        0                       # End Of Children Mark
    2775.         .byte        12                      # Abbrev [12] 0x60c:0x15 DW_TAG_inlined_subroutine
    2776.         .long        316                     # DW_AT_abstract_origin
    2777.         .quad        .Ltmp65                 # DW_AT_low_pc
    2778.         .long        .Ltmp66-.Ltmp65         # DW_AT_high_pc
    2779.         .byte        2                       # DW_AT_call_file
    2780.         .short        307                     # DW_AT_call_line
    2781.         .byte        25                      # DW_AT_call_column
    2782.         .byte        12                      # Abbrev [12] 0x621:0x15 DW_TAG_inlined_subroutine
    2783.         .long        328                     # DW_AT_abstract_origin
    2784.         .quad        .Ltmp66                 # DW_AT_low_pc
    2785.         .long        .Ltmp67-.Ltmp66         # DW_AT_high_pc
    2786.         .byte        2                       # DW_AT_call_file
    2787.         .short        308                     # DW_AT_call_line
    2788.         .byte        25                      # DW_AT_call_column
    2789.         .byte        7                       # Abbrev [7] 0x636:0x88 DW_TAG_inlined_subroutine
    2790.         .long        402                     # DW_AT_abstract_origin
    2791.         .secrel32        .Ldebug_ranges21 # DW_AT_ranges
    2792.         .byte        2                       # DW_AT_call_file
    2793.         .short        318                     # DW_AT_call_line
    2794.         .byte        29                      # DW_AT_call_column
    2795.         .byte        7                       # Abbrev [7] 0x643:0x65 DW_TAG_inlined_subroutine
    2796.         .long        389                     # DW_AT_abstract_origin
    2797.         .secrel32        .Ldebug_ranges22 # DW_AT_ranges
    2798.         .byte        12                      # DW_AT_call_file
    2799.         .short        259                     # DW_AT_call_line
    2800.         .byte        13                      # DW_AT_call_column
    2801.         .byte        7                       # Abbrev [7] 0x650:0x57 DW_TAG_inlined_subroutine
    2802.         .long        377                     # DW_AT_abstract_origin
    2803.         .secrel32        .Ldebug_ranges23 # DW_AT_ranges
    2804.         .byte        11                      # DW_AT_call_file
    2805.         .short        410                     # DW_AT_call_line
    2806.         .byte        17                      # DW_AT_call_column
    2807.         .byte        9                       # Abbrev [9] 0x65d:0x49 DW_TAG_inlined_subroutine
    2808.         .long        365                     # DW_AT_abstract_origin
    2809.         .secrel32        .Ldebug_ranges24 # DW_AT_ranges
    2810.         .byte        11                      # DW_AT_call_file
    2811.         .byte        237                     # DW_AT_call_line
    2812.         .byte        13                      # DW_AT_call_column
    2813.         .byte        9                       # Abbrev [9] 0x669:0x3c DW_TAG_inlined_subroutine
    2814.         .long        352                     # DW_AT_abstract_origin
    2815.         .secrel32        .Ldebug_ranges25 # DW_AT_ranges
    2816.         .byte        11                      # DW_AT_call_file
    2817.         .byte        215                     # DW_AT_call_line
    2818.         .byte        17                      # DW_AT_call_column
    2819.         .byte        7                       # Abbrev [7] 0x675:0x1a DW_TAG_inlined_subroutine
    2820.         .long        340                     # DW_AT_abstract_origin
    2821.         .secrel32        .Ldebug_ranges26 # DW_AT_ranges
    2822.         .byte        11                      # DW_AT_call_file
    2823.         .short        284                     # DW_AT_call_line
    2824.         .byte        13                      # DW_AT_call_column
    2825.         .byte        13                      # Abbrev [13] 0x682:0xc DW_TAG_inlined_subroutine
    2826.         .long        473                     # DW_AT_abstract_origin
    2827.         .secrel32        .Ldebug_ranges27 # DW_AT_ranges
    2828.         .byte        11                      # DW_AT_call_file
    2829.         .byte        251                     # DW_AT_call_line
    2830.         .byte        13                      # DW_AT_call_column
    2831.         .byte        0                       # End Of Children Mark
    2832.         .byte        12                      # Abbrev [12] 0x68f:0x15 DW_TAG_inlined_subroutine
    2833.         .long        460                     # DW_AT_abstract_origin
    2834.         .quad        .Ltmp116                # DW_AT_low_pc
    2835.         .long        .Ltmp117-.Ltmp116       # DW_AT_high_pc
    2836.         .byte        11                      # DW_AT_call_file
    2837.         .short        277                     # DW_AT_call_line
    2838.         .byte        13                      # DW_AT_call_column
    2839.         .byte        0                       # End Of Children Mark
    2840.         .byte        0                       # End Of Children Mark
    2841.         .byte        0                       # End Of Children Mark
    2842.         .byte        0                       # End Of Children Mark
    2843.         .byte        12                      # Abbrev [12] 0x6a8:0x15 DW_TAG_inlined_subroutine
    2844.         .long        450                     # DW_AT_abstract_origin
    2845.         .quad        .Ltmp112                # DW_AT_low_pc
    2846.         .long        .Ltmp113-.Ltmp112       # DW_AT_high_pc
    2847.         .byte        12                      # DW_AT_call_file
    2848.         .short        257                     # DW_AT_call_line
    2849.         .byte        13                      # DW_AT_call_column
    2850.         .byte        0                       # End Of Children Mark
    2851.         .byte        11                      # Abbrev [11] 0x6be:0x6b DW_TAG_inlined_subroutine
    2852.         .long        304                     # DW_AT_abstract_origin
    2853.         .quad        .Ltmp70                 # DW_AT_low_pc
    2854.         .long        .Ltmp79-.Ltmp70         # DW_AT_high_pc
    2855.         .byte        2                       # DW_AT_call_file
    2856.         .short        304                     # DW_AT_call_line
    2857.         .byte        42                      # DW_AT_call_column
    2858.         .byte        10                      # Abbrev [10] 0x6d3:0x55 DW_TAG_inlined_subroutine
    2859.         .long        292                     # DW_AT_abstract_origin
    2860.         .quad        .Ltmp70                 # DW_AT_low_pc
    2861.         .long        .Ltmp78-.Ltmp70         # DW_AT_high_pc
    2862.         .byte        8                       # DW_AT_call_file
    2863.         .byte        72                      # DW_AT_call_line
    2864.         .byte        17                      # DW_AT_call_column
    2865.         .byte        9                       # Abbrev [9] 0x6e7:0x20 DW_TAG_inlined_subroutine
    2866.         .long        97                      # DW_AT_abstract_origin
    2867.         .secrel32        .Ldebug_ranges28 # DW_AT_ranges
    2868.         .byte        8                       # DW_AT_call_file
    2869.         .byte        133                     # DW_AT_call_line
    2870.         .byte        13                      # DW_AT_call_column
    2871.         .byte        8                       # Abbrev [8] 0x6f3:0x13 DW_TAG_inlined_subroutine
    2872.         .long        75                      # DW_AT_abstract_origin
    2873.         .quad        .Ltmp73                 # DW_AT_low_pc
    2874.         .long        .Ltmp74-.Ltmp73         # DW_AT_high_pc
    2875.         .byte        1                       # DW_AT_call_file
    2876.         .byte        0                       # DW_AT_call_line
    2877.         .byte        0                       # End Of Children Mark
    2878.         .byte        9                       # Abbrev [9] 0x707:0x20 DW_TAG_inlined_subroutine
    2879.         .long        97                      # DW_AT_abstract_origin
    2880.         .secrel32        .Ldebug_ranges29 # DW_AT_ranges
    2881.         .byte        8                       # DW_AT_call_file
    2882.         .byte        134                     # DW_AT_call_line
    2883.         .byte        13                      # DW_AT_call_column
    2884.         .byte        8                       # Abbrev [8] 0x713:0x13 DW_TAG_inlined_subroutine
    2885.         .long        75                      # DW_AT_abstract_origin
    2886.         .quad        .Ltmp77                 # DW_AT_low_pc
    2887.         .long        .Ltmp78-.Ltmp77         # DW_AT_high_pc
    2888.         .byte        1                       # DW_AT_call_file
    2889.         .byte        0                       # DW_AT_call_line
    2890.         .byte        0                       # End Of Children Mark
    2891.         .byte        0                       # End Of Children Mark
    2892.         .byte        0                       # End Of Children Mark
    2893.         .byte        12                      # Abbrev [12] 0x729:0x15 DW_TAG_inlined_subroutine
    2894.         .long        328                     # DW_AT_abstract_origin
    2895.         .quad        .Ltmp80                 # DW_AT_low_pc
    2896.         .long        .Ltmp81-.Ltmp80         # DW_AT_high_pc
    2897.         .byte        2                       # DW_AT_call_file
    2898.         .short        307                     # DW_AT_call_line
    2899.         .byte        25                      # DW_AT_call_column
    2900.         .byte        12                      # Abbrev [12] 0x73e:0x15 DW_TAG_inlined_subroutine
    2901.         .long        316                     # DW_AT_abstract_origin
    2902.         .quad        .Ltmp82                 # DW_AT_low_pc
    2903.         .long        .Ltmp83-.Ltmp82         # DW_AT_high_pc
    2904.         .byte        2                       # DW_AT_call_file
    2905.         .short        308                     # DW_AT_call_line
    2906.         .byte        25                      # DW_AT_call_column
    2907.         .byte        11                      # Abbrev [11] 0x753:0x11e DW_TAG_inlined_subroutine
    2908.         .long        280                     # DW_AT_abstract_origin
    2909.         .quad        .Ltmp98                 # DW_AT_low_pc
    2910.         .long        .Ltmp111-.Ltmp98        # DW_AT_high_pc
    2911.         .byte        2                       # DW_AT_call_file
    2912.         .short        311                     # DW_AT_call_line
    2913.         .byte        29                      # DW_AT_call_column
    2914.         .byte        10                      # Abbrev [10] 0x768:0x65 DW_TAG_inlined_subroutine
    2915.         .long        414                     # DW_AT_abstract_origin
    2916.         .quad        .Ltmp98                 # DW_AT_low_pc
    2917.         .long        .Ltmp103-.Ltmp98        # DW_AT_high_pc
    2918.         .byte        8                       # DW_AT_call_file
    2919.         .byte        167                     # DW_AT_call_line
    2920.         .byte        17                      # DW_AT_call_column
    2921.         .byte        10                      # Abbrev [10] 0x77c:0x28 DW_TAG_inlined_subroutine
    2922.         .long        97                      # DW_AT_abstract_origin
    2923.         .quad        .Ltmp98                 # DW_AT_low_pc
    2924.         .long        .Ltmp100-.Ltmp98        # DW_AT_high_pc
    2925.         .byte        8                       # DW_AT_call_file
    2926.         .byte        133                     # DW_AT_call_line
    2927.         .byte        13                      # DW_AT_call_column
    2928.         .byte        8                       # Abbrev [8] 0x790:0x13 DW_TAG_inlined_subroutine
    2929.         .long        75                      # DW_AT_abstract_origin
    2930.         .quad        .Ltmp99                 # DW_AT_low_pc
    2931.         .long        .Ltmp100-.Ltmp99        # DW_AT_high_pc
    2932.         .byte        1                       # DW_AT_call_file
    2933.         .byte        0                       # DW_AT_call_line
    2934.         .byte        0                       # End Of Children Mark
    2935.         .byte        10                      # Abbrev [10] 0x7a4:0x28 DW_TAG_inlined_subroutine
    2936.         .long        97                      # DW_AT_abstract_origin
    2937.         .quad        .Ltmp101                # DW_AT_low_pc
    2938.         .long        .Ltmp103-.Ltmp101       # DW_AT_high_pc
    2939.         .byte        8                       # DW_AT_call_file
    2940.         .byte        134                     # DW_AT_call_line
    2941.         .byte        13                      # DW_AT_call_column
    2942.         .byte        8                       # Abbrev [8] 0x7b8:0x13 DW_TAG_inlined_subroutine
    2943.         .long        75                      # DW_AT_abstract_origin
    2944.         .quad        .Ltmp102                # DW_AT_low_pc
    2945.         .long        .Ltmp103-.Ltmp102       # DW_AT_high_pc
    2946.         .byte        1                       # DW_AT_call_file
    2947.         .byte        0                       # DW_AT_call_line
    2948.         .byte        0                       # End Of Children Mark
    2949.         .byte        0                       # End Of Children Mark
    2950.         .byte        10                      # Abbrev [10] 0x7cd:0x8f DW_TAG_inlined_subroutine
    2951.         .long        438                     # DW_AT_abstract_origin
    2952.         .quad        .Ltmp103                # DW_AT_low_pc
    2953.         .long        .Ltmp109-.Ltmp103       # DW_AT_high_pc
    2954.         .byte        8                       # DW_AT_call_file
    2955.         .byte        168                     # DW_AT_call_line
    2956.         .byte        17                      # DW_AT_call_column
    2957.         .byte        10                      # Abbrev [10] 0x7e1:0x7a DW_TAG_inlined_subroutine
    2958.         .long        426                     # DW_AT_abstract_origin
    2959.         .quad        .Ltmp103                # DW_AT_low_pc
    2960.         .long        .Ltmp108-.Ltmp103       # DW_AT_high_pc
    2961.         .byte        8                       # DW_AT_call_file
    2962.         .byte        124                     # DW_AT_call_line
    2963.         .byte        13                      # DW_AT_call_column
    2964.         .byte        10                      # Abbrev [10] 0x7f5:0x65 DW_TAG_inlined_subroutine
    2965.         .long        414                     # DW_AT_abstract_origin
    2966.         .quad        .Ltmp103                # DW_AT_low_pc
    2967.         .long        .Ltmp108-.Ltmp103       # DW_AT_high_pc
    2968.         .byte        8                       # DW_AT_call_file
    2969.         .byte        72                      # DW_AT_call_line
    2970.         .byte        17                      # DW_AT_call_column
    2971.         .byte        10                      # Abbrev [10] 0x809:0x28 DW_TAG_inlined_subroutine
    2972.         .long        97                      # DW_AT_abstract_origin
    2973.         .quad        .Ltmp103                # DW_AT_low_pc
    2974.         .long        .Ltmp105-.Ltmp103       # DW_AT_high_pc
    2975.         .byte        8                       # DW_AT_call_file
    2976.         .byte        133                     # DW_AT_call_line
    2977.         .byte        13                      # DW_AT_call_column
    2978.         .byte        8                       # Abbrev [8] 0x81d:0x13 DW_TAG_inlined_subroutine
    2979.         .long        75                      # DW_AT_abstract_origin
    2980.         .quad        .Ltmp104                # DW_AT_low_pc
    2981.         .long        .Ltmp105-.Ltmp104       # DW_AT_high_pc
    2982.         .byte        1                       # DW_AT_call_file
    2983.         .byte        0                       # DW_AT_call_line
    2984.         .byte        0                       # End Of Children Mark
    2985.         .byte        10                      # Abbrev [10] 0x831:0x28 DW_TAG_inlined_subroutine
    2986.         .long        97                      # DW_AT_abstract_origin
    2987.         .quad        .Ltmp106                # DW_AT_low_pc
    2988.         .long        .Ltmp108-.Ltmp106       # DW_AT_high_pc
    2989.         .byte        8                       # DW_AT_call_file
    2990.         .byte        134                     # DW_AT_call_line
    2991.         .byte        13                      # DW_AT_call_column
    2992.         .byte        8                       # Abbrev [8] 0x845:0x13 DW_TAG_inlined_subroutine
    2993.         .long        75                      # DW_AT_abstract_origin
    2994.         .quad        .Ltmp107                # DW_AT_low_pc
    2995.         .long        .Ltmp108-.Ltmp107       # DW_AT_high_pc
    2996.         .byte        1                       # DW_AT_call_file
    2997.         .byte        0                       # DW_AT_call_line
    2998.         .byte        0                       # End Of Children Mark
    2999.         .byte        0                       # End Of Children Mark
    3000.         .byte        0                       # End Of Children Mark
    3001.         .byte        0                       # End Of Children Mark
    3002.         .byte        14                      # Abbrev [14] 0x85c:0x14 DW_TAG_inlined_subroutine
    3003.         .long        268                     # DW_AT_abstract_origin
    3004.         .quad        .Ltmp109                # DW_AT_low_pc
    3005.         .long        .Ltmp110-.Ltmp109       # DW_AT_high_pc
    3006.         .byte        8                       # DW_AT_call_file
    3007.         .byte        169                     # DW_AT_call_line
    3008.         .byte        17                      # DW_AT_call_column
    3009.         .byte        0                       # End Of Children Mark
    3010.         .byte        0                       # End Of Children Mark
    3011.         .byte        0                       # End Of Children Mark
    3012.         .byte        4                       # Abbrev [4] 0x873:0xc DW_TAG_subprogram
    3013.         .secrel32        .Linfo_string40 # DW_AT_linkage_name
    3014.         .secrel32        .Linfo_string40 # DW_AT_name
    3015.         .byte        8                       # DW_AT_decl_file
    3016.         .byte        122                     # DW_AT_decl_line
    3017.                                         # DW_AT_external
    3018.         .byte        1                       # DW_AT_inline
    3019.         .byte        15                      # Abbrev [15] 0x87f:0xf2 DW_TAG_subprogram
    3020.         .quad        .Lfunc_begin1           # DW_AT_low_pc
    3021.         .long        .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc
    3022.         .byte        1                       # DW_AT_frame_base
    3023.         .byte        87
    3024.         .secrel32        .Linfo_string42 # DW_AT_linkage_name
    3025.         .secrel32        .Linfo_string42 # DW_AT_name
    3026.         .byte        8                       # DW_AT_decl_file
    3027.         .byte        166                     # DW_AT_decl_line
    3028.                                         # DW_AT_external
    3029.         .byte        10                      # Abbrev [10] 0x898:0x4d DW_TAG_inlined_subroutine
    3030.         .long        292                     # DW_AT_abstract_origin
    3031.         .quad        .Ltmp131                # DW_AT_low_pc
    3032.         .long        .Ltmp141-.Ltmp131       # DW_AT_high_pc
    3033.         .byte        8                       # DW_AT_call_file
    3034.         .byte        167                     # DW_AT_call_line
    3035.         .byte        17                      # DW_AT_call_column
    3036.         .byte        9                       # Abbrev [9] 0x8ac:0x20 DW_TAG_inlined_subroutine
    3037.         .long        97                      # DW_AT_abstract_origin
    3038.         .secrel32        .Ldebug_ranges30 # DW_AT_ranges
    3039.         .byte        8                       # DW_AT_call_file
    3040.         .byte        133                     # DW_AT_call_line
    3041.         .byte        13                      # DW_AT_call_column
    3042.         .byte        8                       # Abbrev [8] 0x8b8:0x13 DW_TAG_inlined_subroutine
    3043.         .long        75                      # DW_AT_abstract_origin
    3044.         .quad        .Ltmp136                # DW_AT_low_pc
    3045.         .long        .Ltmp137-.Ltmp136       # DW_AT_high_pc
    3046.         .byte        1                       # DW_AT_call_file
    3047.         .byte        0                       # DW_AT_call_line
    3048.         .byte        0                       # End Of Children Mark
    3049.         .byte        9                       # Abbrev [9] 0x8cc:0x18 DW_TAG_inlined_subroutine
    3050.         .long        97                      # DW_AT_abstract_origin
    3051.         .secrel32        .Ldebug_ranges31 # DW_AT_ranges
    3052.         .byte        8                       # DW_AT_call_file
    3053.         .byte        134                     # DW_AT_call_line
    3054.         .byte        13                      # DW_AT_call_column
    3055.         .byte        16                      # Abbrev [16] 0x8d8:0xb DW_TAG_inlined_subroutine
    3056.         .long        75                      # DW_AT_abstract_origin
    3057.         .secrel32        .Ldebug_ranges32 # DW_AT_ranges
    3058.         .byte        1                       # DW_AT_call_file
    3059.         .byte        0                       # DW_AT_call_line
    3060.         .byte        0                       # End Of Children Mark
    3061.         .byte        0                       # End Of Children Mark
    3062.         .byte        9                       # Abbrev [9] 0x8e5:0x77 DW_TAG_inlined_subroutine
    3063.         .long        2163                    # DW_AT_abstract_origin
    3064.         .secrel32        .Ldebug_ranges33 # DW_AT_ranges
    3065.         .byte        8                       # DW_AT_call_file
    3066.         .byte        168                     # DW_AT_call_line
    3067.         .byte        17                      # DW_AT_call_column
    3068.         .byte        10                      # Abbrev [10] 0x8f1:0x6a DW_TAG_inlined_subroutine
    3069.         .long        304                     # DW_AT_abstract_origin
    3070.         .quad        .Ltmp141                # DW_AT_low_pc
    3071.         .long        .Ltmp150-.Ltmp141       # DW_AT_high_pc
    3072.         .byte        8                       # DW_AT_call_file
    3073.         .byte        124                     # DW_AT_call_line
    3074.         .byte        13                      # DW_AT_call_column
    3075.         .byte        10                      # Abbrev [10] 0x905:0x55 DW_TAG_inlined_subroutine
    3076.         .long        292                     # DW_AT_abstract_origin
    3077.         .quad        .Ltmp141                # DW_AT_low_pc
    3078.         .long        .Ltmp149-.Ltmp141       # DW_AT_high_pc
    3079.         .byte        8                       # DW_AT_call_file
    3080.         .byte        72                      # DW_AT_call_line
    3081.         .byte        17                      # DW_AT_call_column
    3082.         .byte        9                       # Abbrev [9] 0x919:0x20 DW_TAG_inlined_subroutine
    3083.         .long        97                      # DW_AT_abstract_origin
    3084.         .secrel32        .Ldebug_ranges34 # DW_AT_ranges
    3085.         .byte        8                       # DW_AT_call_file
    3086.         .byte        133                     # DW_AT_call_line
    3087.         .byte        13                      # DW_AT_call_column
    3088.         .byte        8                       # Abbrev [8] 0x925:0x13 DW_TAG_inlined_subroutine
    3089.         .long        75                      # DW_AT_abstract_origin
    3090.         .quad        .Ltmp144                # DW_AT_low_pc
    3091.         .long        .Ltmp145-.Ltmp144       # DW_AT_high_pc
    3092.         .byte        1                       # DW_AT_call_file
    3093.         .byte        0                       # DW_AT_call_line
    3094.         .byte        0                       # End Of Children Mark
    3095.         .byte        9                       # Abbrev [9] 0x939:0x20 DW_TAG_inlined_subroutine
    3096.         .long        97                      # DW_AT_abstract_origin
    3097.         .secrel32        .Ldebug_ranges35 # DW_AT_ranges
    3098.         .byte        8                       # DW_AT_call_file
    3099.         .byte        134                     # DW_AT_call_line
    3100.         .byte        13                      # DW_AT_call_column
    3101.         .byte        8                       # Abbrev [8] 0x945:0x13 DW_TAG_inlined_subroutine
    3102.         .long        75                      # DW_AT_abstract_origin
    3103.         .quad        .Ltmp148                # DW_AT_low_pc
    3104.         .long        .Ltmp149-.Ltmp148       # DW_AT_high_pc
    3105.         .byte        1                       # DW_AT_call_file
    3106.         .byte        0                       # DW_AT_call_line
    3107.         .byte        0                       # End Of Children Mark
    3108.         .byte        0                       # End Of Children Mark
    3109.         .byte        0                       # End Of Children Mark
    3110.         .byte        0                       # End Of Children Mark
    3111.         .byte        14                      # Abbrev [14] 0x95c:0x14 DW_TAG_inlined_subroutine
    3112.         .long        268                     # DW_AT_abstract_origin
    3113.         .quad        .Ltmp151                # DW_AT_low_pc
    3114.         .long        .Ltmp152-.Ltmp151       # DW_AT_high_pc
    3115.         .byte        8                       # DW_AT_call_file
    3116.         .byte        169                     # DW_AT_call_line
    3117.         .byte        17                      # DW_AT_call_column
    3118.         .byte        0                       # End Of Children Mark
    3119.         .byte        0                       # End Of Children Mark
    3120. .Ldebug_info_end0:
    3121.         .section        .debug_ranges,"dr""dr"
    3122. .Ldebug_macinfo:
    3123.         .byte        0                       # End Of Macro List Mark
    3124.         .section        .debug_pubnames,"dr"
    3125.         .long        .LpubNames_end0-.LpubNames_begin0 # Length of Public Names Info
    3126. .LpubNames_begin0:
    3127.         .short        2                       # DWARF Version
    3128.         .secrel32        .Lcu_begin0     # Offset of Compilation Unit Info
    3129.         .long        2418                    # Compilation Unit Length
    3130.         .long        377                     # DIE offset
    3131.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeList.Resize<CollisionPair>(Unity.Collections.LowLevel.Unsafe.UnsafeList* this, int length, Unity.Collections.NativeArrayOptions options)_97A1338C8C284133" # External Name
    3132.         .long        244                     # DIE offset
    3133.         .asciz        "Unity.Entities.DynamicBuffer`1<ColliderList>..ctor(Unity.Entities.DynamicBuffer`1<ColliderList>* this, Unity.Entities.BufferHeader* header, Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle safety, Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle arrayInvalidationSafety, bool isReadOnly, bool useMemoryInitPattern, byte memoryInitPattern, int internalCapacity)_FE8E1CB23FDF3CF5" # External Name
    3134.         .long        119                     # DIE offset
    3135.         .asciz        "Unity.Entities.EntityComponentStore.Exists(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity)_CF2FB7E4A668074C" # External Name
    3136.         .long        145                     # DIE offset
    3137.         .asciz        "Unity.Entities.EntityComponentStore.AssertEntityHasComponent(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity, Unity.Entities.ComponentType componentType)_F328C7B3EA037EA0" # External Name
    3138.         .long        316                     # DIE offset
    3139.         .asciz        "Unity.Mathematics.AABB.get_Max(Unity.Mathematics.AABB* this)_CE35FF05C0E4A4FD" # External Name
    3140.         .long        2163                    # DIE offset
    3141.         .asciz        "Unity.Entities.DynamicBuffer`1<ColliderList>.CheckBounds(Unity.Entities.DynamicBuffer`1<ColliderList>* this, int index)_20E54419862E70B8" # External Name
    3142.         .long        171                     # DIE offset
    3143.         .asciz        "Unity.Entities.ChunkDataUtility.GetIndexInTypeArray(Unity.Entities.Archetype* archetype, int typeIndex)_767B96A5A09EEBC8" # External Name
    3144.         .long        426                     # DIE offset
    3145.         .asciz        "Unity.Entities.DynamicBuffer`1<EntityList>.get_Length(Unity.Entities.DynamicBuffer`1<EntityList>* this)_AAE69711B0C7F65C" # External Name
    3146.         .long        256                     # DIE offset
    3147.         .asciz        "Unity.Entities.BufferFromEntity`1<EntityList>.get_Item(Unity.Entities.BufferFromEntity`1<EntityList>* this, Unity.Entities.Entity entity)_6FFCF5E228D01967" # External Name
    3148.         .long        85                      # DIE offset
    3149.         .asciz        "Unity.Entities.BufferFromEntity`1<ColliderList>.get_Item(Unity.Entities.BufferFromEntity`1<ColliderList>* this, Unity.Entities.Entity entity)_DA10751DBADA461A" # External Name
    3150.         .long        195                     # DIE offset
    3151.         .asciz        "Unity.Entities.ChunkDataUtility.GetComponentDataWithTypeRW(Unity.Entities.Chunk* chunk, int index, int typeIndex, uint globalSystemVersion, ref int typeLookupCache)_2A140AE580A9D1B3" # External Name
    3152.         .long        132                     # DIE offset
    3153.         .asciz        "Unity.Entities.EntityComponentStore.HasComponent(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity, Unity.Entities.ComponentType type)_BB43E236C34CDC0F" # External Name
    3154.         .long        414                     # DIE offset
    3155.         .asciz        "Unity.Entities.DynamicBuffer`1<EntityList>.CheckReadAccess(Unity.Entities.DynamicBuffer`1<EntityList>* this)_03106754F33D2CCE" # External Name
    3156.         .long        340                     # DIE offset
    3157.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeList.Realloc(Unity.Collections.LowLevel.Unsafe.UnsafeList* this, int sizeOf, int alignOf, int capacity)_A96A1D3299484E93" # External Name
    3158.         .long        232                     # DIE offset
    3159.         .asciz        "Unity.Entities.Chunk.SetChangeVersion(Unity.Entities.Chunk* this, int typeIndex, uint version)_37EF107D96012A9D" # External Name
    3160.         .long        460                     # DIE offset
    3161.         .asciz        "Unity.Mathematics.math.ceilpow2(int x)_1B356A90A7C04041" # External Name
    3162.         .long        328                     # DIE offset
    3163.         .asciz        "Unity.Mathematics.AABB.get_Min(Unity.Mathematics.AABB* this)_59F9C667C05E7983" # External Name
    3164.         .long        438                     # DIE offset
    3165.         .asciz        "Unity.Entities.DynamicBuffer`1<EntityList>.CheckBounds(Unity.Entities.DynamicBuffer`1<EntityList>* this, int index)_71E35D6141DEC40E" # External Name
    3166.         .long        389                     # DIE offset
    3167.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeList.Add<CollisionPair>(Unity.Collections.LowLevel.Unsafe.UnsafeList* this, CollisionPair value)_14DB5FD3CEC2B1C7" # External Name
    3168.         .long        65                      # DIE offset
    3169.         .asciz        "Unity.Collections.NativeArray`1<Unity.Entities.Entity>.get_Item(Unity.Collections.NativeArray`1<Unity.Entities.Entity>* this, int index)_041165CE0F0CCC8C" # External Name
    3170.         .long        158                     # DIE offset
    3171.         .asciz        "Unity.Entities.EntityComponentStore.AssertEntityHasComponent(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity, int componentType)_66A8909174F1F567" # External Name
    3172.         .long        352                     # DIE offset
    3173.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeList.SetCapacity(Unity.Collections.LowLevel.Unsafe.UnsafeList* this, int sizeOf, int alignOf, int capacity)_E6A3A9E877FF2280" # External Name
    3174.         .long        450                     # DIE offset
    3175.         .asciz        "Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckWriteAndBumpSecondaryVersion(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_076270D9587D05A3" # External Name
    3176.         .long        473                     # DIE offset
    3177.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeList.CheckAllocator(Unity.Collections.Allocator a)_EADD929AE1921257" # External Name
    3178.         .long        365                     # DIE offset
    3179.         .asciz        "Unity.Collections.LowLevel.Unsafe.UnsafeList.Resize(Unity.Collections.LowLevel.Unsafe.UnsafeList* this, int sizeOf, int alignOf, int length, Unity.Collections.NativeArrayOptions options)_D25D04F40E161ECD" # External Name
    3180.         .long        268                     # DIE offset
    3181.         .asciz        "Unity.Entities.BufferHeader.GetElementPointer(Unity.Entities.BufferHeader* header)_CCF9EA1420073D8D" # External Name
    3182.         .long        304                     # DIE offset
    3183.         .asciz        "Unity.Entities.DynamicBuffer`1<ColliderList>.get_Length(Unity.Entities.DynamicBuffer`1<ColliderList>* this)_02ED263B23DD9D3B" # External Name
    3184.         .long        292                     # DIE offset
    3185.         .asciz        "Unity.Entities.DynamicBuffer`1<ColliderList>.CheckReadAccess(Unity.Entities.DynamicBuffer`1<ColliderList>* this)_FCF462943034D160" # External Name
    3186.         .long        75                      # DIE offset
    3187.         .asciz        "Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrowNoEarlyOut(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_937C552A34401BAF" # External Name
    3188.         .long        220                     # DIE offset
    3189.         .asciz        "Unity.Entities.ArchetypeChunkData.SetChangeVersion(Unity.Entities.ArchetypeChunkData* this, int typeOffset, int chunkIndex, uint version)_066D413D35F3CE96" # External Name
    3190.         .long        485                     # DIE offset
    3191.         .asciz        "Unity.Collections.NativeArray`1<Unity.Entities.Entity>.FailOutOfRangeError(Unity.Collections.NativeArray`1<Unity.Entities.Entity>* this, int index)_8A2BD79C134FF609" # External Name
    3192.         .long        107                     # DIE offset
    3193.         .asciz        "Unity.Entities.EntityComponentStore.ValidateEntity(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity)_F1E4DAD214707E35" # External Name
    3194.         .long        55                      # DIE offset
    3195.         .asciz        "Unity.Collections.NativeArray`1<Unity.Entities.Entity>.CheckElementReadAccess(Unity.Collections.NativeArray`1<Unity.Entities.Entity>* this, int index)_712CB44F002011BB" # External Name
    3196.         .long        2175                    # DIE offset
    3197.         .asciz        "Unity.Entities.DynamicBuffer`1<ColliderList>.get_Item(Unity.Entities.DynamicBuffer`1<ColliderList>* this, int index)_86C4E47660F61904" # External Name
    3198.         .long        495                     # DIE offset
    3199.         .asciz        "Unity.Jobs.IJobExtensions.JobStruct`1<MyBroadphaseCollisionDetection.CellCheckCollision>.Execute(ref MyBroadphaseCollisionDetection.CellCheckCollision data, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, ref Unity.Jobs.LowLevel.Unsafe.JobRanges ranges, int jobIndex)_3D90BE0FA4AD9B95" # External Name
    3200.         .long        42                      # DIE offset
    3201.         .asciz        "MyBroadphaseCollisionDetection.CellCheckCollision.Execute(MyBroadphaseCollisionDetection.CellCheckCollision* this)_1B76D77A2AC23F58" # External Name
    3202.         .long        207                     # DIE offset
    3203.         .asciz        "Unity.Entities.EntityComponentStore.GetComponentDataWithTypeRW(Unity.Entities.EntityComponentStore* this, Unity.Entities.Entity entity, int typeIndex, uint globalVersion, ref int typeLookupCache)_FA5A670552688DE9" # External Name
    3204.         .long        280                     # DIE offset
    3205.         .asciz        "Unity.Entities.DynamicBuffer`1<EntityList>.get_Item(Unity.Entities.DynamicBuffer`1<EntityList>* this, int index)_B53159D1B6F198CA" # External Name
    3206.         .long        402                     # DIE offset
    3207.         .asciz        "Unity.Collections.NativeList`1<CollisionPair>.Add(Unity.Collections.NativeList`1<CollisionPair>* this, CollisionPair value)_657CB95C27E8CD2E" # External Name
    3208.         .long        97                      # DIE offset
    3209.         .asciz        "Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle.CheckReadAndThrow(Unity.Collections.LowLevel.Unsafe.AtomicSafetyHandle handle)_7883B5055A1A5B9B" # External Name
    3210.         .long        183                     # DIE offset
    3211.         .asciz        "Unity.Entities.ChunkDataUtility.GetIndexInTypeArray(Unity.Entities.Archetype* archetype, int typeIndex, ref int typeLookupCache)_29A9E576BFAC75EC" # External Name
    3212.         .long        0                       # End Mark
    3213. .LpubNames_end0:
    3214.         .section        .debug_pubtypes,"dr"
    3215.         .long        .LpubTypes_end0-.LpubTypes_begin0 # Length of Public Types Info
    3216. .LpubTypes_begin0:
    3217.         .short        2                       # DWARF Version
    3218.         .secrel32        .Lcu_begin0     # Offset of Compilation Unit Info
    3219.         .long        2418                    # Compilation Unit Length
    3220.         .long        0                       # End Mark
    3221. .LpubTypes_end0:
    3222.  
    3223.         .section        .drectve,"yn"
    3224.         .ascii        " /EXPORT:Unity.Jobs.IJobExtensions.JobStruct`1<MyBroadphaseCollisionDetection.CellCheckCollision>.Execute(ref MyBroadphaseCollisionDetection.CellCheckCollision data, System.IntPtr additionalPtr, System.IntPtr bufferRangePatchData, ref Unity.Jobs.LowLevel.Unsafe.JobRanges ranges, int jobIndex)_3D90BE0FA4AD9B95"
    3225.         .ascii        " /EXPORT:burst.initialize"
    3226.         .globl        _fltused
    3227.         .section        .debug_line,"dr"
    3228. .Lsection_line:
    3229. .Lline_table_start0:
    3230.  
     
    Last edited: Apr 5, 2020
  2. DreamingImLatios

    DreamingImLatios

    Joined:
    Jun 3, 2017
    Posts:
    3,993
    @5argon's introduction: https://gametorrahod.com/analyzing-burst-generated-assemblies/
    Jackson Dunstan's many articles: https://jacksondunstan.com/
    My own: https://github.com/Dreaming381/Lati...ptimization Adventures/Find Pairs - Part 1.md

    Keep in mind that Burst is evolving and continuously improving. Don't take any conclusion as fact, but rather as things to try and see for yourself. It looks like you are already using the Burst 1.3 preview that shows C# lines to help you navigate, which is good!

    Now to some of your questions.

    3) Entities.ForEach uses IJobChunk under the hood when used with Burst. The difference between manual iteration is small if any, and usually comes down to how efficient your iteration is compared to Unity's. It is not worth using manual iteration unless you need the extra flexibility it offers.
    4) A float3 will use 75% of a 128 bit register whereas a float4 will use 100% of such a register. It can be tricky to get your data fully optimized for 100% simd utilization and often involves processing 4 elements at a time rather than working with coordinate space vectors. In practice, make sure you profile before you go down that rabbit hole. Unless you live in AAA, it is likely not worth your time to optimize absolutely everything. Just using Burst gets you very far along.
    5) There's two types of unrolling: Vectorization unrolling, and loop iteration mitigation unrolling. The former may be worth it if Burst is struggling to auto-vectorize your code. The latter is typically not worth it unless you are working with consoles as it is extremely volatile.
    6) If you can switch to math.select, by all means do so. Otherwise encoding booleans and then using a switch case is very fast compared to multiple branches. If you need help, show full code along with dependencies so I can drop it into an experimental file and look at the Burst output myself.
    7) First off, when you share Burst clipboard output, make sure that the C# source code matches the line numbers. Unfortunately, the clipboard version of Burst output uses line numbers rather than the actual C# lines themselves.
    Second, when you look at Burst, make sure to uncheck the safety checks. Safety checks just add noise to your code that won't be in the final build. They are useful for making sure your code is correct, but are intrusive when optimizing. And lastly, a lot of people on the forums lately have been trying to write broadphase algorithms. I've been cracking this problem pretty hard and am now trying to get my framework version 0.2.0 wrapped up which has quite a few improvements over 0.1.0 in this area. I am totally willing to share early previews and discuss implementation details on this topic. I already shared the draft of my second article on these forums, though I don't remember where or two whom (it could have been you for all I remember :D). Anyways, feel free to reach out if you have any more questions!
     
    5argon and andreicfsteaua like this.
  3. andreicfsteaua

    andreicfsteaua

    Joined:
    Nov 18, 2019
    Posts:
    36
    Thank you for this very helpful answer!
    Didn't know that, also mb I forgot to include the diagnostic tool.
    Code (CSharp):
    1. Remark: MyPhysics.cs:347:38: loop not vectorized: loop control flow is not understood by vectorizer
    2. Remark: UnsafeList.cs:417:13: Stores SLP vectorized with cost -14 and with tree size 2
    3. Remark: UnsafeList.cs:417:13: Stores SLP vectorized with cost -14 and with tree size 2
    4. Remark: unknown:0:0: SLP vectorized with cost -1 and with tree size 1
    5. Remark: unknown:0:0: SLP vectorized with cost -1 and with tree size 1
    6. Remark: unknown:0:0: SLP vectorized with cost -1 and with tree size 1
    7. Remark: unknown:0:0: SLP vectorized with cost -1 and with tree size 1
    8.  
    Can you explain me what these lines mean?
    I would be more than happy to have your previews!
    I am still very much interested in building my own physics engine because it gives me good practice with the DOTS environement (that's the main purpose for me, to learn how to use DOTS effectively with algorithms) and if it succeds maybe I will use it in my games
     
  4. DreamingImLatios

    DreamingImLatios

    Joined:
    Jun 3, 2017
    Posts:
    3,993
    So the top line is saying that Burst considered vectorizing the loop at that line, but either branches within the loop or loop conditions got too complicated for it. This is typically a situation where you want to manually vectorize the loop instead.
    The other lines are referring to this: https://llvm.org/docs/Vectorizers.html#the-slp-vectorizer

    I found the link to that other post: Nested loop changing entity components?
    I don't typically share the whole in-development repo because it is huge. So if you want specific parts let me know. That's not to say that I won't share the whole repo or a slightly slimmed down version (excludes some tests and experimental prototype directories) over Google Drive over PM if you ask. It is just that I don't keep those links active very long.

    Unless you already have experience building a 3D physics engine or have waaaaay too much time on your hands, I suggest trying 2D first. It is simpler and is a lot easier to vectorize. 3D is a huge undertaking and I will be lucky if I even start writing simulation code by the end of this year as there is just so much work to do for spatial queries alone.
     
    andreicfsteaua likes this.