{"name": "XS_Perf__Trace__Context_common_lock_depth", "code": "unsigned __int64 XS_Perf__Trace__Context_common_lock_depth ( ) { void * v0 ; __int64 @@v1@@ ; int v2 ; void * v3 ; __int64 v4 ; __int64 v5 ; void * v6 ; __int64 v7 ; __int64 v8 ; void * v9 ; bool v10 ; int v11 ; void * v12 ; __int64 v13 ; int v15 ; int v16 ; int @@v17@@ ; __int64 v18 ; __int64 v19 ; __int64 @@v20@@ ; __int64 @@v21@@ ; unsigned __int64 @@v22@@ ; @@v22@@ = __readfsqword ( Number ) ; v18 = * ( _QWORD * ) pthread_getspecific ( PL_thr_key ) ; v0 = pthread_getspecific ( PL_thr_key ) ; v15 = S_POPMARK ( ( __int64 ) v0 ) ; @@v1@@ = * ( ( _QWORD * ) pthread_getspecific ( PL_thr_key ) + Number ) ; v2 = v15 ; v16 = v15 + Number ; if ( ( unsigned int ) ( ( v18 - ( @@v1@@ + Number L * v2 ) ) >> Number ) != Number ) { v3 = pthread_getspecific ( PL_thr_key ) ; Perl_croak ( v3 , String , String , String ) ; } if ( ( * ( _DWORD * ) ( * ( _QWORD * ) ( Number L * v16 + * ( ( _QWORD * ) pthread_getspecific ( PL_thr_key ) + Number ) ) + Number L ) & Number ) == Number ) { v4 = * ( _QWORD * ) ( * * ( _QWORD * * ) ( Number L * v16 + * ( ( _QWORD * ) pthread_getspecific ( PL_thr_key ) + Number ) ) + Number L ) ; } else { v5 = * ( _QWORD * ) ( Number L * v16 + * ( ( _QWORD * ) pthread_getspecific ( PL_thr_key ) + Number ) ) ; v6 = pthread_getspecific ( PL_thr_key ) ; v4 = Perl_sv_2iv_flags ( v6 , v5 , Number L ) ; } @@v20@@ = v4 ; if ( ( * ( _BYTE * ) ( * ( ( _QWORD * ) pthread_getspecific ( PL_thr_key ) + Number ) + Number L ) & Number ) != Number ) { v7 = * ( ( _QWORD * ) pthread_getspecific ( PL_thr_key ) + Number ) ; v8 = * ( _QWORD * ) ( v7 + Number L * * ( _QWORD * ) ( * ( ( _QWORD * ) pthread_getspecific ( PL_thr_key ) + Number ) + Number L ) ) ; } else { v9 = pthread_getspecific ( PL_thr_key ) ; v8 = Perl_sv_newmortal ( v9 ) ; } @@v21@@ = v8 ; @@v17@@ = common_lock_depth ( @@v20@@ ) ; v19 = Number L * v16 - Number + * ( ( _QWORD * ) pthread_getspecific ( PL_thr_key ) + Number ) ; v10 = ( * ( _DWORD * ) ( @@v21@@ + Number ) & Number ) == Number ; if ( ( v10 & ( * ( ( _BYTE * ) pthread_getspecific ( PL_thr_key ) + Number ) ^ Number ) ) != Number ) { v11 = * ( _DWORD * ) ( @@v21@@ + Number ) ; BYTE1 ( v11 ) |= Number ; * ( _DWORD * ) ( @@v21@@ + Number ) = v11 ; * ( _QWORD * ) ( @@v21@@ + Number ) = @@v17@@ ; } else { v12 = pthread_getspecific ( PL_thr_key ) ; Perl_sv_setiv_mg ( v12 , @@v21@@ , @@v17@@ ) ; } * ( _QWORD * ) ( v19 + Number ) = @@v21@@ ; v13 = * ( ( _QWORD * ) pthread_getspecific ( PL_thr_key ) + Number ) ; * ( _QWORD * ) pthread_getspecific ( PL_thr_key ) = v13 + Number * ( v16 + Number L ) - Number ; return __readfsqword ( Number ) ^ @@v22@@ ; }", "source": [{"n": "v1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "v22", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s24"}, {"n": "v21", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v20", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v17", "t": {"T": 1, "n": "int", "s": 4}, "location": "s76"}]}
{"name": "S_POPMARK", "code": "__int64 __fastcall S_POPMARK ( __int64 @@a1@@ ) { unsigned int * @@v1@@ ; @@v1@@ = * ( unsigned int * * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@v1@@ - Number ; return * @@v1@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v1", "t": {"T": 3, "t": "unsigned int"}, "location": "r8"}]} {"name": "boot_Perf__Trace__Context", "code": "unsigned __int64 __fastcall boot_Perf__Trace__Context ( __int64 @@a1@@ , __int64 @@a2@@ ) { void * v2 ; void * v3 ; void * v4 ; void * v5 ; __int64 @@v6@@ ; unsigned int v7 ; void * v8 ; char * v9 ; __int64 v10 ; __int64 v12 ; __int64 v13 ; __int64 v14 ; __int64 v15 ; int v16 ; int v17 ; unsigned __int64 @@v18@@ ; @@v18@@ = __readfsqword ( Number ) ; pthread_getspecific ( PL_thr_key ) ; v2 = pthread_getspecific ( PL_thr_key ) ; v16 = S_POPMARK ( ( __int64 ) v2 ) ; pthread_getspecific ( PL_thr_key ) ; v17 = v16 + Number ; v3 = pthread_getspecific ( PL_thr_key ) ; Perl_newXS_flags ( v3 , String , XS_Perf__Trace__Context_common_pc , String , String , Number L , @@a2@@ , @@a1@@ ) ; v4 = pthread_getspecific ( PL_thr_key ) ; Perl_newXS_flags ( v4 , String , XS_Perf__Trace__Context_common_flags , String , String , Number L , v12 , v14 ) ; v5 = pthread_getspecific ( PL_thr_key ) ; Perl_newXS_flags ( v5 , String , XS_Perf__Trace__Context_common_lock_depth , String , String , Number L , v13 , v15 ) ; if ( * ( ( _QWORD * ) pthread_getspecific ( PL_thr_key ) + Number ) ) { @@v6@@ = * ( ( _QWORD * ) pthread_getspecific ( PL_thr_key ) + Number ) ; v7 = * ( ( _DWORD * ) pthread_getspecific ( PL_thr_key ) + Number ) ; v8 = pthread_getspecific ( PL_thr_key ) ; Perl_call_list ( v8 , v7 , @@v6@@ ) ; } v9 = ( char * ) pthread_getspecific ( PL_thr_key ) ; * ( _QWORD * ) ( Number L * v17 + * ( ( _QWORD * ) pthread_getspecific ( PL_thr_key ) + Number ) ) = v9 + Number ; v10 = * ( ( _QWORD * ) pthread_getspecific ( PL_thr_key ) + Number ) ; * ( _QWORD * ) pthread_getspecific ( PL_thr_key ) = v10 + Number * ( v17 + Number L ) - Number ; return __readfsqword ( Number ) ^ @@v18@@ ; }", "source": [{"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r104"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v18", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s24"}]}