v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::wasm::ModuleDisassembler Class Reference

#include <wasm-disassembler-impl.h>

Collaboration diagram for v8::internal::wasm::ModuleDisassembler:

Public Member Functions

V8_EXPORT_PRIVATE ModuleDisassembler (MultiLineStringBuilder &out, const WasmModule *module, NamesProvider *names, const ModuleWireBytes wire_bytes, AccountingAllocator *allocator, std::unique_ptr< OffsetsProvider > offsets_provider={}, std::vector< int > *function_body_offsets=nullptr)
 
V8_EXPORT_PRIVATE ~ModuleDisassembler ()
 
V8_EXPORT_PRIVATE void PrintTypeDefinition (uint32_t type_index, Indentation indendation, IndexAsComment index_as_comment)
 
V8_EXPORT_PRIVATE void PrintModule (Indentation indentation, size_t max_mb)
 

Private Member Functions

void PrintImportName (const WasmImport &import)
 
void PrintExportName (ImportExportKindCode kind, uint32_t index)
 
void PrintMutableType (bool mutability, ValueType type)
 
void PrintTable (const WasmTable &table)
 
void PrintMemory (const WasmMemory &memory)
 
void PrintGlobal (const WasmGlobal &global)
 
void PrintInitExpression (const ConstantExpression &init, ValueType expected_type)
 
void PrintTagSignature (const FunctionSig *sig)
 
void PrintString (WireBytesRef ref)
 
void PrintStringAsJSON (WireBytesRef ref)
 
void LineBreakOrSpace (bool break_lines, Indentation indentation, uint32_t byte_offset)
 

Private Attributes

MultiLineStringBuilderout_
 
const WasmModulemodule_
 
NamesProvidernames_
 
const ModuleWireBytes wire_bytes_
 
const uint8_t * start_
 
Zone zone_
 
std::unique_ptr< OffsetsProvideroffsets_
 
std::vector< int > * function_body_offsets_
 

Detailed Description

Definition at line 294 of file wasm-disassembler-impl.h.

Constructor & Destructor Documentation

◆ ModuleDisassembler()

v8::internal::wasm::ModuleDisassembler::ModuleDisassembler ( MultiLineStringBuilder & out,
const WasmModule * module,
NamesProvider * names,
const ModuleWireBytes wire_bytes,
AccountingAllocator * allocator,
std::unique_ptr< OffsetsProvider > offsets_provider = {},
std::vector< int > * function_body_offsets = nullptr )

Definition at line 752 of file wasm-disassembler.cc.

◆ ~ModuleDisassembler()

v8::internal::wasm::ModuleDisassembler::~ModuleDisassembler ( )
default

Member Function Documentation

◆ LineBreakOrSpace()

void v8::internal::wasm::ModuleDisassembler::LineBreakOrSpace ( bool break_lines,
Indentation indentation,
uint32_t byte_offset )
private

Definition at line 1256 of file wasm-disassembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintExportName()

void v8::internal::wasm::ModuleDisassembler::PrintExportName ( ImportExportKindCode kind,
uint32_t index )
private

Definition at line 1140 of file wasm-disassembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintGlobal()

void v8::internal::wasm::ModuleDisassembler::PrintGlobal ( const WasmGlobal & global)
private

Definition at line 1169 of file wasm-disassembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintImportName()

void v8::internal::wasm::ModuleDisassembler::PrintImportName ( const WasmImport & import)
private

Definition at line 1132 of file wasm-disassembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintInitExpression()

void v8::internal::wasm::ModuleDisassembler::PrintInitExpression ( const ConstantExpression & init,
ValueType expected_type )
private

Definition at line 1175 of file wasm-disassembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintMemory()

void v8::internal::wasm::ModuleDisassembler::PrintMemory ( const WasmMemory & memory)
private

Definition at line 1163 of file wasm-disassembler.cc.

Here is the caller graph for this function:

◆ PrintModule()

void v8::internal::wasm::ModuleDisassembler::PrintModule ( Indentation indentation,
size_t max_mb )

Definition at line 833 of file wasm-disassembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintMutableType()

void v8::internal::wasm::ModuleDisassembler::PrintMutableType ( bool mutability,
ValueType type )
private

Definition at line 1150 of file wasm-disassembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintString()

void v8::internal::wasm::ModuleDisassembler::PrintString ( WireBytesRef ref)
private

Definition at line 1215 of file wasm-disassembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintStringAsJSON()

void v8::internal::wasm::ModuleDisassembler::PrintStringAsJSON ( WireBytesRef ref)
private

Definition at line 1221 of file wasm-disassembler.cc.

Here is the caller graph for this function:

◆ PrintTable()

void v8::internal::wasm::ModuleDisassembler::PrintTable ( const WasmTable & table)
private

Definition at line 1156 of file wasm-disassembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintTagSignature()

void v8::internal::wasm::ModuleDisassembler::PrintTagSignature ( const FunctionSig * sig)
private

Definition at line 1207 of file wasm-disassembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintTypeDefinition()

void v8::internal::wasm::ModuleDisassembler::PrintTypeDefinition ( uint32_t type_index,
Indentation indendation,
IndexAsComment index_as_comment )

Definition at line 773 of file wasm-disassembler.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ function_body_offsets_

std::vector<int>* v8::internal::wasm::ModuleDisassembler::function_body_offsets_
private

Definition at line 331 of file wasm-disassembler-impl.h.

◆ module_

const WasmModule* v8::internal::wasm::ModuleDisassembler::module_
private

Definition at line 325 of file wasm-disassembler-impl.h.

◆ names_

NamesProvider* v8::internal::wasm::ModuleDisassembler::names_
private

Definition at line 326 of file wasm-disassembler-impl.h.

◆ offsets_

std::unique_ptr<OffsetsProvider> v8::internal::wasm::ModuleDisassembler::offsets_
private

Definition at line 330 of file wasm-disassembler-impl.h.

◆ out_

MultiLineStringBuilder& v8::internal::wasm::ModuleDisassembler::out_
private

Definition at line 324 of file wasm-disassembler-impl.h.

◆ start_

const uint8_t* v8::internal::wasm::ModuleDisassembler::start_
private

Definition at line 328 of file wasm-disassembler-impl.h.

◆ wire_bytes_

const ModuleWireBytes v8::internal::wasm::ModuleDisassembler::wire_bytes_
private

Definition at line 327 of file wasm-disassembler-impl.h.

◆ zone_

Zone v8::internal::wasm::ModuleDisassembler::zone_
private

Definition at line 329 of file wasm-disassembler-impl.h.


The documentation for this class was generated from the following files: