| Index: test/cctest/interpreter/generate-bytecode-expectations.cc
|
| diff --git a/test/cctest/interpreter/generate-bytecode-expectations.cc b/test/cctest/interpreter/generate-bytecode-expectations.cc
|
| index 1a09ac62c105432262f082e80f28e1f5a283a7b2..7a369eaa5886d66fb08a43bcd6a1594d4ac59fb6 100644
|
| --- a/test/cctest/interpreter/generate-bytecode-expectations.cc
|
| +++ b/test/cctest/interpreter/generate-bytecode-expectations.cc
|
| @@ -32,6 +32,8 @@ class ProgramOptions final {
|
| wrap_(true),
|
| execute_(true),
|
| top_level_(false),
|
| + legacy_const_(false),
|
| + do_expressions_(false),
|
| const_pool_type_(
|
| BytecodeExpectationsPrinter::ConstantPoolType::kMixed) {}
|
|
|
| @@ -50,6 +52,8 @@ class ProgramOptions final {
|
| bool wrap() const { return wrap_; }
|
| bool execute() const { return execute_; }
|
| bool top_level() const { return top_level_; }
|
| + bool legacy_const() const { return legacy_const_; }
|
| + bool do_expressions() const { return do_expressions_; }
|
| BytecodeExpectationsPrinter::ConstantPoolType const_pool_type() const {
|
| return const_pool_type_;
|
| }
|
| @@ -66,6 +70,8 @@ class ProgramOptions final {
|
| bool wrap_;
|
| bool execute_;
|
| bool top_level_;
|
| + bool legacy_const_;
|
| + bool do_expressions_;
|
| BytecodeExpectationsPrinter::ConstantPoolType const_pool_type_;
|
| std::string input_filename_;
|
| std::string output_filename_;
|
| @@ -159,6 +165,10 @@ ProgramOptions ProgramOptions::FromCommandLine(int argc, char** argv) {
|
| options.execute_ = false;
|
| } else if (strcmp(argv[i], "--top-level") == 0) {
|
| options.top_level_ = true;
|
| + } else if (strcmp(argv[i], "--legacy-const") == 0) {
|
| + options.legacy_const_ = true;
|
| + } else if (strcmp(argv[i], "--do-expressions") == 0) {
|
| + options.do_expressions_ = true;
|
| } else if (strncmp(argv[i], "--output=", 9) == 0) {
|
| options.output_filename_ = argv[i] + 9;
|
| } else if (strncmp(argv[i], "--test-function-name=", 21) == 0) {
|
| @@ -233,6 +243,10 @@ void ProgramOptions::UpdateFromHeader(std::istream& stream) {
|
| test_function_name_ = line.c_str() + 20;
|
| } else if (line.compare(0, 11, "top level: ") == 0) {
|
| top_level_ = ParseBoolean(line.c_str() + 11);
|
| + } else if (line.compare(0, 14, "legacy const: ") == 0) {
|
| + legacy_const_ = ParseBoolean(line.c_str() + 14);
|
| + } else if (line.compare(0, 16, "do expressions: ") == 0) {
|
| + do_expressions_ = ParseBoolean(line.c_str() + 16);
|
| } else if (line == "---") {
|
| break;
|
| } else if (line.empty()) {
|
| @@ -256,6 +270,8 @@ void ProgramOptions::PrintHeader(std::ostream& stream) const { // NOLINT
|
| }
|
|
|
| if (top_level_) stream << "\ntop level: yes";
|
| + if (legacy_const_) stream << "\nlegacy const: yes";
|
| + if (do_expressions_) stream << "\ndo expressions: yes";
|
|
|
| stream << "\n\n";
|
| }
|
| @@ -362,6 +378,9 @@ void GenerateExpectationsFile(std::ostream& stream, // NOLINT
|
| printer.set_test_function_name(options.test_function_name());
|
| }
|
|
|
| + if (options.legacy_const()) i::FLAG_legacy_const = true;
|
| + if (options.do_expressions()) i::FLAG_harmony_do_expressions = true;
|
| +
|
| stream << "#\n# Autogenerated by generate-bytecode-expectations\n#\n\n";
|
| options.PrintHeader(stream);
|
| for (const std::string& snippet : snippet_list) {
|
| @@ -384,6 +403,8 @@ void PrintUsage(const char* exec_path) {
|
| " --test-function-name=foo "
|
| "Specify the name of the test function.\n"
|
| " --top-level Process top level code, not the top-level function."
|
| + " --legacy-const Enable legacy_const flag.\n"
|
| + " --do-expressions Enable harmony_do_expressions flag.\n"
|
| " --output=file.name\n"
|
| " Specify the output file. If not specified, output goes to "
|
| "stdout.\n"
|
|
|