case DW_OP_bra: // 0x28
break;
case DW_OP_call2: // 0x98
+ // 2019/09/10 (Required TEST!!)
w_value = *((Word *)pb_now);
pb_now += 2;
qw_remain -= 2;
p_exp->b_callers++;
p_exp->dw_depth = dw_depth_resume;
p_exp->dw_status = LIBGOBLIN_DWARF_STATUS_CALLING;
+
goto goto_DWARF_Expression_Evaluate_post;
- break;
+ break; // NOT reach.
case DW_OP_call4: // 0x99
- break;
+ // 2019/09/10 (Required TEST!!)
+ dw_value = *((DWord *)pb_now);
+ pb_now += 4;
+ qw_remain -= 4;
+
+ p_exp->qw_calloffset = (QWord)dw_value;
+ p_exp->caller[ p_exp->b_callers ].pb_return = pb_resume;
+ p_exp->caller[ p_exp->b_callers ].qw_retremain = qw_resume;
+ p_exp->b_callers++;
+ p_exp->dw_depth = dw_depth_resume;
+ p_exp->dw_status = LIBGOBLIN_DWARF_STATUS_CALLING;
+
+ goto goto_DWARF_Expression_Evaluate_post;
+ break; // NOT reach.
case DW_OP_call_ref: // 0x9a
break;