{"name": "gen_icount_end", "code": "unsigned __int64 __fastcall gen_icount_end ( __int64 @@a1@@ , int @@a2@@ ) { unsigned __int64 @@v3@@ ; @@v3@@ = __readfsqword ( Number ) ; if ( use_icount ) { * ( _QWORD * ) icount_arg = @@a2@@ ; gen_set_label ( icount_label ) ; tcg_gen_exit_tb ( @@a1@@ + Number ) ; } return __readfsqword ( Number ) ^ @@v3@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}
{"name": "gen_set_label", "code": "unsigned __int64 __fastcall gen_set_label ( int @@a1@@ ) { unsigned __int64 @@v2@@ ; @@v2@@ = __readfsqword ( Number ) ; tcg_gen_op1i ( Number , @@a1@@ ) ; return __readfsqword ( Number ) ^ @@v2@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "tcg_gen_exit_tb", "code": "unsigned __int64 __fastcall tcg_gen_exit_tb ( __int64 @@a1@@ ) { unsigned __int64 @@v2@@ ; @@v2@@ = __readfsqword ( Number ) ; tcg_gen_op1i ( Number , @@a1@@ ) ; return __readfsqword ( Number ) ^ @@v2@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "gen_intermediate_code_internal", "code": "unsigned __int64 __fastcall gen_intermediate_code_internal ( __int64 @@a1@@ , int @@a2@@ , __int64 @@a3@@ ) { _BOOL4 v3 ; int v4 ; int v5 ; const char * v6 ; int v9 ; int j ; int @@v11@@ ; int @@v12@@ ; int v13 ; int v14 ; __int64 @@v15@@ ; _QWORD * @@i@@ ; __int64 @@v17@@ ; __int64 @@v18@@ [ Number ] ; unsigned __int64 @@v19@@ ; @@v19@@ = __readfsqword ( Number ) ; v9 = Number ; memset ( @@v18@@ , Number , sizeof ( @@v18@@ ) ) ; @@v18@@ [ Number ] = @@a1@@ ; @@v17@@ = * ( _QWORD * ) @@a1@@ ; @@v18@@ [ Number ] = * ( _QWORD * ) @@a1@@ ; @@v15@@ = @@v18@@ [ Number ] ; @@v18@@ [ Number ] = * ( _QWORD * ) ( @@a1@@ + Number ) ; HIDWORD ( @@v18@@ [ Number ] ) = Number ; HIDWORD ( @@v18@@ [ Number ] ) = cpu_mmu_index ( @@a3@@ ) ; @@v18@@ [ Number ] = * ( _QWORD * ) ( @@a3@@ + Number ) ; if ( ( * ( _DWORD * ) ( @@v18@@ [ Number ] + Number ) & Number ) != Number ) LODWORD ( @@v18@@ [ Number ] ) = cpu_fpu_enabled ( @@a3@@ ) ; else LODWORD ( @@v18@@ [ Number ] ) = Number ; HIDWORD ( @@v18@@ [ Number ] ) = * ( _DWORD * ) ( @@a3@@ + Number ) & Number ; v3 = * ( _DWORD * ) ( @@a3@@ + Number ) || singlestep ; LODWORD ( @@v18@@ [ Number ] ) = v3 ; cpu_tmp0 = tcg_temp_new_i64 ( ) ; cpu_tmp32 = tcg_temp_new_i32 ( ) ; cpu_tmp64 = tcg_temp_new_i64 ( ) ; cpu_dst = tcg_temp_local_new_i64 ( ) ; cpu_val = tcg_temp_local_new_i64 ( ) ; cpu_addr = tcg_temp_local_new_i64 ( ) ; @@v11@@ = Number ; @@v12@@ = * ( _WORD * ) ( @@a1@@ + Number ) & Number ; if ( ( * ( _WORD * ) ( @@a1@@ + Number ) & Number ) == Number ) @@v12@@ = Number ; gen_icount_start ( ) ; do { if ( * ( _QWORD * ) ( @@a3@@ + Number ) ) { for ( @@i@@ = * ( _QWORD * * ) ( @@a3@@ + Number ) ; @@i@@ ; @@i@@ = ( _QWORD * ) @@i@@ [ Number ] ) { if ( * @@i@@ == @@v18@@ [ Number ] ) { if ( @@v17@@ != @@v18@@ [ Number ] ) save_state ( ( __int64 ) @@v18@@ , cpu_cond ) ; gen_helper_debug ( ) ; tcg_gen_exit_tb ( Number L ) ; LODWORD ( @@v18@@ [ Number ] ) = Number ; goto LABEL_37 ; } } } if ( @@a2@@ ) { if ( logfile ) fwrite ( String , Number , Number , logfile ) ; v13 = ( __int64 ) ( gen_opc_ptr - ( _QWORD ) & gen_opc_buf ) >> Number ; if ( v9 < v13 ) { ++ v9 ; while ( v9 < v13 ) { v4 = v9 ++ ; * ( ( _BYTE * ) & gen_opc_instr_start + v4 ) = Number ; } * ( ( _QWORD * ) & gen_opc_pc + v9 ) = @@v18@@ [ Number ] ; gen_opc_npc [ v9 ] = @@v18@@ [ Number ] ; * ( ( _BYTE * ) & gen_opc_instr_start + v9 ) = Number ; * ( ( _WORD * ) & gen_opc_icount + v9 ) = @@v11@@ ; } } if ( @@v12@@ == @@v11@@ + Number && * ( __int16 * ) ( @@a1@@ + Number ) < Number ) gen_io_start ( ) ; @@v15@@ = @@v18@@ [ Number ] ; disas_sparc_insn ( @@v18@@ ) ; ++ @@v11@@ ; } while ( ! LODWORD ( @@v18@@ [ Number ] ) && @@v18@@ [ Number ] == @@v15@@ + Number && ( @@v18@@ [ Number ] & Number ) != Number && ! LODWORD ( @@v18@@ [ Number ] ) && ( unsigned __int64 ) & gen_opc_buf + Number > gen_opc_ptr && ( unsigned __int64 ) ( @@v18@@ [ Number ] - @@v17@@ ) <= Number && @@v11@@ < @@v12@@ ) ; LABEL_37 : tcg_temp_free_i64 ( ( unsigned int ) cpu_addr ) ; tcg_temp_free_i64 ( ( unsigned int ) cpu_val ) ; tcg_temp_free_i64 ( ( unsigned int ) cpu_dst ) ; tcg_temp_free_i64 ( ( unsigned int ) cpu_tmp64 ) ; tcg_temp_free_i32 ( ( unsigned int ) cpu_tmp32 ) ; tcg_temp_free_i64 ( ( unsigned int ) cpu_tmp0 ) ; if ( * ( __int16 * ) ( @@a1@@ + Number ) < Number ) gen_io_end ( ) ; if ( ! LODWORD ( @@v18@@ [ Number ] ) ) { if ( @@v18@@ [ Number ] == Number || @@v18@@ [ Number ] == Number ) { if ( @@v18@@ [ Number ] != Number ) tcg_gen_movi_i64 ( cpu_pc , @@v18@@ [ Number ] ) ; save_npc ( @@v18@@ , cpu_cond ) ; tcg_gen_exit_tb ( Number L ) ; } else { gen_goto_tb ( ( __int64 ) @@v18@@ , Number , @@v18@@ [ Number ] , @@v18@@ [ Number ] ) ; } } gen_icount_end ( @@a1@@ , @@v11@@ ) ; * gen_opc_ptr = Number ; if ( @@a2@@ ) { v14 = ( __int64 ) ( gen_opc_ptr - ( _QWORD ) & gen_opc_buf ) >> Number ; for ( j = v9 + Number ; j <= v14 ; ++ j ) { v5 = j ; * ( ( _BYTE * ) & gen_opc_instr_start + v5 ) = Number ; } gen_opc_jump_pc = @@v18@@ [ Number ] ; qword_14F48 = @@v18@@ [ Number ] ; } else { * ( _WORD * ) ( @@a1@@ + Number ) = @@v15@@ - @@v17@@ + Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v11@@ ; } if ( ( loglevel & Number ) != Number ) { if ( logfile ) fwrite ( String , Number , Number , logfile ) ; if ( logfile ) { v6 = ( const char * ) lookup_symbol ( @@v17@@ ) ; fprintf ( logfile , String , v6 ) ; } target_disas ( logfile , @@v17@@ , @@v15@@ - @@v17@@ + Number , Number L ) ; if ( logfile ) fputc ( Number , logfile ) ; } return __readfsqword ( Number ) ^ @@v19@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "i", "t": {"T": 3, "t": "_QWORD"}, "location": "s112"}, {"n": "v15", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s120"}, {"n": "v12", "t": {"T": 1, "n": "int", "s": 4}, "location": "s128"}, {"n": "v11", "t": {"T": 1, "n": "int", "s": 4}, "location": "s132"}, {"n": "v19", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}, {"n": "v18", "t": {"T": 2, "n": 9, "s": 8, "t": "__int64"}, "location": "s80"}, {"n": "v17", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s96"}]}