v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
wasm-objects-inl.h File Reference
#include "src/wasm/wasm-objects.h"
#include <type_traits>
#include "src/base/memory.h"
#include "src/common/ptr-compr.h"
#include "src/heap/heap-write-barrier-inl.h"
#include "src/objects/contexts-inl.h"
#include "src/objects/foreign.h"
#include "src/objects/heap-number.h"
#include "src/objects/js-array-buffer-inl.h"
#include "src/objects/js-function-inl.h"
#include "src/objects/js-objects-inl.h"
#include "src/objects/managed.h"
#include "src/objects/oddball-inl.h"
#include "src/objects/script-inl.h"
#include "src/roots/roots.h"
#include "src/wasm/wasm-code-manager.h"
#include "src/wasm/wasm-module.h"
#include "third_party/fp16/src/include/fp16.h"
#include "src/objects/object-macros.h"
#include "torque-generated/src/wasm/wasm-objects-tq-inl.inc"
#include "src/objects/object-macros-undef.h"
Include dependency graph for wasm-objects-inl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  v8::internal::CastTraits< WasmExportedFunction >
 
struct  v8::internal::CastTraits< WasmJSFunction >
 
struct  v8::internal::CastTraits< WasmCapiFunction >
 
struct  v8::internal::CastTraits< WasmExternalFunction >
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define OPTIONAL_ACCESSORS(holder, name, type, offset)
 
#define PRIMITIVE_ACCESSORS(holder, name, type, offset)
 

