- s_mc_expression_state_t state;
- memset(&state, 0, sizeof(s_mc_expression_state_t));
- state.frame_base = frame_pointer_address;
- state.cursor = c;
- state.address_space = address_space;
- state.object_info = object_info;
- state.process_index = process_index;
-
- if (expression->size() >= 1
- && (*expression)[0].atom >=DW_OP_reg0
- && (*expression)[0].atom <= DW_OP_reg31) {
- int dwarf_register = (*expression)[0].atom - DW_OP_reg0;
+ simgrid::dwarf::ExpressionContext context;
+ context.frame_base = frame_pointer_address;
+ context.cursor = c;
+ context.address_space = address_space;
+ context.object_info = object_info;
+ context.process_index = process_index;
+
+ if (!expression.empty()
+ && expression[0].atom >= DW_OP_reg0
+ && expression[0].atom <= DW_OP_reg31) {
+ int dwarf_register = expression[0].atom - DW_OP_reg0;