v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
wasm-objects.h File Reference
#include <memory>
#include <optional>
#include "include/v8-wasm.h"
#include "src/base/bit-field.h"
#include "src/debug/interface-types.h"
#include "src/heap/heap.h"
#include "src/objects/backing-store.h"
#include "src/objects/casting.h"
#include "src/objects/foreign.h"
#include "src/objects/js-function.h"
#include "src/objects/js-objects.h"
#include "src/objects/objects-body-descriptors.h"
#include "src/objects/objects.h"
#include "src/objects/struct.h"
#include "src/objects/trusted-object.h"
#include "src/wasm/module-instantiate.h"
#include "src/wasm/stacks.h"
#include "src/wasm/struct-types.h"
#include "src/wasm/value-type.h"
#include "src/wasm/wasm-code-manager.h"
#include "src/wasm/wasm-module.h"
#include "src/objects/object-macros.h"
#include "torque-generated/src/wasm/wasm-objects-tq.inc"
#include "src/objects/object-macros-undef.h"
Include dependency graph for wasm-objects.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::FunctionTargetAndImplicitArg
 
class  v8::internal::ImportedFunctionEntry
 
class  v8::internal::WasmModuleObject
 
class  v8::internal::WasmTableObject
 
class  v8::internal::WasmMemoryMapDescriptor
 
class  v8::internal::WasmMemoryObject
 
class  v8::internal::WasmGlobalObject
 
class  v8::internal::WasmTrustedInstanceData
 
class  v8::internal::WasmInstanceObject
 
class  v8::internal::WasmTagObject
 
class  v8::internal::WasmDispatchTableData
 
struct  v8::internal::WasmDispatchTableData::WrapperEntry
 
class  v8::internal::WasmDispatchTable
 
class  v8::internal::WasmExceptionPackage
 
class  v8::internal::WasmExportedFunction
 
class  v8::internal::WasmJSFunction
 
class  v8::internal::WasmCapiFunction
 
class  v8::internal::WasmExternalFunction
 
class  v8::internal::WasmFunctionData
 
class  v8::internal::WasmExportedFunctionData
 
class  v8::internal::WasmImportData
 
class  v8::internal::WasmInternalFunction
 
class  v8::internal::WasmFuncRef
 
class  v8::internal::WasmJSFunctionData
 
class  v8::internal::WasmJSFunctionData::OffheapData
 
class  v8::internal::WasmCapiFunctionData
 
class  v8::internal::WasmResumeData
 
class  v8::internal::WasmScript
 
class  v8::internal::WasmExceptionTag
 
class  v8::internal::AsmWasmData
 
class  v8::internal::WasmTypeInfo
 
class  v8::internal::WasmObject
 
class  v8::internal::WasmStruct
 
class  v8::internal::WasmArray
 
class  v8::internal::WasmSuspenderObject
 
class  v8::internal::WasmSuspendingObject
 
class  v8::internal::WasmNull
 

Namespaces

namespace  v8
 
namespace  v8::internal
 
namespace  v8::internal::wasm
 

Macros

#define DECL_OPTIONAL_ACCESSORS(name, type)
 
#define FIELD_LIST(V)
 
#define ASSERT_FIELD_ALIGNED(offset, size)
 
#define WASM_TAGGED_INSTANCE_DATA_FIELDS(V)
 
#define WASM_PROTECTED_INSTANCE_DATA_FIELDS(V)
 
#define WASM_INSTANCE_FIELD_OFFSET(offset, _)
 
#define WASM_INSTANCE_FIELD_NAME(_, name)
 

Enumerations

enum class  v8::internal::wasm::OnResume : int { v8::internal::wasm::kContinue , v8::internal::wasm::kThrow }
 
enum  v8::internal::InternalizeString : bool { v8::internal::kInternalize = true , v8::internal::kNoInternalize = false }
 

Functions

void v8::internal::EncodeI32ExceptionValue (DirectHandle< FixedArray > encoded_values, uint32_t *encoded_index, uint32_t value)
 
void v8::internal::EncodeI64ExceptionValue (DirectHandle< FixedArray > encoded_values, uint32_t *encoded_index, uint64_t value)
 
void v8::internal::DecodeI32ExceptionValue (DirectHandle< FixedArray > encoded_values, uint32_t *encoded_index, uint32_t *value)
 
void v8::internal::DecodeI64ExceptionValue (DirectHandle< FixedArray > encoded_values, uint32_t *encoded_index, uint64_t *value)
 
bool v8::internal::UseGenericWasmToJSWrapper (wasm::ImportCallKind kind, const wasm::CanonicalSig *sig, wasm::Suspend suspend)
 
