Chromium Code Reviews| Index: src/interpreter/interpreter.cc |
| diff --git a/src/interpreter/interpreter.cc b/src/interpreter/interpreter.cc |
| index a9b12eaed01a19b5c8423ece72f1516205429f95..0eafe40ae1c39e8f00c378acb5587ca482b718f3 100644 |
| --- a/src/interpreter/interpreter.cc |
| +++ b/src/interpreter/interpreter.cc |
| @@ -201,6 +201,28 @@ void Interpreter::DoStar(compiler::InterpreterAssembler* assembler) { |
| } |
| +// Exchange <reg8> <reg16> |
| +// |
| +// Exchange two registers. |
| +void Interpreter::DoExchange(compiler::InterpreterAssembler* assembler) { |
| + Node* r0 = __ BytecodeOperandReg(0); |
| + Node* r1 = __ BytecodeOperandReg(1); |
| + Node* v0 = __ LoadRegister(r0); |
| + Node* v1 = __ LoadRegister(r1); |
|
rmcilroy
2016/01/04 11:54:54
nit - non-single character variable names.
oth
2016/01/04 14:01:42
Done.
|
| + __ StoreRegister(v1, r0); |
| + __ StoreRegister(v0, r1); |
| + __ Dispatch(); |
| +} |
| + |
| + |
| +// ExchangeWide <reg16> <reg16> |
| +// |
| +// Exchange two registers. |
| +void Interpreter::DoExchangeWide(compiler::InterpreterAssembler* assembler) { |
| + return DoExchange(assembler); |
| +} |
| + |
| + |
| // Mov <src> <dst> |
| // |
| // Stores the value of register <src> to register <dst>. |