Skip to content

Commit

Permalink
use const reference in SymbolTable lookup to avoid possible copy
Browse files Browse the repository at this point in the history
  • Loading branch information
nazgob committed May 17, 2012
1 parent 1fc13f2 commit 29f2f9f
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 5 deletions.
6 changes: 3 additions & 3 deletions vm/symboltable.cpp
Expand Up @@ -96,11 +96,11 @@ namespace rubinius {
return 0; return 0;
} }


Symbol* SymbolTable::lookup(SharedState* shared, std::string str) { Symbol* SymbolTable::lookup(SharedState* shared, const std::string& str) {
return lookup(str.data(), str.size(), shared->hash_seed); return lookup(str.data(), str.size(), shared->hash_seed);
} }


Symbol* SymbolTable::lookup(STATE, std::string str) { Symbol* SymbolTable::lookup(STATE, const std::string& str) {
return lookup(str.data(), str.size(), state->hash_seed()); return lookup(str.data(), str.size(), state->hash_seed());
} }


Expand All @@ -125,7 +125,7 @@ namespace rubinius {
symbols[hash] = v; symbols[hash] = v;
} else { } else {
SymbolIds& v = entry->second; SymbolIds& v = entry->second;
for(SymbolIds::iterator i = v.begin(); i != v.end(); ++i) { for(SymbolIds::const_iterator i = v.begin(); i != v.end(); ++i) {
std::string& s = strings[*i]; std::string& s = strings[*i];


if(!strncmp(s.data(), str, length)) return Symbol::from_index(*i); if(!strncmp(s.data(), str, length)) return Symbol::from_index(*i);
Expand Down
4 changes: 2 additions & 2 deletions vm/symboltable.hpp
Expand Up @@ -66,8 +66,8 @@ namespace rubinius {
return bytes_used_; return bytes_used_;
} }


Symbol* lookup(SharedState* shared, std::string str); Symbol* lookup(SharedState* shared, const std::string& str);
Symbol* lookup(STATE, std::string str); Symbol* lookup(STATE, const std::string& str);
Symbol* lookup(STATE, const char* str, size_t length); Symbol* lookup(STATE, const char* str, size_t length);
Symbol* lookup(STATE, String* str); Symbol* lookup(STATE, String* str);
String* lookup_string(STATE, const Symbol* sym); String* lookup_string(STATE, const Symbol* sym);
Expand Down

0 comments on commit 29f2f9f

Please sign in to comment.