Functions

 v8::internal::ACCESSORS (WasmGlobalObject, untagged_buffer, Tagged< JSArrayBuffer >, kUntaggedBufferOffset) ACCESSORS(WasmGlobalObject
 
kTaggedBufferOffset v8::internal::TRUSTED_POINTER_ACCESSORS (WasmGlobalObject, trusted_data, WasmTrustedInstanceData, kTrustedDataOffset, kWasmTrustedInstanceDataIndirectPointerTag) wasm
 
 v8::internal::PRIMITIVE_ACCESSORS (WasmTrustedInstanceData, memory0_start, uint8_t *, kMemory0StartOffset) PRIMITIVE_ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset v8::internal::PROTECTED_POINTER_ACCESSORS (WasmTrustedInstanceData, managed_native_module, TrustedManaged< wasm::NativeModule >, kProtectedManagedNativeModuleOffset) PRIMITIVE_ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset v8::internal::PRIMITIVE_ACCESSORS (WasmTrustedInstanceData, new_allocation_top_address, Address *, kNewAllocationTopAddressOffset) PRIMITIVE_ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset v8::internal::PRIMITIVE_ACCESSORS (WasmTrustedInstanceData, old_allocation_top_address, Address *, kOldAllocationTopAddressOffset) PRIMITIVE_ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset v8::internal::ACCESSORS (WasmTrustedInstanceData, imported_mutable_globals, Tagged< FixedAddressArray >, kImportedMutableGlobalsOffset) PRIMITIVE_ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset v8::internal::PRIMITIVE_ACCESSORS (WasmTrustedInstanceData, hook_on_function_call_address, Address, kHookOnFunctionCallAddressOffset) PRIMITIVE_ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset v8::internal::PROTECTED_POINTER_ACCESSORS (WasmTrustedInstanceData, memory_bases_and_sizes, TrustedFixedAddressArray, kProtectedMemoryBasesAndSizesOffset) ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset v8::internal::ACCESSORS (WasmTrustedInstanceData, data_segment_sizes, Tagged< FixedUInt32Array >, kDataSegmentSizesOffset) ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset v8::internal::PRIMITIVE_ACCESSORS (WasmTrustedInstanceData, break_on_entry, uint8_t, kBreakOnEntryOffset) OPTIONAL_ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset v8::internal::ACCESSORS (WasmTrustedInstanceData, native_context, Tagged< Context >, kNativeContextOffset) ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset kMemoryObjectsOffset v8::internal::OPTIONAL_ACCESSORS (WasmTrustedInstanceData, untagged_globals_buffer, Tagged< JSArrayBuffer >, kUntaggedGlobalsBufferOffset) OPTIONAL_ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset kMemoryObjectsOffset kTaggedGlobalsBufferOffset v8::internal::OPTIONAL_ACCESSORS (WasmTrustedInstanceData, imported_mutable_globals_buffers, Tagged< FixedArray >, kImportedMutableGlobalsBuffersOffset) OPTIONAL_ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset kMemoryObjectsOffset kTaggedGlobalsBufferOffset kTablesOffset v8::internal::PROTECTED_POINTER_ACCESSORS (WasmTrustedInstanceData, shared_part, WasmTrustedInstanceData, kProtectedSharedPartOffset) PROTECTED_POINTER_ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset kMemoryObjectsOffset kTaggedGlobalsBufferOffset kTablesOffset kProtectedDispatchTable0Offset v8::internal::PROTECTED_POINTER_ACCESSORS (WasmTrustedInstanceData, dispatch_tables, ProtectedFixedArray, kProtectedDispatchTablesOffset) PROTECTED_POINTER_ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset kMemoryObjectsOffset kTaggedGlobalsBufferOffset kTablesOffset kProtectedDispatchTable0Offset kProtectedDispatchTableForImportsOffset v8::internal::OPTIONAL_ACCESSORS (WasmTrustedInstanceData, tags_table, Tagged< FixedArray >, kTagsTableOffset) ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset kMemoryObjectsOffset kTaggedGlobalsBufferOffset kTablesOffset kProtectedDispatchTable0Offset kProtectedDispatchTableForImportsOffset kFuncRefsOffset v8::internal::ACCESSORS (WasmTrustedInstanceData, managed_object_maps, Tagged< FixedArray >, kManagedObjectMapsOffset) ACCESSORS(WasmTrustedInstanceData
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset kMemoryObjectsOffset kTaggedGlobalsBufferOffset kTablesOffset kProtectedDispatchTable0Offset kProtectedDispatchTableForImportsOffset kFuncRefsOffset kFeedbackVectorsOffset v8::internal::ACCESSORS (WasmTrustedInstanceData, well_known_imports, Tagged< FixedArray >, kWellKnownImportsOffset) PRIMITIVE_ACCESSORS(WasmTrustedInstanceData
 
 v8::internal::TRUSTED_POINTER_ACCESSORS (WasmInstanceObject, trusted_data, WasmTrustedInstanceData, kTrustedDataOffset, kWasmTrustedInstanceDataIndirectPointerTag) const wasm
 
 v8::internal::PROTECTED_POINTER_ACCESSORS (WasmDispatchTable, protected_offheap_data, TrustedManaged< WasmDispatchTableData >, kProtectedOffheapDataOffset) WasmDispatchTableData *WasmDispatchTable
 
 v8::internal::PROTECTED_POINTER_ACCESSORS (WasmImportData, instance_data, WasmTrustedInstanceData, kProtectedInstanceDataOffset) PROTECTED_POINTER_ACCESSORS(WasmImportData
 
 v8::internal::PROTECTED_POINTER_ACCESSORS (WasmInternalFunction, implicit_arg, TrustedObject, kProtectedImplicitArgOffset) TRUSTED_POINTER_ACCESSORS(WasmFuncRef
 
kWasmInternalFunctionIndirectPointerTag v8::internal::PROTECTED_POINTER_ACCESSORS (WasmFunctionData, internal, WasmInternalFunction, kProtectedInternalOffset) PROTECTED_POINTER_ACCESSORS(WasmExportedFunctionData
 
kWasmInternalFunctionIndirectPointerTag kProtectedInstanceDataOffset v8::internal::CODE_POINTER_ACCESSORS (WasmExportedFunctionData, c_wrapper_code, kCWrapperCodeOffset) PRIMITIVE_ACCESSORS(WasmExportedFunctionData
 
 v8::internal::PROTECTED_POINTER_ACCESSORS (WasmJSFunctionData, protected_offheap_data, TrustedManaged< WasmJSFunctionData::OffheapData >, kProtectedOffheapDataOffset) WasmJSFunctionData
 
 v8::internal::TRUSTED_POINTER_ACCESSORS (WasmTableObject, trusted_data, WasmTrustedInstanceData, kTrustedDataOffset, kWasmTrustedInstanceDataIndirectPointerTag) TRUSTED_POINTER_ACCESSORS(WasmTableObject
 
 v8::internal::EXTERNAL_POINTER_ACCESSORS (WasmSuspenderObject, stack, wasm::StackMemory *, kStackOffset, kWasmStackMemoryTag) TRUSTED_POINTER_ACCESSORS(WasmTagObject
 

Variables

 v8::internal::tagged_buffer
 
 v8::internal::memory0_size
 
 v8::internal::size_t
 
kMemory0SizeOffset v8::internal::new_allocation_limit_address
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset v8::internal::old_allocation_limit_address
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset v8::internal::globals_start
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset v8::internal::jump_table_start
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset v8::internal::tiering_budget_array
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset v8::internal::data_segment_starts
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset v8::internal::Tagged< FixedAddressArray >
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset v8::internal::element_segments
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset v8::internal::instance_object
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset v8::internal::Tagged< WasmInstanceObject >
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset v8::internal::memory_objects
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset kMemoryObjectsOffset v8::internal::tagged_globals_buffer
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset kMemoryObjectsOffset kTaggedGlobalsBufferOffset v8::internal::tables
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset kMemoryObjectsOffset kTaggedGlobalsBufferOffset kTablesOffset v8::internal::dispatch_table0
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset kMemoryObjectsOffset kTaggedGlobalsBufferOffset kTablesOffset v8::internal::WasmDispatchTable
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset kMemoryObjectsOffset kTaggedGlobalsBufferOffset kTablesOffset kProtectedDispatchTable0Offset v8::internal::dispatch_table_for_imports
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset kMemoryObjectsOffset kTaggedGlobalsBufferOffset kTablesOffset kProtectedDispatchTable0Offset kProtectedDispatchTableForImportsOffset v8::internal::func_refs
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset kMemoryObjectsOffset kTaggedGlobalsBufferOffset kTablesOffset kProtectedDispatchTable0Offset kProtectedDispatchTableForImportsOffset kFuncRefsOffset v8::internal::feedback_vectors
 
kMemory0SizeOffset Address kNewAllocationLimitAddressOffset Address kOldAllocationLimitAddressOffset uint8_t kGlobalsStartOffset kJumpTableStartOffset std::atomic< uint32_t > kTieringBudgetArrayOffset kDataSegmentStartsOffset kElementSegmentsOffset kInstanceObjectOffset kMemoryObjectsOffset kTaggedGlobalsBufferOffset kTablesOffset kProtectedDispatchTable0Offset kProtectedDispatchTableForImportsOffset kFuncRefsOffset kFeedbackVectorsOffset v8::internal::stress_deopt_counter_address
 
 v8::internal::call_origin
 
 v8::internal::TrustedObject
 
 v8::internal::internal
 
 v8::internal::WasmInternalFunction
 
 v8::internal::kTrustedInternalOffset
 
kWasmInternalFunctionIndirectPointerTag v8::internal::instance_data
 
kWasmInternalFunctionIndirectPointerTag v8::internal::WasmTrustedInstanceData
 
kWasmInternalFunctionIndirectPointerTag kProtectedInstanceDataOffset v8::internal::sig
 
 v8::internal::trusted_dispatch_table
 
 v8::internal::kTrustedDispatchTableOffset
 
 v8::internal::trusted_data
 
 v8::internal::kTrustedDataOffset
 

Macro Definition Documentation

◆ OPTIONAL_ACCESSORS

#define OPTIONAL_ACCESSORS ( holder,
name,
type,
offset )
Value:
DEF_GETTER(holder, has_##name, bool) { \
Tagged<Object> value = \
TaggedField<Object, offset>::load(cage_base, *this); \
return !IsUndefined(value); \
} \
ACCESSORS_CHECKED2(holder, name, type, offset, !IsUndefined(value), true)
int32_t offset
#define DEF_GETTER(Camel, Lower, Bit)

Definition at line 70 of file wasm-objects-inl.h.

◆ PRIMITIVE_ACCESSORS

#define PRIMITIVE_ACCESSORS ( holder,
name,
type,
offset )
Value:
type holder::name() const { \
return ReadMaybeUnalignedValue<type>(FIELD_ADDR(*this, offset)); \
} \
void holder::set_##name(type value) { \
WriteMaybeUnalignedValue<type>(FIELD_ADDR(*this, offset), value); \
}
const char * name
Definition builtins.cc:39
#define FIELD_ADDR(p, offset)

Definition at line 78 of file wasm-objects-inl.h.