]> sourceware.org Git - systemtap.git/commitdiff
tapsets.cxx: simplify query_srcfile_label
authorJonathan Lebon <jlebon@redhat.com>
Fri, 4 Apr 2014 17:25:07 +0000 (13:25 -0400)
committerJonathan Lebon <jlebon@redhat.com>
Thu, 17 Apr 2014 21:42:36 +0000 (17:42 -0400)
The query_srcfile_line() callback checked if the query had a
statement(str). This could have evaluated to false in the past (when
query_cu() treated both .statement(str) and .statement(num)), but now
query_srcfile_line() is only used for statement/function(func@file:N)
probes, so we can simplify it.

tapsets.cxx

index 65721580e7088b3614f61fa74ca91d3a823d59b4..ef179615c84fdff29cc9b43a5ad50f07bf523685 100644 (file)
@@ -1746,6 +1746,9 @@ query_srcfile_label (const dwarf_line_t& line, dwarf_query * q)
 static void
 query_srcfile_line (const dwarf_line_t& line, dwarf_query * q)
 {
+  assert (q->has_statement_str || q->has_function_str);
+  assert (q->spec_type == function_file_and_line);
+
   Dwarf_Addr addr = line.addr();
 
   int lineno = line.lineno();
@@ -1757,16 +1760,11 @@ query_srcfile_line (const dwarf_line_t& line, dwarf_query * q)
        {
          if (q->sess.verbose>3)
            clog << _("function DIE lands on srcfile\n");
-         if (q->has_statement_str)
-            {
-              Dwarf_Die scope;
-              q->dw.inner_die_containing_pc(i->die, addr, scope);
-              query_statement (i->name, i->decl_file,
-                               lineno, // NB: not q->line !
-                               &scope, addr, q);
-            }
-         else
-           query_func_info (i->entrypc, *i, q);
+         Dwarf_Die scope;
+         q->dw.inner_die_containing_pc(i->die, addr, scope);
+         query_statement (i->name, i->decl_file,
+                          lineno, // NB: not q->line !
+                          &scope, addr, q);
        }
     }
 
@@ -1778,16 +1776,11 @@ query_srcfile_line (const dwarf_line_t& line, dwarf_query * q)
        {
          if (q->sess.verbose>3)
            clog << _("inline instance DIE lands on srcfile\n");
-         if (q->has_statement_str)
-            {
-              Dwarf_Die scope;
-              q->dw.inner_die_containing_pc(i->die, addr, scope);
-              query_statement (i->name, i->decl_file,
-                               lineno, // NB: not q->line !
-                               &scope, addr, q);
-            }
-         else
-           query_inline_instance_info (*i, q);
+         Dwarf_Die scope;
+         q->dw.inner_die_containing_pc(i->die, addr, scope);
+         query_statement (i->name, i->decl_file,
+                          lineno, // NB: not q->line !
+                          &scope, addr, q);
        }
     }
 }
This page took 0.049535 seconds and 5 git commands to generate.