@@ -137,7 +137,7 @@ namespace basecode::compiler {
137
137
if (named_ref->type == vm::assembler_named_ref_type_t ::label)
138
138
return ;
139
139
140
- if (temp_name == named_ref->name )
140
+ if (temp_name == named_ref->name1 )
141
141
return ;
142
142
143
143
auto is_pointer_type = result.type_result .inferred_type ->is_pointer_type ();
@@ -154,6 +154,7 @@ namespace basecode::compiler {
154
154
vm::instruction_operand_t temp (_session.assembler ().make_named_ref (
155
155
vm::assembler_named_ref_type_t ::local,
156
156
temp_name,
157
+ {},
157
158
size));
158
159
159
160
if (is_composite && !is_pointer_type) {
@@ -256,6 +257,7 @@ namespace basecode::compiler {
256
257
vm::instruction_operand_t (_session.assembler ().make_named_ref (
257
258
vm::assembler_named_ref_type_t ::local,
258
259
var->symbol ()->name (),
260
+ {},
259
261
vm::op_size_for_byte_size (var->type_ref ()->type ()->size_in_bytes ()))),
260
262
vm::instruction_operand_t (_session.assembler ().make_named_ref (
261
263
vm::assembler_named_ref_type_t ::label,
@@ -432,6 +434,7 @@ namespace basecode::compiler {
432
434
vm::instruction_operand_t target_operand (assembler.make_named_ref (
433
435
vm::assembler_named_ref_type_t ::local,
434
436
temp_local_name (target_number_class, 2 ),
437
+ {},
435
438
vm::op_size_for_byte_size (target_size)));
436
439
result.operands .emplace_back (target_operand);
437
440
@@ -803,7 +806,7 @@ namespace basecode::compiler {
803
806
return false ;
804
807
}
805
808
label_ref = flow_control->exit_label ;
806
- label_name = label_ref->name ;
809
+ label_name = label_ref->name1 ;
807
810
}
808
811
809
812
block->comment (
@@ -1133,6 +1136,7 @@ namespace basecode::compiler {
1133
1136
vm::instruction_operand_t result_operand (assembler.make_named_ref (
1134
1137
vm::assembler_named_ref_type_t ::local,
1135
1138
temp_local_name (target_number_class, 1 ),
1139
+ {},
1136
1140
vm::op_size_for_byte_size (target_size)));
1137
1141
result.operands .emplace_back (result_operand);
1138
1142
block->pop (result_operand);
@@ -1192,6 +1196,7 @@ namespace basecode::compiler {
1192
1196
vm::instruction_operand_t target_operand (assembler.make_named_ref (
1193
1197
vm::assembler_named_ref_type_t ::local,
1194
1198
temp_local_name (target_number_class, 2 ),
1199
+ {},
1195
1200
vm::op_size_for_byte_size (target_size)));
1196
1201
result.operands .emplace_back (target_operand);
1197
1202
@@ -1223,7 +1228,7 @@ namespace basecode::compiler {
1223
1228
return false ;
1224
1229
}
1225
1230
label_ref = flow_control->continue_label ;
1226
- label_name = label_ref->name ;
1231
+ label_name = label_ref->name1 ;
1227
1232
}
1228
1233
1229
1234
block->comment (
@@ -1237,6 +1242,7 @@ namespace basecode::compiler {
1237
1242
result.operands .emplace_back (_session.assembler ().make_named_ref (
1238
1243
vm::assembler_named_ref_type_t ::local,
1239
1244
var->symbol ()->name (),
1245
+ {},
1240
1246
vm::op_size_for_byte_size (result.type_result .inferred_type ->size_in_bytes ())));
1241
1247
break ;
1242
1248
}
@@ -1421,6 +1427,7 @@ namespace basecode::compiler {
1421
1427
vm::instruction_operand_t result_operand (assembler.make_named_ref (
1422
1428
vm::assembler_named_ref_type_t ::local,
1423
1429
temp_local_name (result.type_result .inferred_type ->number_class (), 3 ),
1430
+ {},
1424
1431
size));
1425
1432
1426
1433
switch (op_type) {
@@ -2572,6 +2579,7 @@ namespace basecode::compiler {
2572
2579
vm::instruction_operand_t (assembler.make_named_ref (
2573
2580
vm::assembler_named_ref_type_t ::offset,
2574
2581
name,
2582
+ {},
2575
2583
vm::op_sizes::word)));
2576
2584
}
2577
2585
@@ -2765,6 +2773,7 @@ namespace basecode::compiler {
2765
2773
vm::instruction_operand_t result_operand (assembler.make_named_ref (
2766
2774
vm::assembler_named_ref_type_t ::local,
2767
2775
temp_local_name (result.type_result .inferred_type ->number_class (), 1 ),
2776
+ {},
2768
2777
vm::op_sizes::byte));
2769
2778
result.operands .emplace_back (result_operand);
2770
2779
@@ -2879,6 +2888,7 @@ namespace basecode::compiler {
2879
2888
vm::instruction_operand_t result_operand (assembler.make_named_ref (
2880
2889
vm::assembler_named_ref_type_t ::local,
2881
2890
temp_local_name (result.type_result .inferred_type ->number_class (), 1 ),
2891
+ {},
2882
2892
size));
2883
2893
result.operands .emplace_back (result_operand);
2884
2894
@@ -2990,7 +3000,7 @@ namespace basecode::compiler {
2990
3000
bool byte_code_emitter::is_temp_local (const vm::instruction_operand_t & operand) {
2991
3001
if (operand.type () == vm::instruction_operand_type_t ::named_ref) {
2992
3002
auto named_ref = *operand.data <vm::assembler_named_ref_t *>();
2993
- return named_ref->name .substr (1 , 4 ) == " temp" ;
3003
+ return named_ref->name1 .substr (1 , 4 ) == " temp" ;
2994
3004
}
2995
3005
return false ;
2996
3006
}
0 commit comments