#include "test/unittests/interpreter/bytecode-expectations-printer.h"
#include <iomanip>
#include <iostream>
#include <vector>
#include "include/libplatform/libplatform.h"
#include "include/v8-function.h"
#include "src/api/api-inl.h"
#include "src/base/logging.h"
#include "src/codegen/source-position-table.h"
#include "src/interpreter/bytecode-array-iterator.h"
#include "src/interpreter/bytecode-generator.h"
#include "src/interpreter/bytecodes.h"
#include "src/interpreter/interpreter-intrinsics.h"
#include "src/interpreter/interpreter.h"
#include "src/objects/heap-number-inl.h"
#include "src/objects/module-inl.h"
#include "src/objects/objects-inl.h"
#include "src/runtime/runtime.h"
#include "src/utils/ostreams.h"
namespace v8 {
namespace internal {
namespace interpreter {
static const char* NameForNativeContextIntrinsicIndex(uint32_t idx) { … }
const char* const BytecodeExpectationsPrinter::kDefaultTopFunctionName = …;
const char* const BytecodeExpectationsPrinter::kIndent = …;
v8::Local<v8::String> BytecodeExpectationsPrinter::V8StringFromUTF8(
const char* data) const { … }
std::string BytecodeExpectationsPrinter::WrapCodeInFunction(
const char* function_name, const std::string& function_body) const { … }
v8::Local<v8::Script> BytecodeExpectationsPrinter::CompileScript(
const char* program) const { … }
v8::Local<v8::Module> BytecodeExpectationsPrinter::CompileModule(
const char* program) const { … }
void BytecodeExpectationsPrinter::Run(v8::Local<v8::Script> script) const { … }
i::Handle<v8::internal::BytecodeArray>
BytecodeExpectationsPrinter::GetBytecodeArrayForGlobal(
const char* global_name) const { … }
i::Handle<i::BytecodeArray>
BytecodeExpectationsPrinter::GetBytecodeArrayForModule(
v8::Local<v8::Module> module) const { … }
i::Handle<i::BytecodeArray>
BytecodeExpectationsPrinter::GetBytecodeArrayForScript(
v8::Local<v8::Script> script) const { … }
i::Handle<i::BytecodeArray>
BytecodeExpectationsPrinter::GetBytecodeArrayOfCallee(
const char* source_code) const { … }
void BytecodeExpectationsPrinter::PrintEscapedString(
std::ostream* stream, const std::string& string) const { … }
void BytecodeExpectationsPrinter::PrintBytecodeOperand(
std::ostream* stream, const BytecodeArrayIterator& bytecode_iterator,
const Bytecode& bytecode, int op_index, int parameter_count) const { … }
void BytecodeExpectationsPrinter::PrintBytecode(
std::ostream* stream, const BytecodeArrayIterator& bytecode_iterator,
int parameter_count) const { … }
void BytecodeExpectationsPrinter::PrintSourcePosition(
std::ostream* stream, SourcePositionTableIterator* source_iterator,
int bytecode_offset) const { … }
void BytecodeExpectationsPrinter::PrintV8String(
std::ostream* stream, i::Tagged<i::String> string) const { … }
void BytecodeExpectationsPrinter::PrintConstant(
std::ostream* stream, i::DirectHandle<i::Object> constant) const { … }
void BytecodeExpectationsPrinter::PrintFrameSize(
std::ostream* stream,
i::DirectHandle<i::BytecodeArray> bytecode_array) const { … }
void BytecodeExpectationsPrinter::PrintBytecodeSequence(
std::ostream* stream, i::Handle<i::BytecodeArray> bytecode_array) const { … }
void BytecodeExpectationsPrinter::PrintConstantPool(
std::ostream* stream, i::Tagged<i::TrustedFixedArray> constant_pool) const { … }
void BytecodeExpectationsPrinter::PrintCodeSnippet(
std::ostream* stream, const std::string& body) const { … }
void BytecodeExpectationsPrinter::PrintHandlers(
std::ostream* stream,
i::DirectHandle<i::BytecodeArray> bytecode_array) const { … }
void BytecodeExpectationsPrinter::PrintBytecodeArray(
std::ostream* stream, i::Handle<i::BytecodeArray> bytecode_array) const { … }
void BytecodeExpectationsPrinter::PrintExpectation(
std::ostream* stream, const std::string& snippet) const { … }
}
}
}