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

#include <wasm-objects.h>

Inheritance diagram for v8::internal::WasmCapiFunction:
Collaboration diagram for v8::internal::WasmCapiFunction:

Public Member Functions

const wasm::CanonicalSigsig () const
 
bool MatchesSignature (wasm::CanonicalTypeIndex other_canonical_sig_index) const
 
 OBJECT_CONSTRUCTORS (WasmCapiFunction, JSFunction)
 
- Public Member Functions inherited from v8::internal::JSFunction
 DECL_RELEASE_ACQUIRE_ACCESSORS (prototype_or_initial_map, Tagged< UnionOf< JSPrototype, Map, Hole > >) void TraceOptimizationStatus(const char *reason
 
Tagged< Contextcontext ()
 
bool has_context () const
 
Tagged< JSGlobalProxyglobal_proxy ()
 
Tagged< NativeContextnative_context ()
 
int length ()
 
void UpdateOptimizedCode (Isolate *isolate, Tagged< Code > code, WriteBarrierMode mode=WriteBarrierMode::UPDATE_WRITE_BARRIER)
 
void UpdateCode (Tagged< Code > code, WriteBarrierMode mode=WriteBarrierMode::UPDATE_WRITE_BARRIER)
 
void UpdateCodeKeepTieringRequests (Tagged< Code > code, WriteBarrierMode mode=WriteBarrierMode::UPDATE_WRITE_BARRIER)
 
Tagged< Objectraw_code (IsolateForSandbox isolate) const
 
Tagged< Objectraw_code (IsolateForSandbox isolate, AcquireLoadTag) const
 
Address instruction_start (IsolateForSandbox isolate) const
 
template<typename IsolateT >
Tagged< AbstractCodeabstract_code (IsolateT *isolate)
 
bool HasAvailableHigherTierCodeThan (IsolateForSandbox isolate, CodeKind kind) const
 
bool HasAvailableHigherTierCodeThanWithFilter (IsolateForSandbox isolate, CodeKind kind, CodeKinds filter_mask) const
 
V8_EXPORT_PRIVATE bool HasAttachedOptimizedCode (IsolateForSandbox isolate) const
 
bool HasAvailableOptimizedCode (IsolateForSandbox isolate) const
 
bool HasAttachedCodeKind (IsolateForSandbox isolate, CodeKind kind) const
 
bool HasAvailableCodeKind (IsolateForSandbox isolate, CodeKind kind) const
 
std::optional< CodeKindGetActiveTier (IsolateForSandbox isolate) const
 
V8_EXPORT_PRIVATE bool ActiveTierIsIgnition (IsolateForSandbox isolate) const
 
bool ActiveTierIsBaseline (IsolateForSandbox isolate) const
 
bool ActiveTierIsMaglev (IsolateForSandbox isolate) const
 
bool ActiveTierIsTurbofan (IsolateForSandbox isolate) const
 
bool CanDiscardCompiled (IsolateForSandbox isolate) const
 
bool ChecksTieringState (IsolateForSandbox isolate)
 
TieringState tiering_state () const
 
void RequestOptimization (Isolate *isolate, CodeKind target_kind, ConcurrencyMode mode=ConcurrencyMode::kConcurrent)
 
bool IsLoggingRequested (Isolate *isolate) const
 
bool IsOptimizationRequested (Isolate *isolate) const
 
bool IsMaglevRequested (Isolate *isolate) const
 
bool IsTurbofanRequested (Isolate *isolate) const
 
V8_INLINE std::optional< CodeKindGetRequestedOptimizationIfAny (Isolate *isolate, ConcurrencyMode mode=ConcurrencyMode::kConcurrent) const
 
bool tiering_in_progress () const
 
bool IsTieringRequestedOrInProgress () const
 
void SetTieringInProgress (bool in_progress, BytecodeOffset osr_offset=BytecodeOffset::None())
 
void ResetTieringRequests ()
 
bool osr_tiering_in_progress ()
 
void SetInterruptBudget (Isolate *isolate, BudgetModification kind, std::optional< CodeKind > override_active_tier={})
 
int ComputeInstanceSizeWithMinSlack (Isolate *isolate)
 
void CompleteInobjectSlackTrackingIfActive ()
 
bool has_closure_feedback_cell_array () const
 
Tagged< ClosureFeedbackCellArrayclosure_feedback_cell_array () const
 
void ClearAllTypeFeedbackInfoForTesting ()
 
bool NeedsResetDueToFlushedBytecode (Isolate *isolate)
 
void ResetIfCodeFlushed (Isolate *isolate, std::optional< std::function< void(Tagged< HeapObject > object, ObjectSlot slot, Tagged< HeapObject > target)> > gc_notify_updated_slot=std::nullopt)
 
bool NeedsResetDueToFlushedBaselineCode (IsolateForSandbox isolate)
 
bool ShouldFlushBaselineCode (base::EnumSet< CodeFlushMode > code_flush_mode)
 
bool is_compiled (IsolateForSandbox isolate) const
 
std::unique_ptr< char[]> DebugNameCStr ()
 
void PrintName (FILE *out=stdout)
 
CodeKinds GetAvailableCodeKinds (IsolateForSandbox isolate) const
 

Static Public Member Functions

static bool IsWasmCapiFunction (Tagged< Object > object)
 
static DirectHandle< WasmCapiFunctionNew (Isolate *isolate, Address call_target, DirectHandle< Foreign > embedder_data, wasm::CanonicalTypeIndex sig_index, const wasm::CanonicalSig *sig)
 
- Static Public Member Functions inherited from v8::internal::JSFunction
static Handle< StringGetName (Isolate *isolate, DirectHandle< JSFunction > function)
 
static V8_EXPORT_PRIVATE void EnsureFeedbackVector (Isolate *isolate, DirectHandle< JSFunction > function, IsCompiledScope *compiled_scope)
 FeedbackVector eventually. Generally this shouldn't be used to get the.
 
static void CreateAndAttachFeedbackVector (Isolate *isolate, DirectHandle< JSFunction > function, IsCompiledScope *compiled_scope)
 
static void EnsureClosureFeedbackCellArray (DirectHandle< JSFunction > function)
 
static void InitializeFeedbackCell (DirectHandle< JSFunction > function, IsCompiledScope *compiled_scope, bool reset_budget_for_feedback_allocation)
 
static void SetInitialMap (Isolate *isolate, DirectHandle< JSFunction > function, DirectHandle< Map > map, DirectHandle< JSPrototype > prototype)
 
static void SetInitialMap (Isolate *isolate, DirectHandle< JSFunction > function, DirectHandle< Map > map, DirectHandle< JSPrototype > prototype, DirectHandle< JSFunction > constructor)
 
static V8_EXPORT_PRIVATE void EnsureHasInitialMap (DirectHandle< JSFunction > function)
 
static V8_EXPORT_PRIVATE V8_WARN_UNUSED_RESULT MaybeHandle< MapGetDerivedMap (Isolate *isolate, DirectHandle< JSFunction > constructor, DirectHandle< JSReceiver > new_target)
 
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< MapGetDerivedRabGsabTypedArrayMap (Isolate *isolate, DirectHandle< JSFunction > constructor, DirectHandle< JSReceiver > new_target)
 
static V8_WARN_UNUSED_RESULT MaybeDirectHandle< MapGetDerivedRabGsabDataViewMap (Isolate *isolate, DirectHandle< JSReceiver > new_target)
 
static void SetPrototype (DirectHandle< JSFunction > function, DirectHandle< Object > value)
 
static int GetHeaderSize (bool function_has_prototype_slot)
 
static V8_WARN_UNUSED_RESULT int CalculateExpectedNofProperties (Isolate *isolate, DirectHandle< JSFunction > function)
 
static void CalculateInstanceSizeHelper (InstanceType instance_type, bool has_prototype_slot, int requested_embedder_fields, int requested_in_object_properties, int *instance_size, int *in_object_properties)
 
static DirectHandle< StringGetName (DirectHandle< JSFunction > function)
 
static V8_WARN_UNUSED_RESULT bool SetName (DirectHandle< JSFunction > function, DirectHandle< Name > name, DirectHandle< String > prefix)
 
static DirectHandle< StringGetDebugName (DirectHandle< JSFunction > function)
 
static DirectHandle< StringToString (DirectHandle< JSFunction > function)
 

Additional Inherited Members

- Static Public Attributes inherited from v8::internal::JSFunction
static const int kMinDescriptorsForFastBindAndWrap = 2
 
static constexpr int kSizeWithoutPrototype = kPrototypeOrInitialMapOffset
 
static constexpr int kSizeWithPrototype = TorqueGeneratedClass::kHeaderSize
 

Detailed Description

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

Member Function Documentation

◆ IsWasmCapiFunction()

bool v8::internal::WasmCapiFunction::IsWasmCapiFunction ( Tagged< Object > object)
static

Definition at line 2955 of file wasm-objects.cc.

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

◆ MatchesSignature()

bool v8::internal::WasmCapiFunction::MatchesSignature ( wasm::CanonicalTypeIndex other_canonical_sig_index) const

Definition at line 2773 of file wasm-objects.cc.

Here is the call graph for this function:

◆ New()

DirectHandle< WasmCapiFunction > v8::internal::WasmCapiFunction::New ( Isolate * isolate,
Address call_target,
DirectHandle< Foreign > embedder_data,
wasm::CanonicalTypeIndex sig_index,
const wasm::CanonicalSig * sig )
static

Definition at line 2968 of file wasm-objects.cc.

Here is the call graph for this function:

◆ OBJECT_CONSTRUCTORS()

v8::internal::WasmCapiFunction::OBJECT_CONSTRUCTORS ( WasmCapiFunction ,
JSFunction  )

◆ sig()

const wasm::CanonicalSig * v8::internal::WasmCapiFunction::sig ( ) const

Definition at line 2387 of file wasm-objects.cc.

Here is the caller graph for this function:

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