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_COMPILER_CODE_ASSEMBLER_H_ | 5 #ifndef V8_COMPILER_CODE_ASSEMBLER_H_ |
6 #define V8_COMPILER_CODE_ASSEMBLER_H_ | 6 #define V8_COMPILER_CODE_ASSEMBLER_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
451 CodeAssembler* assembler, | 451 CodeAssembler* assembler, |
452 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred) | 452 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred) |
453 : CodeAssemblerLabel(assembler, 0, nullptr, type) {} | 453 : CodeAssemblerLabel(assembler, 0, nullptr, type) {} |
454 CodeAssemblerLabel( | 454 CodeAssemblerLabel( |
455 CodeAssembler* assembler, | 455 CodeAssembler* assembler, |
456 const CodeAssemblerVariableList& merged_variables, | 456 const CodeAssemblerVariableList& merged_variables, |
457 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred) | 457 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred) |
458 : CodeAssemblerLabel(assembler, merged_variables.length(), | 458 : CodeAssemblerLabel(assembler, merged_variables.length(), |
459 &(merged_variables[0]), type) {} | 459 &(merged_variables[0]), type) {} |
460 CodeAssemblerLabel( | 460 CodeAssemblerLabel( |
461 CodeAssembler* assembler, size_t count, CodeAssemblerVariable** vars, | 461 CodeAssembler* assembler, size_t count, |
| 462 CodeAssemblerVariable* const* vars, |
462 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred); | 463 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred); |
463 CodeAssemblerLabel( | 464 CodeAssemblerLabel( |
| 465 CodeAssembler* assembler, |
| 466 std::initializer_list<CodeAssemblerVariable*> vars, |
| 467 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred) |
| 468 : CodeAssemblerLabel(assembler, vars.size(), vars.begin(), type) {} |
| 469 CodeAssemblerLabel( |
464 CodeAssembler* assembler, CodeAssemblerVariable* merged_variable, | 470 CodeAssembler* assembler, CodeAssemblerVariable* merged_variable, |
465 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred) | 471 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred) |
466 : CodeAssemblerLabel(assembler, 1, &merged_variable, type) {} | 472 : CodeAssemblerLabel(assembler, 1, &merged_variable, type) {} |
467 ~CodeAssemblerLabel(); | 473 ~CodeAssemblerLabel(); |
468 | 474 |
469 private: | 475 private: |
470 friend class CodeAssembler; | 476 friend class CodeAssembler; |
471 | 477 |
472 void Bind(); | 478 void Bind(); |
473 void MergeVariables(); | 479 void MergeVariables(); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
521 CodeAssemblerCallback call_epilogue_; | 527 CodeAssemblerCallback call_epilogue_; |
522 | 528 |
523 DISALLOW_COPY_AND_ASSIGN(CodeAssemblerState); | 529 DISALLOW_COPY_AND_ASSIGN(CodeAssemblerState); |
524 }; | 530 }; |
525 | 531 |
526 } // namespace compiler | 532 } // namespace compiler |
527 } // namespace internal | 533 } // namespace internal |
528 } // namespace v8 | 534 } // namespace v8 |
529 | 535 |
530 #endif // V8_COMPILER_CODE_ASSEMBLER_H_ | 536 #endif // V8_COMPILER_CODE_ASSEMBLER_H_ |
OLD | NEW |