From aca66a36681ac7cbf7fcc2eac4dafc83d6559ef9 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Wed, 2 Sep 2009 16:14:08 -0700 Subject: Unify lex_cast* and avoid string copies We always use lex_cast either to string or from string, so I made that explicit, and got rid of some string copies in the process. There was also stringify(), which was redundant to lex_cast. We also always used lex_cast_hex to string, so that's now hard-coded and again eliminated a string copy. For lex_cast_qstring, there's no need to write the streamify the input, so a specialization now operates directly on the input. Hopefully this is a bit cleaner, and I do measure it to be a little faster on scripts with many probes. --- elaborate.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'elaborate.cxx') diff --git a/elaborate.cxx b/elaborate.cxx index 17f335d0..c1a2e898 100644 --- a/elaborate.cxx +++ b/elaborate.cxx @@ -331,7 +331,7 @@ match_node::find_and_build (systemtap_session& s, alternatives += string(" ") + i->first.str(); throw semantic_error (string("probe point truncated at position ") + - lex_cast (pos) + + lex_cast (pos) + " (follow:" + alternatives + ")", loc->tok); } @@ -416,7 +416,7 @@ match_node::find_and_build (systemtap_session& s, alternatives += string(" ") + i->first.str(); throw semantic_error(string("probe point mismatch at position ") + - lex_cast (pos) + + lex_cast (pos) + " (alternatives:" + alternatives + ")" + " didn't find any wildcard matches", loc->tok); @@ -433,7 +433,7 @@ match_node::find_and_build (systemtap_session& s, alternatives += string(" ") + i->first.str(); throw semantic_error (string("probe point mismatch at position ") + - lex_cast (pos) + + lex_cast (pos) + " (alternatives:" + alternatives + ")", loc->tok); } -- cgit