aboutsummaryrefslogtreecommitdiff
path: root/eval.cc
diff options
context:
space:
mode:
authorShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-02-17 17:19:21 +0900
committerShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-02-17 17:19:21 +0900
commit92a4738218523292a0cec0310023eed194025f24 (patch)
tree384f420b0b9c8254be840caeb22d4b8576522db2 /eval.cc
parent121165ed878d844662a25d5ee3b95ab1ceaddca2 (diff)
[C++] Add a fast path for interning lhs of assignments
Diffstat (limited to 'eval.cc')
-rw-r--r--eval.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/eval.cc b/eval.cc
index 3dfc0e6..be4bb34 100644
--- a/eval.cc
+++ b/eval.cc
@@ -96,7 +96,7 @@ Var* Evaluator::EvalRHS(Symbol lhs, Value* rhs_v, StringPiece orig_rhs,
void Evaluator::EvalAssign(const AssignStmt* stmt) {
loc_ = stmt->loc();
last_rule_ = NULL;
- Symbol lhs = Intern(stmt->lhs->Eval(this));
+ Symbol lhs = stmt->GetLhsSymbol(this);
if (lhs.empty())
Error("*** empty variable name.");
Var* rhs = EvalRHS(lhs, stmt->rhs, stmt->orig_rhs, stmt->op,