DirectHandle< Mapv8::internal::CreateStructMap (Isolate *isolate, wasm::CanonicalTypeIndex struct_index, DirectHandle< Map > opt_rtt_parent, DirectHandle< NativeContext > opt_native_context)
 
DirectHandle< Mapv8::internal::CreateArrayMap (Isolate *isolate, wasm::CanonicalTypeIndex array_index, DirectHandle< Map > opt_rtt_parent)
 
DirectHandle< Mapv8::internal::CreateFuncRefMap (Isolate *isolate, wasm::CanonicalTypeIndex type, DirectHandle< Map > opt_rtt_parent)
 
MaybeDirectHandle< Objectv8::internal::wasm::JSToWasmObject (Isolate *isolate, DirectHandle< Object > value, CanonicalValueType expected, const char **error_message)
 
MaybeDirectHandle< Objectv8::internal::wasm::JSToWasmObject (Isolate *isolate, const WasmModule *module, DirectHandle< Object > value, ValueType expected, const char **error_message)
 
DirectHandle< Objectv8::internal::wasm::WasmToJSObject (Isolate *isolate, DirectHandle< Object > value)
 

Macro Definition Documentation

◆ ASSERT_FIELD_ALIGNED

#define ASSERT_FIELD_ALIGNED ( offset,
size )
Value:
static_assert(size == 0 || IsAligned(offset, size) || \
(COMPRESS_POINTERS_BOOL && (size == kSystemPointerSize) && \
IsAligned(offset, kTaggedSize)));
#define COMPRESS_POINTERS_BOOL
Definition globals.h:99
int32_t offset
constexpr bool IsAligned(T value, U alignment)
Definition macros.h:403

Definition at line 596 of file wasm-objects.h.

◆ DECL_OPTIONAL_ACCESSORS

#define DECL_OPTIONAL_ACCESSORS ( name,
type )
Value:
DECL_GETTER(has_##name, bool) \
DECL_ACCESSORS(name, type)
#define DECL_GETTER(name,...)

Definition at line 73 of file wasm-objects.h.

◆ FIELD_LIST

#define FIELD_LIST ( V)

Definition at line 541 of file wasm-objects.h.

◆ WASM_INSTANCE_FIELD_NAME

#define WASM_INSTANCE_FIELD_NAME ( _,
name )
Value:
const char * name
Definition builtins.cc:39

Definition at line 635 of file wasm-objects.h.

◆ WASM_INSTANCE_FIELD_OFFSET

#define WASM_INSTANCE_FIELD_OFFSET ( offset,
_ )
Value:

Definition at line 634 of file wasm-objects.h.

◆ WASM_PROTECTED_INSTANCE_DATA_FIELDS

#define WASM_PROTECTED_INSTANCE_DATA_FIELDS ( V)
Value:
V(kProtectedSharedPartOffset, "shared_part") \
V(kProtectedMemoryBasesAndSizesOffset, "memory_bases_and_sizes") \
V(kProtectedDispatchTable0Offset, "dispatch_table0") \
V(kProtectedDispatchTablesOffset, "dispatch_tables") \
V(kProtectedDispatchTableForImportsOffset, "dispatch_table_for_imports") \
V(kProtectedManagedNativeModuleOffset, "managed_native_module")
#define V(Name)

Definition at line 626 of file wasm-objects.h.

◆ WASM_TAGGED_INSTANCE_DATA_FIELDS

#define WASM_TAGGED_INSTANCE_DATA_FIELDS ( V)
Value:
V(kInstanceObjectOffset, "instance_object") \
V(kNativeContextOffset, "native_context") \
V(kMemoryObjectsOffset, "memory_objects") \
V(kUntaggedGlobalsBufferOffset, "untagged_globals_buffer") \
V(kTaggedGlobalsBufferOffset, "tagged_globals_buffer") \
V(kImportedMutableGlobalsBuffersOffset, "imported_mutable_globals_buffers") \
IF_WASM_DRUMBRAKE(V, kInterpreterObjectOffset, "interpreter_object") \
V(kTablesOffset, "tables") \
V(kTagsTableOffset, "tags_table") \
V(kFuncRefsOffset, "func_refs") \
V(kManagedObjectMapsOffset, "managed_object_maps") \
V(kFeedbackVectorsOffset, "feedback_vectors") \
V(kWellKnownImportsOffset, "well_known_imports") \
V(kImportedMutableGlobalsOffset, "imported_mutable_globals") \
IF_WASM_DRUMBRAKE(V, kImportedFunctionIndicesOffset, \
"imported_function_indices") \
V(kDataSegmentStartsOffset, "data_segment_starts") \
V(kDataSegmentSizesOffset, "data_segment_sizes") \
V(kElementSegmentsOffset, "element_segments")

Definition at line 606 of file wasm-objects.h.