summaryrefslogtreecommitdiff
path: root/deps/v8/test/cctest/interpreter/generate-bytecode-expectations.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/cctest/interpreter/generate-bytecode-expectations.cc')
-rw-r--r--deps/v8/test/cctest/interpreter/generate-bytecode-expectations.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/deps/v8/test/cctest/interpreter/generate-bytecode-expectations.cc b/deps/v8/test/cctest/interpreter/generate-bytecode-expectations.cc
index e5dca853a5..172a3e9b8f 100644
--- a/deps/v8/test/cctest/interpreter/generate-bytecode-expectations.cc
+++ b/deps/v8/test/cctest/interpreter/generate-bytecode-expectations.cc
@@ -43,6 +43,7 @@ class ProgramOptions final {
module_(false),
top_level_(false),
do_expressions_(false),
+ async_iteration_(false),
verbose_(false) {}
bool Validate() const;
@@ -61,6 +62,7 @@ class ProgramOptions final {
bool module() const { return module_; }
bool top_level() const { return top_level_; }
bool do_expressions() const { return do_expressions_; }
+ bool async_iteration() const { return async_iteration_; }
bool verbose() const { return verbose_; }
bool suppress_runtime_errors() const { return rebaseline_ && !verbose_; }
std::vector<std::string> input_filenames() const { return input_filenames_; }
@@ -77,6 +79,7 @@ class ProgramOptions final {
bool module_;
bool top_level_;
bool do_expressions_;
+ bool async_iteration_;
bool verbose_;
std::vector<std::string> input_filenames_;
std::string output_filename_;
@@ -165,6 +168,8 @@ ProgramOptions ProgramOptions::FromCommandLine(int argc, char** argv) {
options.top_level_ = true;
} else if (strcmp(argv[i], "--do-expressions") == 0) {
options.do_expressions_ = true;
+ } else if (strcmp(argv[i], "--async-iteration") == 0) {
+ options.async_iteration_ = true;
} else if (strcmp(argv[i], "--verbose") == 0) {
options.verbose_ = true;
} else if (strncmp(argv[i], "--output=", 9) == 0) {
@@ -267,6 +272,8 @@ void ProgramOptions::UpdateFromHeader(std::istream& stream) {
top_level_ = ParseBoolean(line.c_str() + 11);
} else if (line.compare(0, 16, "do expressions: ") == 0) {
do_expressions_ = ParseBoolean(line.c_str() + 16);
+ } else if (line.compare(0, 17, "async iteration: ") == 0) {
+ async_iteration_ = ParseBoolean(line.c_str() + 17);
} else if (line == "---") {
break;
} else if (line.empty()) {
@@ -289,6 +296,7 @@ void ProgramOptions::PrintHeader(std::ostream& stream) const { // NOLINT
if (module_) stream << "\nmodule: yes";
if (top_level_) stream << "\ntop level: yes";
if (do_expressions_) stream << "\ndo expressions: yes";
+ if (async_iteration_) stream << "\nasync iteration: yes";
stream << "\n\n";
}
@@ -393,6 +401,7 @@ void GenerateExpectationsFile(std::ostream& stream, // NOLINT
}
if (options.do_expressions()) i::FLAG_harmony_do_expressions = true;
+ if (options.async_iteration()) i::FLAG_harmony_async_iteration = true;
stream << "#\n# Autogenerated by generate-bytecode-expectations.\n#\n\n";
options.PrintHeader(stream);
@@ -401,6 +410,7 @@ void GenerateExpectationsFile(std::ostream& stream, // NOLINT
}
i::FLAG_harmony_do_expressions = false;
+ i::FLAG_harmony_async_iteration = false;
}
bool WriteExpectationsFile(const std::vector<std::string>& snippet_list,
@@ -445,6 +455,7 @@ void PrintUsage(const char* exec_path) {
"Specify the name of the test function.\n"
" --top-level Process top level code, not the top-level function.\n"
" --do-expressions Enable harmony_do_expressions flag.\n"
+ " --async-iteration Enable harmony_async_iteration flag.\n"
" --output=file.name\n"
" Specify the output file. If not specified, output goes to "
"stdout.\n"