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 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
455 CodeAssembler* assembler, | 455 CodeAssembler* assembler, |
456 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred) | 456 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred) |
457 : CodeAssemblerLabel(assembler, 0, nullptr, type) {} | 457 : CodeAssemblerLabel(assembler, 0, nullptr, type) {} |
458 CodeAssemblerLabel( | 458 CodeAssemblerLabel( |
459 CodeAssembler* assembler, | 459 CodeAssembler* assembler, |
460 const CodeAssemblerVariableList& merged_variables, | 460 const CodeAssemblerVariableList& merged_variables, |
461 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred) | 461 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred) |
462 : CodeAssemblerLabel(assembler, merged_variables.length(), | 462 : CodeAssemblerLabel(assembler, merged_variables.length(), |
463 &(merged_variables[0]), type) {} | 463 &(merged_variables[0]), type) {} |
464 CodeAssemblerLabel( | 464 CodeAssemblerLabel( |
465 CodeAssembler* assembler, size_t count, CodeAssemblerVariable** vars, | 465 CodeAssembler* assembler, size_t count, |
| 466 CodeAssemblerVariable* const* vars, |
466 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred); | 467 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred); |
467 CodeAssemblerLabel( | 468 CodeAssemblerLabel( |
| 469 CodeAssembler* assembler, |
| 470 std::initializer_list<CodeAssemblerVariable*> vars, |
| 471 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred) |
| 472 : CodeAssemblerLabel(assembler, vars.size(), vars.begin(), type) {} |
| 473 CodeAssemblerLabel( |
468 CodeAssembler* assembler, CodeAssemblerVariable* merged_variable, | 474 CodeAssembler* assembler, CodeAssemblerVariable* merged_variable, |
469 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred) | 475 CodeAssemblerLabel::Type type = CodeAssemblerLabel::kNonDeferred) |
470 : CodeAssemblerLabel(assembler, 1, &merged_variable, type) {} | 476 : CodeAssemblerLabel(assembler, 1, &merged_variable, type) {} |
471 ~CodeAssemblerLabel(); | 477 ~CodeAssemblerLabel(); |
472 | 478 |
473 private: | 479 private: |
474 friend class CodeAssembler; | 480 friend class CodeAssembler; |
475 | 481 |
476 void Bind(); | 482 void Bind(); |
477 void MergeVariables(); | 483 void MergeVariables(); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
525 CodeAssemblerCallback call_epilogue_; | 531 CodeAssemblerCallback call_epilogue_; |
526 | 532 |
527 DISALLOW_COPY_AND_ASSIGN(CodeAssemblerState); | 533 DISALLOW_COPY_AND_ASSIGN(CodeAssemblerState); |
528 }; | 534 }; |
529 | 535 |
530 } // namespace compiler | 536 } // namespace compiler |
531 } // namespace internal | 537 } // namespace internal |
532 } // namespace v8 | 538 } // namespace v8 |
533 | 539 |
534 #endif // V8_COMPILER_CODE_ASSEMBLER_H_ | 540 #endif // V8_COMPILER_CODE_ASSEMBLER_H_ |
OLD | NEW |