[PERF] Pass a bunch of perf-sensitive smart pointers by reference
authorDodji Seketeli <dodji@redhat.com>
Fri, 11 Dec 2015 08:57:36 +0000 (09:57 +0100)
committerDodji Seketeli <dodji@redhat.com>
Fri, 11 Dec 2015 10:19:57 +0000 (11:19 +0100)
* include/abg-fwd.h (lookup_type_in_corpus, lookup_type_in_scope)
(lookup_var_decl_in_scope): Pass the decls smart pointers by
reference.
* src/abg-ir.cc (lookup_type_in_corpus, lookup_type_in_scope)
(lookup_var_decl_in_scope): Pass the decls smart pointers by
reference, for performance reasons.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
include/abg-fwd.h
src/abg-ir.cc

index 7e8493e..e2be6ee 100644 (file)
@@ -695,19 +695,19 @@ lookup_type_in_corpus(const shared_ptr<type_base>&, corpus&);
 
 const shared_ptr<decl_base>
 lookup_type_in_scope(const string&,
-                    const shared_ptr<scope_decl>);
+                    const shared_ptr<scope_decl>&);
 
 const shared_ptr<decl_base>
 lookup_type_in_scope(const std::list<string>&,
-                    const shared_ptr<scope_decl>);
+                    const shared_ptr<scope_decl>&);
 
 const shared_ptr<decl_base>
 lookup_var_decl_in_scope(const string&,
-                        const shared_ptr<scope_decl>);
+                        const shared_ptr<scope_decl>&);
 
 const shared_ptr<decl_base>
 lookup_var_decl_in_scope(const std::list<string>&,
-                        const shared_ptr<scope_decl>);
+                        const shared_ptr<scope_decl>&);
 
 string
 demangle_cplus_mangled_name(const string&);
index d890ad9..d96c016 100644 (file)
@@ -5818,7 +5818,7 @@ synthesize_function_type_from_translation_unit(const function_type& fn_type,
 /// @return the declaration of the type if found, NULL otherwise.
 const decl_base_sptr
 lookup_type_in_scope(const string& fqn,
-                    const scope_decl_sptr skope)
+                    const scope_decl_sptr& skope)
 {
   list<string> comps;
   fqn_to_components(fqn, comps);
@@ -5835,7 +5835,7 @@ lookup_type_in_scope(const string& fqn,
 /// otherwise.
 const decl_base_sptr
 lookup_var_decl_in_scope(const string& fqn,
-                        const scope_decl_sptr skope)
+                        const scope_decl_sptr& skope)
 {
   list<string> comps;
   fqn_to_components(fqn, comps);
@@ -6020,7 +6020,7 @@ lookup_node_in_scope(const list<string>& fqn,
 /// @return the declaration of the type found.
 const decl_base_sptr
 lookup_type_in_scope(const list<string>& comps,
-                    const scope_decl_sptr scope)
+                    const scope_decl_sptr& scope)
 {return lookup_node_in_scope<type_base>(comps, scope);}
 
 /// lookup a type in a scope.
@@ -6115,7 +6115,7 @@ lookup_type_in_scope(const type_base_sptr type,
 /// @param skope the scope to look into.
 const decl_base_sptr
 lookup_var_decl_in_scope(const std::list<string>& comps,
-                        const scope_decl_sptr skope)
+                        const scope_decl_sptr& skope)
 {return lookup_node_in_scope<var_decl>(comps, skope);}
 
 /// Lookup an IR node from a translation unit.