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/base/compiler-specific.h" | 9 #include "src/base/compiler-specific.h" |
10 #include "src/globals.h" | 10 #include "src/globals.h" |
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
322 BytecodeArrayBuilder& CompareUndetectable(); | 322 BytecodeArrayBuilder& CompareUndetectable(); |
323 BytecodeArrayBuilder& CompareUndefined(); | 323 BytecodeArrayBuilder& CompareUndefined(); |
324 BytecodeArrayBuilder& CompareNull(); | 324 BytecodeArrayBuilder& CompareNull(); |
325 BytecodeArrayBuilder& CompareNil(Token::Value op, NilValue nil); | 325 BytecodeArrayBuilder& CompareNil(Token::Value op, NilValue nil); |
326 BytecodeArrayBuilder& CompareTypeOf( | 326 BytecodeArrayBuilder& CompareTypeOf( |
327 TestTypeOfFlags::LiteralFlag literal_flag); | 327 TestTypeOfFlags::LiteralFlag literal_flag); |
328 | 328 |
329 // Converts accumulator and stores result in register |out|. | 329 // Converts accumulator and stores result in register |out|. |
330 BytecodeArrayBuilder& ConvertAccumulatorToObject(Register out); | 330 BytecodeArrayBuilder& ConvertAccumulatorToObject(Register out); |
331 BytecodeArrayBuilder& ConvertAccumulatorToName(Register out); | 331 BytecodeArrayBuilder& ConvertAccumulatorToName(Register out); |
332 BytecodeArrayBuilder& ConvertAccumulatorToNumber(Register out); | 332 BytecodeArrayBuilder& ConvertAccumulatorToNumber(Register out, |
| 333 int feedback_slot); |
333 | 334 |
334 // Flow Control. | 335 // Flow Control. |
335 BytecodeArrayBuilder& Bind(BytecodeLabel* label); | 336 BytecodeArrayBuilder& Bind(BytecodeLabel* label); |
336 BytecodeArrayBuilder& Bind(const BytecodeLabel& target, BytecodeLabel* label); | 337 BytecodeArrayBuilder& Bind(const BytecodeLabel& target, BytecodeLabel* label); |
337 | 338 |
338 BytecodeArrayBuilder& Jump(BytecodeLabel* label); | 339 BytecodeArrayBuilder& Jump(BytecodeLabel* label); |
339 BytecodeArrayBuilder& JumpLoop(BytecodeLabel* label, int loop_depth); | 340 BytecodeArrayBuilder& JumpLoop(BytecodeLabel* label, int loop_depth); |
340 | 341 |
341 BytecodeArrayBuilder& JumpIfTrue(ToBooleanMode mode, BytecodeLabel* label); | 342 BytecodeArrayBuilder& JumpIfTrue(ToBooleanMode mode, BytecodeLabel* label); |
342 BytecodeArrayBuilder& JumpIfFalse(ToBooleanMode mode, BytecodeLabel* label); | 343 BytecodeArrayBuilder& JumpIfFalse(ToBooleanMode mode, BytecodeLabel* label); |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
512 }; | 513 }; |
513 | 514 |
514 V8_EXPORT_PRIVATE std::ostream& operator<<( | 515 V8_EXPORT_PRIVATE std::ostream& operator<<( |
515 std::ostream& os, const BytecodeArrayBuilder::ToBooleanMode& mode); | 516 std::ostream& os, const BytecodeArrayBuilder::ToBooleanMode& mode); |
516 | 517 |
517 } // namespace interpreter | 518 } // namespace interpreter |
518 } // namespace internal | 519 } // namespace internal |
519 } // namespace v8 | 520 } // namespace v8 |
520 | 521 |
521 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ | 522 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ |
OLD | NEW |