@@ -96,23 +96,22 @@ tmp_id_to_str (vm_idx_t id)
9696static const char *
9797var_to_str (vm_instr_t instr, lit_cpointer_t lit_ids[], vm_instr_counter_t oc, uint8_t current_arg)
9898{
99- raw_instr raw = *(raw_instr*) &instr;
100- if (raw.uids [current_arg] == VM_IDX_REWRITE_LITERAL_UID)
99+ JERRY_ASSERT (current_arg >= 1 && current_arg <= 3 );
100+
101+ if (instr.data .raw_args [current_arg - 1 ] == VM_IDX_REWRITE_LITERAL_UID)
101102 {
102- if (lit_ids == NULL )
103- {
104- return " hz" ;
105- }
103+ JERRY_ASSERT (lit_ids != NULL );
106104 JERRY_ASSERT (lit_ids[current_arg - 1 ].packed_value != MEM_CP_NULL);
105+
107106 return lit_cp_to_str (lit_ids[current_arg - 1 ]);
108107 }
109- else if (raw. uids [current_arg] >= 128 )
108+ else if (instr. data . raw_args [current_arg - 1 ] >= 128 )
110109 {
111- return tmp_id_to_str (raw. uids [current_arg]);
110+ return tmp_id_to_str (instr. data . raw_args [current_arg - 1 ]);
112111 }
113112 else
114113 {
115- return lit_cp_to_str (serializer_get_literal_cp_by_uid (raw. uids [current_arg], NULL , oc));
114+ return lit_cp_to_str (serializer_get_literal_cp_by_uid (instr. data . raw_args [current_arg - 1 ], NULL , oc));
116115 }
117116}
118117
@@ -135,14 +134,12 @@ pp_printf (const char *format, vm_instr_t instr, lit_cpointer_t lit_ids[], vm_in
135134 {
136135 case ' d' :
137136 {
138- JERRY_ASSERT (current_arg <= 3 );
139- raw_instr raw = *(raw_instr*) &instr;
140- printf (" %d" , raw.uids [current_arg]);
137+ JERRY_ASSERT (current_arg >= 1 && current_arg <= 3 );
138+ printf (" %d" , instr.data .raw_args [current_arg - 1 ]);
141139 break ;
142140 }
143141 case ' s' :
144142 {
145- JERRY_ASSERT (current_arg <= 3 );
146143 printf (" %s" , var_to_str (instr, lit_ids, oc, current_arg));
147144 break ;
148145 }
@@ -160,8 +157,8 @@ pp_printf (const char *format, vm_instr_t instr, lit_cpointer_t lit_ids[], vm_in
160157#define PP_OP (op_name, format ) \
161158 case op_name: pp_printf (format, opm.op, opm.lit_id, oc, 1 ); break ;
162159#define VAR (i ) var_to_str (opm.op, opm.lit_id, oc, i)
163- #define OC (i, j ) __extension__({ raw_instr* raw = (raw_instr *) & opm.op ; \
164- vm_calc_instr_counter_from_idx_idx (raw-> uids [i], raw-> uids [j ]); })
160+ #define OC (i, j ) __extension__({ vm_calc_instr_counter_from_idx_idx ( opm.op . data . raw_args [i - 1 ], \
161+ opm. op . data . raw_args [j - 1 ]); })
165162
166163static int vargs_num = 0 ;
167164static int seen_vargs = 0 ;
@@ -175,7 +172,7 @@ dump_asm (vm_instr_counter_t oc, vm_instr_t instr)
175172
176173 for (i = 1 ; i < opcode_sizes[opcode_id]; i++)
177174 {
178- printf (" %4d " , ((raw_instr *) & instr)-> uids [i]);
175+ printf (" %4d " , instr. data . raw_args [i]);
179176 }
180177
181178 for (; i < 4 ; i++)
0 commit comments