@@ -2605,7 +2605,6 @@ HOT_FUNC int scheduler_entry_point(GlobalContext *glb)
2605
2605
break ;
2606
2606
}
2607
2607
2608
- //TODO: implement wait/1
2609
2608
case OP_WAIT : {
2610
2609
uint32_t label ;
2611
2610
DECODE_LABEL (label , pc )
@@ -2622,7 +2621,6 @@ HOT_FUNC int scheduler_entry_point(GlobalContext *glb)
2622
2621
break ;
2623
2622
}
2624
2623
2625
- //TODO: implement wait_timeout/2
2626
2624
case OP_WAIT_TIMEOUT : {
2627
2625
#ifdef IMPL_EXECUTE_LOOP
2628
2626
// PC for wait_timeout_trap_handler, just before label
@@ -2936,7 +2934,6 @@ HOT_FUNC int scheduler_entry_point(GlobalContext *glb)
2936
2934
#ifdef IMPL_EXECUTE_LOOP
2937
2935
TRACE ("is_number/2, label=%i, arg1=%lx\n" , label , arg1 );
2938
2936
2939
- //TODO: check for floats too
2940
2937
if (!term_is_number (arg1 )) {
2941
2938
pc = mod -> labels [label ];
2942
2939
}
@@ -3278,7 +3275,6 @@ HOT_FUNC int scheduler_entry_point(GlobalContext *glb)
3278
3275
#endif
3279
3276
3280
3277
#ifdef IMPL_EXECUTE_LOOP
3281
- //TODO: check if src_value is a tuple
3282
3278
if (!jump_to_address && ((uint32_t ) arity == cmp_value )) {
3283
3279
jump_to_address = mod -> labels [jmp_label ];
3284
3280
}
@@ -3707,7 +3703,6 @@ HOT_FUNC int scheduler_entry_point(GlobalContext *glb)
3707
3703
3708
3704
#ifdef IMPL_EXECUTE_LOOP
3709
3705
term catch_term = term_from_catch_label (mod -> module_index , label );
3710
- //TODO: here just write to y registers is enough
3711
3706
WRITE_REGISTER (dreg , catch_term );
3712
3707
#endif
3713
3708
break ;
@@ -3720,7 +3715,6 @@ HOT_FUNC int scheduler_entry_point(GlobalContext *glb)
3720
3715
TRACE ("try_end/1, reg=%c%i\n" , T_DEST_REG (dreg ));
3721
3716
3722
3717
#ifdef IMPL_EXECUTE_LOOP
3723
- //TODO: here just write to y registers is enough
3724
3718
WRITE_REGISTER (dreg , term_nil ());
3725
3719
#endif
3726
3720
break ;
@@ -3801,7 +3795,6 @@ HOT_FUNC int scheduler_entry_point(GlobalContext *glb)
3801
3795
3802
3796
#ifdef IMPL_EXECUTE_LOOP
3803
3797
term catch_term = term_from_catch_label (mod -> module_index , label );
3804
- // TODO: here just write to y registers is enough
3805
3798
WRITE_REGISTER (dreg , catch_term );
3806
3799
#endif
3807
3800
break ;
@@ -3814,7 +3807,6 @@ HOT_FUNC int scheduler_entry_point(GlobalContext *glb)
3814
3807
TRACE ("catch_end/1, reg=%c%i\n" , T_DEST_REG (dreg ));
3815
3808
3816
3809
#ifdef IMPL_EXECUTE_LOOP
3817
- // TODO: here just write to y registers is enough
3818
3810
WRITE_REGISTER (dreg , term_nil ());
3819
3811
// C.f. https://www.erlang.org/doc/reference_manual/expressions.html#catch-and-throw
3820
3812
switch (term_to_atom_index (x_regs [0 ])) {
@@ -5556,7 +5548,6 @@ HOT_FUNC int scheduler_entry_point(GlobalContext *glb)
5556
5548
break ;
5557
5549
}
5558
5550
5559
- //TODO: stub, always false
5560
5551
case OP_IS_BITSTR : {
5561
5552
uint32_t label ;
5562
5553
DECODE_LABEL (label , pc )
@@ -5579,8 +5570,6 @@ HOT_FUNC int scheduler_entry_point(GlobalContext *glb)
5579
5570
break ;
5580
5571
}
5581
5572
5582
- // TODO: This opcode is currently uncovered by tests.
5583
- // We need to implement GC bifs with arity 3, e.g. binary_part/3.
5584
5573
case OP_GC_BIF3 : {
5585
5574
uint32_t fail_label ;
5586
5575
DECODE_LABEL (fail_label , pc );
@@ -5654,7 +5643,6 @@ HOT_FUNC int scheduler_entry_point(GlobalContext *glb)
5654
5643
}
5655
5644
5656
5645
#if MINIMUM_OTP_COMPILER_VERSION <= 23
5657
- //TODO: stub, implement recv_mark/1
5658
5646
//it looks like it can be safely left unimplemented
5659
5647
case OP_RECV_MARK : {
5660
5648
uint32_t label ;
@@ -5665,7 +5653,6 @@ HOT_FUNC int scheduler_entry_point(GlobalContext *glb)
5665
5653
break ;
5666
5654
}
5667
5655
5668
- //TODO: stub, implement recv_set/1
5669
5656
//it looks like it can be safely left unimplemented
5670
5657
case OP_RECV_SET : {
5671
5658
uint32_t label ;
0 commit comments