Index: src/interpreter/interpreter.cc |
diff --git a/src/interpreter/interpreter.cc b/src/interpreter/interpreter.cc |
index f993724c3e1692a74513b6cc96b764a59b6cf8ad..2d97fc8ef2875e05ba84c74aaf276940fc2bb9df 100644 |
--- a/src/interpreter/interpreter.cc |
+++ b/src/interpreter/interpreter.cc |
@@ -294,15 +294,6 @@ void Interpreter::DoBinaryOp(Runtime::FunctionId function_id, |
} |
-void Interpreter::DoCompareOp(Token::Value op, |
- compiler::InterpreterAssembler* assembler) { |
- // TODO(oth): placeholder until compare path fixed. |
- // The accumulator should be set to true on success (or false otherwise) |
- // by the comparisons so it can be used for conditional jumps. |
- DoLdaTrue(assembler); |
-} |
- |
- |
// Add <src> |
// |
// Add register <src> to accumulator. |
@@ -363,7 +354,7 @@ void Interpreter::DoCall(compiler::InterpreterAssembler* assembler) { |
// |
// Test if the value in the <src> register equals the accumulator. |
void Interpreter::DoTestEqual(compiler::InterpreterAssembler* assembler) { |
- DoCompareOp(Token::Value::EQ, assembler); |
+ DoBinaryOp(Runtime::kInterpreterEquals, assembler); |
} |
@@ -371,7 +362,7 @@ void Interpreter::DoTestEqual(compiler::InterpreterAssembler* assembler) { |
// |
// Test if the value in the <src> register is not equal to the accumulator. |
void Interpreter::DoTestNotEqual(compiler::InterpreterAssembler* assembler) { |
- DoCompareOp(Token::Value::NE, assembler); |
+ DoBinaryOp(Runtime::kInterpreterNotEquals, assembler); |
} |
@@ -379,7 +370,7 @@ void Interpreter::DoTestNotEqual(compiler::InterpreterAssembler* assembler) { |
// |
// Test if the value in the <src> register is strictly equal to the accumulator. |
void Interpreter::DoTestEqualStrict(compiler::InterpreterAssembler* assembler) { |
- DoCompareOp(Token::Value::EQ_STRICT, assembler); |
+ DoBinaryOp(Runtime::kInterpreterStrictEquals, assembler); |
} |
@@ -389,7 +380,7 @@ void Interpreter::DoTestEqualStrict(compiler::InterpreterAssembler* assembler) { |
// accumulator. |
void Interpreter::DoTestNotEqualStrict( |
compiler::InterpreterAssembler* assembler) { |
- DoCompareOp(Token::Value::NE_STRICT, assembler); |
+ DoBinaryOp(Runtime::kInterpreterStrictNotEquals, assembler); |
} |
@@ -397,7 +388,7 @@ void Interpreter::DoTestNotEqualStrict( |
// |
// Test if the value in the <src> register is less than the accumulator. |
void Interpreter::DoTestLessThan(compiler::InterpreterAssembler* assembler) { |
- DoCompareOp(Token::Value::LT, assembler); |
+ DoBinaryOp(Runtime::kInterpreterLessThan, assembler); |
} |
@@ -405,36 +396,36 @@ void Interpreter::DoTestLessThan(compiler::InterpreterAssembler* assembler) { |
// |
// Test if the value in the <src> register is greater than the accumulator. |
void Interpreter::DoTestGreaterThan(compiler::InterpreterAssembler* assembler) { |
- DoCompareOp(Token::Value::GT, assembler); |
+ DoBinaryOp(Runtime::kInterpreterGreaterThan, assembler); |
} |
-// TestLessThanEqual <src> |
+// TestLessThanOrEqual <src> |
// |
// Test if the value in the <src> register is less than or equal to the |
// accumulator. |
-void Interpreter::DoTestLessThanEqual( |
+void Interpreter::DoTestLessThanOrEqual( |
compiler::InterpreterAssembler* assembler) { |
- DoCompareOp(Token::Value::LTE, assembler); |
+ DoBinaryOp(Runtime::kInterpreterLessThanOrEqual, assembler); |
} |
-// TestGreaterThanEqual <src> |
+// TestGreaterThanOrEqual <src> |
// |
// Test if the value in the <src> register is greater than or equal to the |
// accumulator. |
-void Interpreter::DoTestGreaterThanEqual( |
+void Interpreter::DoTestGreaterThanOrEqual( |
compiler::InterpreterAssembler* assembler) { |
- DoCompareOp(Token::Value::GTE, assembler); |
+ DoBinaryOp(Runtime::kInterpreterGreaterThanOrEqual, assembler); |
} |
// TestIn <src> |
// |
-// Test if the value in the <src> register is in the collection referenced |
-// by the accumulator. |
+// Test if the object referenced by the register operand is a property of the |
+// object referenced by the accumulator. |
void Interpreter::DoTestIn(compiler::InterpreterAssembler* assembler) { |
- DoCompareOp(Token::Value::IN, assembler); |
+ DoBinaryOp(Runtime::kHasProperty, assembler); |
} |
@@ -443,7 +434,7 @@ void Interpreter::DoTestIn(compiler::InterpreterAssembler* assembler) { |
// Test if the object referenced by the <src> register is an an instance of type |
// referenced by the accumulator. |
void Interpreter::DoTestInstanceOf(compiler::InterpreterAssembler* assembler) { |
- DoCompareOp(Token::Value::INSTANCEOF, assembler); |
+ DoBinaryOp(Runtime::kInstanceOf, assembler); |
} |