]> sourceware.org Git - systemtap.git/commitdiff
query_inline_instance_info(): add well-formed probe point
authorJonathan Lebon <jlebon@redhat.com>
Wed, 14 May 2014 13:34:08 +0000 (09:34 -0400)
committerJonathan Lebon <jlebon@redhat.com>
Tue, 27 May 2014 14:14:01 +0000 (10:14 -0400)
We create the final well-formed probe point before actually creating the
derived probe.

tapsets.cxx

index 217fbc41f806efe4825fa456ce9bb98eb52a291c..f1d006e5fded3e5f232659540e8bcfff909260c8 100644 (file)
@@ -1750,11 +1750,23 @@ query_inline_instance_info (inline_instance_info & ii,
   try
     {
       assert (! q->has_return); // checked by caller already
+      assert (q->has_function_str || q->has_statement_str);
+
       if (q->sess.verbose>2)
         clog << _F("querying entrypc %#" PRIx64 " of instance of inline '%s'\n",
                    ii.entrypc, ii.name.c_str());
+
+      string canon_func = q->final_function_name(ii.name, ii.decl_file,
+                                                 ii.decl_line);
+
+      q->mount_well_formed_probe_point();
+      q->replace_probe_point_component_arg(TOK_FUNCTION, canon_func);
+      q->replace_probe_point_component_arg(TOK_STATEMENT, canon_func);
+
       query_statement (ii.name, ii.decl_file, ii.decl_line,
                        &ii.die, ii.entrypc, q);
+
+      q->unmount_well_formed_probe_point();
     }
   catch (semantic_error &e)
     {
This page took 0.050339 seconds and 5 git commands to generate.