Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[mc] Remove a ugly special case in LocationListEntry
[simgrid.git] / src / mc / DwarfExpression.cpp
index 472a2a5..6c90f31 100644 (file)
 #include <dwarf.h>
 #include <elfutils/libdw.h>
 
-#include "mc_object_info.h"
-#include "mc_private.h"
+#include "src/mc/mc_object_info.h"
+#include "src/mc/mc_private.h"
 #include "src/mc/LocationList.hpp"
 #include "src/mc/AddressSpace.hpp"
 #include "src/mc/Frame.hpp"
 #include "src/mc/ObjectInformation.hpp"
 #include "src/mc/DwarfExpression.hpp"
-#include "mc_dwarf.hpp"
+#include "src/mc/mc_dwarf.hpp"
 
 using simgrid::mc::remote;
 
@@ -70,11 +70,12 @@ void execute(
     case DW_OP_breg29:
     case DW_OP_breg30:
     case DW_OP_breg31:{
+        // Push register + constant:
         int register_id = simgrid::dwarf::dwarf_register_to_libunwind(
           op->atom - DW_OP_breg0);
         unw_word_t res;
         if (!context.cursor)
-          throw evaluation_error("Missin stack context");
+          throw evaluation_error("Missing stack context");
         unw_get_reg(context.cursor, register_id, &res);
         stack.push(res + op->number);
         break;
@@ -117,7 +118,6 @@ void execute(
       // ***** Constants:
 
       // Short constant literals:
-      // DW_OP_lit15 pushed the 15 on the stack.
     case DW_OP_lit0:
     case DW_OP_lit1:
     case DW_OP_lit2:
@@ -150,6 +150,7 @@ void execute(
     case DW_OP_lit29:
     case DW_OP_lit30:
     case DW_OP_lit31:
+      // Push a literal/constant on the stack:
       stack.push(atom - DW_OP_lit0);
       break;
 
@@ -191,9 +192,8 @@ void execute(
       stack.pop();
       break;
 
-      // Swap the two top-most value of the stack:
     case DW_OP_swap:
-      std::swap(stack.top(), stack.top(1));
+      stack.swap();
       break;
 
       // Duplicate the value under the top of the stack: