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 #ifndef V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ | 5 #ifndef V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ |
6 #define V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ | 6 #define V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ |
7 | 7 |
8 #include "src/ast/ast.h" | 8 #include "src/ast/ast.h" |
9 #include "src/interpreter/bytecode-array-writer.h" | 9 #include "src/interpreter/bytecode-array-writer.h" |
10 #include "src/interpreter/bytecode-register-allocator.h" | 10 #include "src/interpreter/bytecode-register-allocator.h" |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 // Deletes property from an object. This expects that accumulator contains | 207 // Deletes property from an object. This expects that accumulator contains |
208 // the key to be deleted and the register contains a reference to the object. | 208 // the key to be deleted and the register contains a reference to the object. |
209 BytecodeArrayBuilder& Delete(Register object, LanguageMode language_mode); | 209 BytecodeArrayBuilder& Delete(Register object, LanguageMode language_mode); |
210 | 210 |
211 // Tests. | 211 // Tests. |
212 BytecodeArrayBuilder& CompareOperation(Token::Value op, Register reg); | 212 BytecodeArrayBuilder& CompareOperation(Token::Value op, Register reg); |
213 | 213 |
214 // Casts. | 214 // Casts. |
215 BytecodeArrayBuilder& CastAccumulatorToBoolean(); | 215 BytecodeArrayBuilder& CastAccumulatorToBoolean(); |
216 BytecodeArrayBuilder& CastAccumulatorToJSObject(); | 216 BytecodeArrayBuilder& CastAccumulatorToJSObject(); |
217 BytecodeArrayBuilder& CastAccumulatorToName(); | 217 // Does not update the accumulator but stores to the register operand instead. |
| 218 BytecodeArrayBuilder& CastAccumulatorToName(Register out); |
218 // Does not update the accumulator but stores to the register operand instead. | 219 // Does not update the accumulator but stores to the register operand instead. |
219 BytecodeArrayBuilder& CastAccumulatorToNumber(Register out); | 220 BytecodeArrayBuilder& CastAccumulatorToNumber(Register out); |
220 | 221 |
221 // Flow Control. | 222 // Flow Control. |
222 BytecodeArrayBuilder& Bind(BytecodeLabel* label); | 223 BytecodeArrayBuilder& Bind(BytecodeLabel* label); |
223 BytecodeArrayBuilder& Bind(const BytecodeLabel& target, BytecodeLabel* label); | 224 BytecodeArrayBuilder& Bind(const BytecodeLabel& target, BytecodeLabel* label); |
224 | 225 |
225 BytecodeArrayBuilder& Jump(BytecodeLabel* label); | 226 BytecodeArrayBuilder& Jump(BytecodeLabel* label); |
226 BytecodeArrayBuilder& JumpIfTrue(BytecodeLabel* label); | 227 BytecodeArrayBuilder& JumpIfTrue(BytecodeLabel* label); |
227 BytecodeArrayBuilder& JumpIfFalse(BytecodeLabel* label); | 228 BytecodeArrayBuilder& JumpIfFalse(BytecodeLabel* label); |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
372 BytecodeSourceInfo latest_source_info_; | 373 BytecodeSourceInfo latest_source_info_; |
373 | 374 |
374 DISALLOW_COPY_AND_ASSIGN(BytecodeArrayBuilder); | 375 DISALLOW_COPY_AND_ASSIGN(BytecodeArrayBuilder); |
375 }; | 376 }; |
376 | 377 |
377 } // namespace interpreter | 378 } // namespace interpreter |
378 } // namespace internal | 379 } // namespace internal |
379 } // namespace v8 | 380 } // namespace v8 |
380 | 381 |
381 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ | 382 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ |
OLD | NEW |