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

#include <wasm-objects.h>

Inheritance diagram for v8::internal::WasmJSFunction:
Collaboration diagram for v8::internal::WasmJSFunction:

Public Member Functions

 OBJECT_CONSTRUCTORS (WasmJSFunction, 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 IsWasmJSFunction (Tagged< Object > object)
 
static DirectHandle< WasmJSFunctionNew (Isolate *isolate, const wasm::FunctionSig *sig, DirectHandle< JSReceiver > callable, wasm::Suspend suspend)
 
- 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 1038 of file wasm-objects.h.

Member Function Documentation

◆ IsWasmJSFunction()

bool v8::internal::WasmJSFunction::IsWasmJSFunction ( Tagged< Object > object)
static

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

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

◆ New()

DirectHandle< WasmJSFunction > v8::internal::WasmJSFunction::New ( Isolate * isolate,
const wasm::FunctionSig * sig,
DirectHandle< JSReceiver > callable,
wasm::Suspend suspend )
static

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

Here is the call graph for this function:

◆ OBJECT_CONSTRUCTORS()

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

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