#include "src/codegen/handler-table.h"
#include <algorithm>
#include <iomanip>
#include "src/base/iterator.h"
#include "src/codegen/assembler-inl.h"
#include "src/objects/code-inl.h"
#include "src/objects/objects-inl.h"
#if V8_ENABLE_WEBASSEMBLY
#include "src/wasm/wasm-code-manager.h"
#endif
namespace v8 {
namespace internal {
HandlerTable::HandlerTable(Tagged<Code> code)
: … { … }
#if V8_ENABLE_WEBASSEMBLY
HandlerTable::HandlerTable(const wasm::WasmCode* code)
: … { … }
#endif
HandlerTable::HandlerTable(Tagged<BytecodeArray> bytecode_array)
: … { … }
HandlerTable::HandlerTable(Tagged<TrustedByteArray> byte_array)
: … { … }
HandlerTable::HandlerTable(Address handler_table, int handler_table_size,
EncodingMode encoding_mode)
: … { … }
int HandlerTable::EntrySizeFromMode(EncodingMode mode) { … }
int HandlerTable::GetRangeStart(int index) const { … }
int HandlerTable::GetRangeEnd(int index) const { … }
int HandlerTable::GetRangeHandlerBitfield(int index) const { … }
int HandlerTable::GetRangeHandler(int index) const { … }
int HandlerTable::GetRangeData(int index) const { … }
HandlerTable::CatchPrediction HandlerTable::GetRangePrediction(
int index) const { … }
bool HandlerTable::HandlerWasUsed(int index) const { … }
void HandlerTable::MarkHandlerUsed(int index) { … }
int HandlerTable::GetReturnOffset(int index) const { … }
int HandlerTable::GetReturnHandler(int index) const { … }
void HandlerTable::SetRangeStart(int index, int value) { … }
void HandlerTable::SetRangeEnd(int index, int value) { … }
void HandlerTable::SetRangeHandler(int index, int handler_offset,
CatchPrediction prediction) { … }
void HandlerTable::SetRangeData(int index, int value) { … }
int HandlerTable::LengthForRange(int entries) { … }
int HandlerTable::EmitReturnTableStart(Assembler* masm) { … }
void HandlerTable::EmitReturnEntry(Assembler* masm, int offset, int handler) { … }
int HandlerTable::NumberOfRangeEntries() const { … }
int HandlerTable::NumberOfReturnEntries() const { … }
int HandlerTable::LookupHandlerIndexForRange(int pc_offset) const { … }
int HandlerTable::LookupReturn(int pc_offset) { … }
#ifdef ENABLE_DISASSEMBLER
void HandlerTable::HandlerTableRangePrint(std::ostream& os) { … }
void HandlerTable::HandlerTableReturnPrint(std::ostream& os) { … }
#endif
}
}