| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/interpreter/interpreter.h" | 5 #include "src/interpreter/interpreter.h" |
| 6 | 6 |
| 7 #include "src/compiler.h" | 7 #include "src/compiler.h" |
| 8 #include "src/compiler/interpreter-assembler.h" | 8 #include "src/compiler/interpreter-assembler.h" |
| 9 #include "src/factory.h" | 9 #include "src/factory.h" |
| 10 #include "src/interpreter/bytecodes.h" | 10 #include "src/interpreter/bytecodes.h" |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 #undef GENERATE_CODE | 46 #undef GENERATE_CODE |
| 47 } | 47 } |
| 48 } | 48 } |
| 49 | 49 |
| 50 | 50 |
| 51 // LdaZero | 51 // LdaZero |
| 52 // | 52 // |
| 53 // Load literal '0' into the accumulator. | 53 // Load literal '0' into the accumulator. |
| 54 void Interpreter::DoLdaZero(compiler::InterpreterAssembler* assembler) { | 54 void Interpreter::DoLdaZero(compiler::InterpreterAssembler* assembler) { |
| 55 // TODO(rmcilroy) Implement. | 55 // TODO(rmcilroy) Implement. |
| 56 __ Dispatch(); |
| 56 } | 57 } |
| 57 | 58 |
| 58 | 59 |
| 59 // LdaSmi8 <imm8> | 60 // LdaSmi8 <imm8> |
| 60 // | 61 // |
| 61 // Load an 8-bit integer literal into the accumulator as a Smi. | 62 // Load an 8-bit integer literal into the accumulator as a Smi. |
| 62 void Interpreter::DoLdaSmi8(compiler::InterpreterAssembler* assembler) { | 63 void Interpreter::DoLdaSmi8(compiler::InterpreterAssembler* assembler) { |
| 63 // TODO(rmcilroy) Implement 8-bit integer to SMI promotion. | 64 // TODO(rmcilroy) Implement 8-bit integer to SMI promotion. |
| 65 __ Dispatch(); |
| 64 } | 66 } |
| 65 | 67 |
| 66 | 68 |
| 67 // LdaUndefined | 69 // LdaUndefined |
| 68 // | 70 // |
| 69 // Load Undefined into the accumulator. | 71 // Load Undefined into the accumulator. |
| 70 void Interpreter::DoLdaUndefined(compiler::InterpreterAssembler* assembler) { | 72 void Interpreter::DoLdaUndefined(compiler::InterpreterAssembler* assembler) { |
| 71 // TODO(rmcilroy) Implement. | 73 // TODO(rmcilroy) Implement. |
| 74 __ Dispatch(); |
| 72 } | 75 } |
| 73 | 76 |
| 74 | 77 |
| 75 // LdaNull | 78 // LdaNull |
| 76 // | 79 // |
| 77 // Load Null into the accumulator. | 80 // Load Null into the accumulator. |
| 78 void Interpreter::DoLdaNull(compiler::InterpreterAssembler* assembler) { | 81 void Interpreter::DoLdaNull(compiler::InterpreterAssembler* assembler) { |
| 79 // TODO(rmcilroy) Implement. | 82 // TODO(rmcilroy) Implement. |
| 83 __ Dispatch(); |
| 80 } | 84 } |
| 81 | 85 |
| 82 | 86 |
| 83 // LdaTheHole | 87 // LdaTheHole |
| 84 // | 88 // |
| 85 // Load TheHole into the accumulator. | 89 // Load TheHole into the accumulator. |
| 86 void Interpreter::DoLdaTheHole(compiler::InterpreterAssembler* assembler) { | 90 void Interpreter::DoLdaTheHole(compiler::InterpreterAssembler* assembler) { |
| 87 // TODO(rmcilroy) Implement. | 91 // TODO(rmcilroy) Implement. |
| 92 __ Dispatch(); |
| 88 } | 93 } |
| 89 | 94 |
| 90 | 95 |
| 91 // LdaTrue | 96 // LdaTrue |
| 92 // | 97 // |
| 93 // Load True into the accumulator. | 98 // Load True into the accumulator. |
| 94 void Interpreter::DoLdaTrue(compiler::InterpreterAssembler* assembler) { | 99 void Interpreter::DoLdaTrue(compiler::InterpreterAssembler* assembler) { |
| 95 // TODO(rmcilroy) Implement. | 100 // TODO(rmcilroy) Implement. |
| 101 __ Dispatch(); |
| 96 } | 102 } |
| 97 | 103 |
| 98 | 104 |
| 99 // LdaFalse | 105 // LdaFalse |
| 100 // | 106 // |
| 101 // Load False into the accumulator. | 107 // Load False into the accumulator. |
| 102 void Interpreter::DoLdaFalse(compiler::InterpreterAssembler* assembler) { | 108 void Interpreter::DoLdaFalse(compiler::InterpreterAssembler* assembler) { |
| 103 // TODO(rmcilroy) Implement. | 109 // TODO(rmcilroy) Implement. |
| 110 __ Dispatch(); |
| 104 } | 111 } |
| 105 | 112 |
| 106 | 113 |
| 107 // Ldar <src> | 114 // Ldar <src> |
| 108 // | 115 // |
| 109 // Load accumulator with value from register <src>. | 116 // Load accumulator with value from register <src>. |
| 110 void Interpreter::DoLdar(compiler::InterpreterAssembler* assembler) { | 117 void Interpreter::DoLdar(compiler::InterpreterAssembler* assembler) { |
| 111 // TODO(rmcilroy) Implement. | 118 // TODO(rmcilroy) Implement. |
| 119 __ Dispatch(); |
| 112 } | 120 } |
| 113 | 121 |
| 114 | 122 |
| 115 // Star <dst> | 123 // Star <dst> |
| 116 // | 124 // |
| 117 // Store accumulator to register <dst>. | 125 // Store accumulator to register <dst>. |
| 118 void Interpreter::DoStar(compiler::InterpreterAssembler* assembler) { | 126 void Interpreter::DoStar(compiler::InterpreterAssembler* assembler) { |
| 119 // TODO(rmcilroy) Implement. | 127 // TODO(rmcilroy) Implement. |
| 128 __ Dispatch(); |
| 120 } | 129 } |
| 121 | 130 |
| 122 | 131 |
| 123 // Add <src> | 132 // Add <src> |
| 124 // | 133 // |
| 125 // Add register <src> to accumulator. | 134 // Add register <src> to accumulator. |
| 126 void Interpreter::DoAdd(compiler::InterpreterAssembler* assembler) { | 135 void Interpreter::DoAdd(compiler::InterpreterAssembler* assembler) { |
| 127 // TODO(rmcilroy) Implement. | 136 // TODO(rmcilroy) Implement. |
| 137 __ Dispatch(); |
| 128 } | 138 } |
| 129 | 139 |
| 130 | 140 |
| 131 // Sub <src> | 141 // Sub <src> |
| 132 // | 142 // |
| 133 // Subtract register <src> from accumulator. | 143 // Subtract register <src> from accumulator. |
| 134 void Interpreter::DoSub(compiler::InterpreterAssembler* assembler) { | 144 void Interpreter::DoSub(compiler::InterpreterAssembler* assembler) { |
| 135 // TODO(rmcilroy) Implement. | 145 // TODO(rmcilroy) Implement. |
| 146 __ Dispatch(); |
| 136 } | 147 } |
| 137 | 148 |
| 138 | 149 |
| 139 // Mul <src> | 150 // Mul <src> |
| 140 // | 151 // |
| 141 // Multiply accumulator by register <src>. | 152 // Multiply accumulator by register <src>. |
| 142 void Interpreter::DoMul(compiler::InterpreterAssembler* assembler) { | 153 void Interpreter::DoMul(compiler::InterpreterAssembler* assembler) { |
| 143 // TODO(rmcilroy) Implement add register to accumulator. | 154 // TODO(rmcilroy) Implement add register to accumulator. |
| 155 __ Dispatch(); |
| 144 } | 156 } |
| 145 | 157 |
| 146 | 158 |
| 147 // Div <src> | 159 // Div <src> |
| 148 // | 160 // |
| 149 // Divide register <src> by accumulator. | 161 // Divide register <src> by accumulator. |
| 150 void Interpreter::DoDiv(compiler::InterpreterAssembler* assembler) { | 162 void Interpreter::DoDiv(compiler::InterpreterAssembler* assembler) { |
| 151 // TODO(rmcilroy) Implement. | 163 // TODO(rmcilroy) Implement. |
| 164 __ Dispatch(); |
| 152 } | 165 } |
| 153 | 166 |
| 154 | 167 |
| 155 // Return | 168 // Return |
| 156 // | 169 // |
| 157 // Return the value in register 0. | 170 // Return the value in register 0. |
| 158 void Interpreter::DoReturn(compiler::InterpreterAssembler* assembler) { | 171 void Interpreter::DoReturn(compiler::InterpreterAssembler* assembler) { |
| 159 __ Return(); | 172 __ Return(); |
| 160 } | 173 } |
| 161 | 174 |
| 162 | 175 |
| 163 } // namespace interpreter | 176 } // namespace interpreter |
| 164 } // namespace internal | 177 } // namespace internal |
| 165 } // namespace v8 | 178 } // namespace v8 |
| OLD | NEW |