I found all the methods but I don’t understand crash reason
My research
7 libil2cpp.so 0x000000762ae762a8 ExecuteJobFunction_Invoke_mEF8BE63FC98FEE0BFE94208656470D752351FDBA_gshared
→
// System.Void Unity.Entities.JobForEachExtensions_JobStruct_Process_CC`3_ExecuteJobFunction<ArcanoidWars.Unity.ECS.SpellMoveSystem_MoveJob,ArcanoidWars.Unity.ECS.SpellVelocity,ArcanoidWars.Unity.ECS.SpellPos>::Invoke(Unity.Entities.JobForEachExtensions_JobStruct_Process_CC`3<T,T0,T1>&,System.IntPtr,System.IntPtr,Unity.Jobs.LowLevel.Unsafe.JobRanges&,System.Int32)
IL2CPP_EXTERN_C IL2CPP_METHOD_ATTR void ExecuteJobFunction_Invoke_mEF8BE63FC98FEE0BFE94208656470D752351FDBA_gshared (ExecuteJobFunction_t1154D614B02FF848F4AC80848F0CD399AE4BED75 * __this, JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * ___data0, intptr_t ___additionalPtr1, intptr_t ___bufferRangePatchData2, JobRanges_tDC96FA42693E9E49D1423C4E3A98C93331EA9D14 * ___ranges3, int32_t ___jobIndex4, const RuntimeMethod* method)
{
→
[UpdateBefore(typeof(SpellSpawnV3System))]
public class SpellMoveSystem : JobComponentSystem
{
[BurstCompile]
private struct MoveJob : IJobForEach<SpellVelocity, SpellPos>
{
public int Run;
public void Execute(
[ReadOnly] ref SpellVelocity vel,
ref SpellPos pos)
{
if (Run==1)
{
pos.Value = pos.Value + vel.Value;
}
}
}
private int _lastTick = -1;
protected override JobHandle OnUpdate(JobHandle inputDeps)
{
var tick = GetSingleton<Tick>();
var run = _lastTick != tick.Value?1:0;
_lastTick = tick.Value;
return new MoveJob
{
Run = run
}.ScheduleSingle(this, inputDeps);
}
}
libil2cpp.so 0x000000762ae7670c JobStruct_Process_CC_3_Execute_m4FEDB7172A926E300F9BB75DE612D93F8406CEA9_gshared
// System.Void Unity.Entities.JobForEachExtensions_JobStruct_Process_CC`3<ArcanoidWars.Unity.ECS.SpellMoveSystem_MoveJob,ArcanoidWars.Unity.ECS.SpellVelocity,ArcanoidWars.Unity.ECS.SpellPos>::Execute(Unity.Entities.JobForEachExtensions_JobStruct_Process_CC`3<T,T0,T1>&,System.IntPtr,System.IntPtr,Unity.Jobs.LowLevel.Unsafe.JobRanges&,System.Int32)
IL2CPP_EXTERN_C IL2CPP_METHOD_ATTR void JobStruct_Process_CC_3_Execute_m4FEDB7172A926E300F9BB75DE612D93F8406CEA9_gshared (JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * ___jobData0, intptr_t ___additionalPtr1, intptr_t ___bufferRangePatchData2, JobRanges_tDC96FA42693E9E49D1423C4E3A98C93331EA9D14 * ___ranges3, int32_t ___jobIndex4, const RuntimeMethod* method)
{
ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 * V_0 = NULL;
int32_t* V_1 = NULL;
int32_t V_2 = 0;
int32_t V_3 = 0;
int32_t V_4 = 0;
{
JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_0 = ___jobData0;
NativeArray_1_tB942A78CFAC276F95E8B08EBB94DF670FFAA0405 L_1 = (NativeArray_1_tB942A78CFAC276F95E8B08EBB94DF670FFAA0405 )L_0->get_PrefilterData_2();
ComponentChunkIterator_UnpackPrefilterData_m3484D59BA7F60D16904531A30F945970D33E22B5((NativeArray_1_tB942A78CFAC276F95E8B08EBB94DF670FFAA0405 )L_1, (ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 **)(ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 **)(&V_0), (int32_t**)(int32_t**)(&V_1), (int32_t*)(int32_t*)(&V_2), /*hidden argument*/NULL);
JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_2 = ___jobData0;
ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 * L_3 = (ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 *)L_2->get_address_of_Iterator_0();
bool L_4 = (bool)L_3->get_m_IsParallelFor_13();
if (!L_4)
{
goto IL_003b;
}
}
{
goto IL_002c;
}
IL_0020:
{
JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_5 = ___jobData0;
intptr_t L_6 = ___bufferRangePatchData2;
int32_t L_7 = V_3;
int32_t L_8 = V_4;
ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 * L_9 = V_0;
int32_t* L_10 = V_1;
(( void (*) (JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 *, intptr_t, int32_t, int32_t, ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *, int32_t*, const RuntimeMethod*))IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 5)->methodPointer)((JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 *)(JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 *)L_5, (intptr_t)L_6, (int32_t)L_7, (int32_t)L_8, (ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)(ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)L_9, (int32_t*)(int32_t*)L_10, /*hidden argument*/IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 5));
}
IL_002c:
{
JobRanges_tDC96FA42693E9E49D1423C4E3A98C93331EA9D14 * L_11 = ___ranges3;
int32_t L_12 = ___jobIndex4;
bool L_13 = JobsUtility_GetWorkStealingRange_m760093A79807BC4741E89A98A6192D41D5451A04((JobRanges_tDC96FA42693E9E49D1423C4E3A98C93331EA9D14 *)(JobRanges_tDC96FA42693E9E49D1423C4E3A98C93331EA9D14 *)L_11, (int32_t)L_12, (int32_t*)(int32_t*)(&V_3), (int32_t*)(int32_t*)(&V_4), /*hidden argument*/NULL);
if (L_13)
{
goto IL_0020;
}
}
{
return;
}
IL_003b:
{
JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_14 = ___jobData0;
intptr_t L_15 = ___bufferRangePatchData2;
int32_t L_16 = V_2;
ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 * L_17 = V_0;
int32_t* L_18 = V_1;
(( void (*) (JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 *, intptr_t, int32_t, int32_t, ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *, int32_t*, const RuntimeMethod*))IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 5)->methodPointer)((JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 *)(JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 *)L_14, (intptr_t)L_15, (int32_t)0, (int32_t)L_16, (ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)(ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)L_17, (int32_t*)(int32_t*)L_18, /*hidden argument*/IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 5));
return;
}
}
5 libil2cpp.so 0x000000762ae76814 JobStruct_Process_CC_3_ExecuteChunk_mACCEA17563D529EA8DA18EAC81733FBC21B1E219_gshared
// System.Void Unity.Entities.JobForEachExtensions_JobStruct_Process_CC`3<ArcanoidWars.Unity.ECS.SpellMoveSystem_MoveJob,ArcanoidWars.Unity.ECS.SpellVelocity,ArcanoidWars.Unity.ECS.SpellPos>::ExecuteChunk(Unity.Entities.JobForEachExtensions_JobStruct_Process_CC`3<T,T0,T1>&,System.IntPtr,System.Int32,System.Int32,Unity.Entities.ArchetypeChunk*,System.Int32*)
IL2CPP_EXTERN_C IL2CPP_METHOD_ATTR void JobStruct_Process_CC_3_ExecuteChunk_mACCEA17563D529EA8DA18EAC81733FBC21B1E219_gshared (JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * ___jobData0, intptr_t ___bufferRangePatchData1, int32_t ___begin2, int32_t ___end3, ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 * ___chunks4, int32_t* ___entityIndices5, const RuntimeMethod* method)
{
int32_t V_0 = 0;
int32_t V_1 = 0;
int32_t V_2 = 0;
ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 V_3;
memset((&V_3), 0, sizeof(V_3));
int32_t V_4 = 0;
void* V_5 = NULL;
void* V_6 = NULL;
int32_t V_7 = 0;
{
V_0 = (int32_t)0;
V_1 = (int32_t)0;
int32_t L_0 = ___begin2;
V_2 = (int32_t)L_0;
goto IL_00f9;
}
IL_000b:
{
ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 * L_1 = ___chunks4;
int32_t L_2 = V_2;
uint32_t L_3 = sizeof(ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 );
ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 L_4 = (*(ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)((ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)il2cpp_codegen_add((intptr_t)L_1, (intptr_t)((intptr_t)il2cpp_codegen_multiply((intptr_t)(((intptr_t)L_2)), (int32_t)L_3)))));
V_3 = (ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 )L_4;
int32_t* L_5 = ___entityIndices5;
int32_t L_6 = V_2;
int32_t L_7 = *((int32_t*)((int32_t*)il2cpp_codegen_add((intptr_t)L_5, (intptr_t)((intptr_t)il2cpp_codegen_multiply((intptr_t)(((intptr_t)L_6)), (int32_t)4)))));
int32_t L_8 = ArchetypeChunk_get_Count_mDA1C82AEE8602D5D742B61D43A287053143AD4F3((ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)(ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 *)(&V_3), /*hidden argument*/NULL);
V_4 = (int32_t)L_8;
ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 L_9 = V_3;
Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 * L_10 = (Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)L_9.get_m_Chunk_0();
NullCheck(L_10);
Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 * L_11 = (Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 *)L_10->get_Archetype_0();
JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_12 = ___jobData0;
ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 * L_13 = (ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 *)L_12->get_address_of_Iterator_0();
int32_t L_14 = (int32_t)L_13->get_TypeIndex0_1();
ChunkDataUtility_GetIndexInTypeArray_m49E27315BD05861F6E380D61715D115CEC950056((Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 *)(Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 *)L_11, (int32_t)L_14, (int32_t*)(int32_t*)(&V_0), /*hidden argument*/NULL);
ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 L_15 = V_3;
Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 * L_16 = (Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)L_15.get_m_Chunk_0();
NullCheck(L_16);
Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 * L_17 = (Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 *)L_16->get_Archetype_0();
JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_18 = ___jobData0;
ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 * L_19 = (ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 *)L_18->get_address_of_Iterator_0();
int32_t L_20 = (int32_t)L_19->get_TypeIndex1_2();
ChunkDataUtility_GetIndexInTypeArray_m49E27315BD05861F6E380D61715D115CEC950056((Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 *)(Archetype_t9AABCD1D1DA809E18167625CB364DEA6D03F3635 *)L_17, (int32_t)L_20, (int32_t*)(int32_t*)(&V_1), /*hidden argument*/NULL);
ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 L_21 = V_3;
Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 * L_22 = (Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)L_21.get_m_Chunk_0();
JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_23 = ___jobData0;
ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 * L_24 = (ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 *)L_23->get_address_of_Iterator_0();
int32_t L_25 = (int32_t)L_24->get_IsReadOnly0_7();
int32_t L_26 = V_0;
JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_27 = ___jobData0;
ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 * L_28 = (ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 *)L_27->get_address_of_Iterator_0();
uint32_t L_29 = (uint32_t)L_28->get_GlobalSystemVersion_0();
void* L_30 = ComponentChunkIterator_GetChunkComponentDataPtr_m11D5CB65A1F1E83C1CE7C41272488DC16E26093A((Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)(Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)L_22, (bool)((((int32_t)L_25) == ((int32_t)0))? 1 : 0), (int32_t)L_26, (uint32_t)L_29, /*hidden argument*/NULL);
void* L_31 = UnsafeUtilityEx_RestrictNoAlias_mB436834BAD3ABE4CE8216130508829BA93A38E56((void*)(void*)L_30, /*hidden argument*/NULL);
V_5 = (void*)L_31;
ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 L_32 = V_3;
Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 * L_33 = (Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)L_32.get_m_Chunk_0();
JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_34 = ___jobData0;
ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 * L_35 = (ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 *)L_34->get_address_of_Iterator_0();
int32_t L_36 = (int32_t)L_35->get_IsReadOnly1_8();
int32_t L_37 = V_1;
JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_38 = ___jobData0;
ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 * L_39 = (ProcessIterationData_tA6A2CD39EA1546500B4DB7F80E6D7218012D15D8 *)L_38->get_address_of_Iterator_0();
uint32_t L_40 = (uint32_t)L_39->get_GlobalSystemVersion_0();
void* L_41 = ComponentChunkIterator_GetChunkComponentDataPtr_m11D5CB65A1F1E83C1CE7C41272488DC16E26093A((Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)(Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 *)L_33, (bool)((((int32_t)L_36) == ((int32_t)0))? 1 : 0), (int32_t)L_37, (uint32_t)L_40, /*hidden argument*/NULL);
void* L_42 = UnsafeUtilityEx_RestrictNoAlias_mB436834BAD3ABE4CE8216130508829BA93A38E56((void*)(void*)L_41, /*hidden argument*/NULL);
V_6 = (void*)L_42;
V_7 = (int32_t)0;
goto IL_00ef;
}
IL_00c6:
{
JobStruct_Process_CC_3_tEB69143CE58708989C1E4706DBEF80F18ED06963 * L_43 = ___jobData0;
MoveJob_t0537A53974D2925D36A5D840F24FD20A7749133C * L_44 = (MoveJob_t0537A53974D2925D36A5D840F24FD20A7749133C *)L_43->get_address_of_Data_1();
void* L_45 = V_5;
int32_t L_46 = V_7;
SpellVelocity_tEDF31D05B3B291750B9E16DB64F9BC0B03A800AC * L_47 = (( SpellVelocity_tEDF31D05B3B291750B9E16DB64F9BC0B03A800AC * (*) (void*, int32_t, const RuntimeMethod*))IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 7)->methodPointer)((void*)(void*)L_45, (int32_t)L_46, /*hidden argument*/IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 7));
void* L_48 = V_6;
int32_t L_49 = V_7;
SpellPos_tB1883E78B36A801F26FC7657622E27D940508529 * L_50 = (( SpellPos_tB1883E78B36A801F26FC7657622E27D940508529 * (*) (void*, int32_t, const RuntimeMethod*))IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 8)->methodPointer)((void*)(void*)L_48, (int32_t)L_49, /*hidden argument*/IL2CPP_RGCTX_METHOD_INFO(InitializedTypeInfo(method->klass)->rgctx_data, 8));
MoveJob_Execute_m41B0C237EB3D142760561BEE2E97E982A75FACA0((MoveJob_t0537A53974D2925D36A5D840F24FD20A7749133C *)(MoveJob_t0537A53974D2925D36A5D840F24FD20A7749133C *)L_44, (SpellVelocity_tEDF31D05B3B291750B9E16DB64F9BC0B03A800AC *)(SpellVelocity_tEDF31D05B3B291750B9E16DB64F9BC0B03A800AC *)L_47, (SpellPos_tB1883E78B36A801F26FC7657622E27D940508529 *)(SpellPos_tB1883E78B36A801F26FC7657622E27D940508529 *)L_50, /*hidden argument*/NULL);
int32_t L_51 = V_7;
V_7 = (int32_t)((int32_t)il2cpp_codegen_add((int32_t)L_51, (int32_t)1));
}
IL_00ef:
{
int32_t L_52 = V_7;
int32_t L_53 = V_4;
if ((!(((uint32_t)L_52) == ((uint32_t)L_53))))
{
goto IL_00c6;
}
}
{
int32_t L_54 = V_2;
V_2 = (int32_t)((int32_t)il2cpp_codegen_add((int32_t)L_54, (int32_t)1));
}
IL_00f9:
{
int32_t L_55 = V_2;
int32_t L_56 = ___end3;
if ((!(((uint32_t)L_55) == ((uint32_t)L_56))))
{
goto IL_000b;
}
}
{
return;
}
}
// System.Int32 Unity.Entities.ArchetypeChunk::get_Count()
IL2CPP_EXTERN_C IL2CPP_METHOD_ATTR int32_t ArchetypeChunk_get_Count_mDA1C82AEE8602D5D742B61D43A287053143AD4F3 (ArchetypeChunk_tD1A74CD2B8C7E5906156F5D2F81052BCCD972A26 * __this, const RuntimeMethod* method)
{
{
Chunk_t6BEA5ACE4335AB76A7CD504541A1F55183260898 * L_0 = __this->get_m_Chunk_0();
NullCheck(L_0);
int32_t L_1 = L_0->get_Count_2();
return L_1;
}
}
[code]