| Index: test/cctest/interpreter/bytecode-expectations-printer.h
|
| diff --git a/test/cctest/interpreter/bytecode-expectations-printer.h b/test/cctest/interpreter/bytecode-expectations-printer.h
|
| index 62ff63eb6a76afb1b1d28a49b7d2ed4644031c2b..236a7d4190018a457f6ff797ba7808358048b3e8 100644
|
| --- a/test/cctest/interpreter/bytecode-expectations-printer.h
|
| +++ b/test/cctest/interpreter/bytecode-expectations-printer.h
|
| @@ -7,6 +7,7 @@
|
|
|
| #include <iostream>
|
| #include <string>
|
| +#include <vector>
|
|
|
| #include "src/interpreter/bytecodes.h"
|
| #include "src/objects.h"
|
| @@ -25,29 +26,50 @@ class BytecodeExpectationsPrinter final {
|
| enum class ConstantPoolType {
|
| kUnknown,
|
| kString,
|
| - kInteger,
|
| - kDouble,
|
| + kNumber,
|
| kMixed,
|
| };
|
|
|
| BytecodeExpectationsPrinter(v8::Isolate* i,
|
| ConstantPoolType t = ConstantPoolType::kMixed)
|
| - : isolate_(i), const_pool_type_(t) {}
|
| + : isolate_(i),
|
| + const_pool_type_(t),
|
| + execute_(true),
|
| + wrap_(true),
|
| + test_function_name_(kDefaultTopFunctionName) {}
|
|
|
| void PrintExpectation(std::ostream& stream, // NOLINT
|
| const std::string& snippet) const;
|
|
|
| - void set_constant_pool_type(ConstantPoolType t) { const_pool_type_ = t; }
|
| - ConstantPoolType constant_pool_type() const { return const_pool_type_; }
|
| + void set_constant_pool_type(ConstantPoolType const_pool_type) {
|
| + const_pool_type_ = const_pool_type;
|
| + }
|
| + ConstantPoolType const_pool_type() const { return const_pool_type_; }
|
| +
|
| + void set_execute(bool execute) { execute_ = execute; }
|
| + bool execute() const { return execute_; }
|
| +
|
| + void set_wrap(bool wrap) { wrap_ = wrap; }
|
| + bool wrap() const { return wrap_; }
|
| +
|
| + void set_top_level(bool top_level) { top_level_ = top_level; }
|
| + bool top_level() const { return top_level_; }
|
| +
|
| + void set_test_function_name(const std::string& test_function_name) {
|
| + test_function_name_ = test_function_name;
|
| + }
|
| + std::string test_function_name() const { return test_function_name_; }
|
|
|
| private:
|
| void PrintEscapedString(std::ostream& stream, // NOLINT
|
| const std::string& string) const;
|
| void PrintBytecodeOperand(std::ostream& stream, // NOLINT
|
| const BytecodeArrayIterator& bytecode_iter,
|
| - const Bytecode& bytecode, int op_index) const;
|
| + const Bytecode& bytecode, int op_index,
|
| + int parameter_count) const;
|
| void PrintBytecode(std::ostream& stream, // NOLINT
|
| - const BytecodeArrayIterator& bytecode_iter) const;
|
| + const BytecodeArrayIterator& bytecode_iter,
|
| + int parameter_count) const;
|
| void PrintV8String(std::ostream& stream, // NOLINT
|
| i::String* string) const;
|
| void PrintConstant(std::ostream& stream, // NOLINT
|
| @@ -61,16 +83,20 @@ class BytecodeExpectationsPrinter final {
|
| void PrintCodeSnippet(std::ostream& stream, // NOLINT
|
| const std::string& body) const;
|
| void PrintBytecodeArray(std::ostream& stream, // NOLINT
|
| - const std::string& body,
|
| i::Handle<i::BytecodeArray> bytecode_array) const;
|
| + void PrintHandlers(std::ostream& stream, // NOLINT
|
| + i::Handle<i::BytecodeArray> bytecode_array) const;
|
|
|
| v8::Local<v8::String> V8StringFromUTF8(const char* data) const;
|
| std::string WrapCodeInFunction(const char* function_name,
|
| const std::string& function_body) const;
|
|
|
| - v8::Local<v8::Value> CompileAndRun(const char* program) const;
|
| + v8::Local<v8::Script> Compile(const char* program) const;
|
| + void Run(v8::Local<v8::Script> script) const;
|
| i::Handle<i::BytecodeArray> GetBytecodeArrayForGlobal(
|
| const char* global_name) const;
|
| + i::Handle<v8::internal::BytecodeArray> GetBytecodeArrayForScript(
|
| + v8::Local<v8::Script> script) const;
|
|
|
| i::Isolate* i_isolate() const {
|
| return reinterpret_cast<i::Isolate*>(isolate_);
|
| @@ -78,6 +104,12 @@ class BytecodeExpectationsPrinter final {
|
|
|
| v8::Isolate* isolate_;
|
| ConstantPoolType const_pool_type_;
|
| + bool execute_;
|
| + bool wrap_;
|
| + bool top_level_;
|
| + std::string test_function_name_;
|
| +
|
| + static const char* const kDefaultTopFunctionName;
|
| };
|
|
|
| } // namespace interpreter
|
|
|