V8 Project
v8::internal::CallApiFunctionStub Class Reference

#include <code-stubs.h>

+ Inheritance diagram for v8::internal::CallApiFunctionStub:
+ Collaboration diagram for v8::internal::CallApiFunctionStub:

Classes

class  ArgumentBits
 
class  CallDataUndefinedBits
 
class  IsStoreBits
 

Public Member Functions

 CallApiFunctionStub (Isolate *isolate, bool is_store, bool call_data_undefined, int argc)
 
- Public Member Functions inherited from v8::internal::PlatformCodeStub
virtual Handle< CodeGenerateCode () OVERRIDE
 
virtual Code::Kind GetCodeKind () const
 

Private Member Functions

bool is_store () const
 
bool call_data_undefined () const
 
int argc () const
 
 STATIC_ASSERT (Code::kArgumentsBits+2<=kStubMinorKeyBits)
 
 DEFINE_CALL_INTERFACE_DESCRIPTOR (ApiFunction)
 
 DEFINE_PLATFORM_CODE_STUB (CallApiFunction, PlatformCodeStub)
 

Additional Inherited Members

- Protected Member Functions inherited from v8::internal::PlatformCodeStub
 PlatformCodeStub (Isolate *isolate)
 
virtual void Generate (MacroAssembler *masm)=0
 
 DEFINE_CODE_STUB_BASE (PlatformCodeStub, CodeStub)
 

Detailed Description

Definition at line 1056 of file code-stubs.h.

Constructor & Destructor Documentation

◆ CallApiFunctionStub()

v8::internal::CallApiFunctionStub::CallApiFunctionStub ( Isolate isolate,
bool  is_store,
bool  call_data_undefined,
int  argc 
)
inline

Definition at line 1058 of file code-stubs.h.

1061  : PlatformCodeStub(isolate) {
1062  minor_key_ = IsStoreBits::encode(is_store) |
1065  DCHECK(!is_store || argc == 1);
1066  }
static U encode(T value)
Definition: utils.h:217
PlatformCodeStub(Isolate *isolate)
Definition: code-stubs.h:341
#define DCHECK(condition)
Definition: logging.h:205

References argc(), call_data_undefined(), DCHECK, v8::internal::BitFieldBase< T, shift, size, U >::encode(), and is_store().

+ Here is the call graph for this function:

Member Function Documentation

◆ argc()

int v8::internal::CallApiFunctionStub::argc ( ) const
inlineprivate

Definition at line 1073 of file code-stubs.h.

1073 { return ArgumentBits::decode(minor_key_); }
static T decode(U value)
Definition: utils.h:228

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

Referenced by CallApiFunctionStub().

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

◆ call_data_undefined()

bool v8::internal::CallApiFunctionStub::call_data_undefined ( ) const
inlineprivate

Definition at line 1070 of file code-stubs.h.

1070  {
1071  return CallDataUndefinedBits::decode(minor_key_);
1072  }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

Referenced by CallApiFunctionStub().

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

◆ DEFINE_CALL_INTERFACE_DESCRIPTOR()

v8::internal::CallApiFunctionStub::DEFINE_CALL_INTERFACE_DESCRIPTOR ( ApiFunction  )
private

◆ DEFINE_PLATFORM_CODE_STUB()

v8::internal::CallApiFunctionStub::DEFINE_PLATFORM_CODE_STUB ( CallApiFunction  ,
PlatformCodeStub   
)
private

◆ is_store()

bool v8::internal::CallApiFunctionStub::is_store ( ) const
inlineprivate

Definition at line 1069 of file code-stubs.h.

1069 { return IsStoreBits::decode(minor_key_); }

References v8::internal::BitFieldBase< T, shift, size, U >::decode().

Referenced by CallApiFunctionStub().

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

◆ STATIC_ASSERT()

v8::internal::CallApiFunctionStub::STATIC_ASSERT ( Code::kArgumentsBits+2<=  kStubMinorKeyBits)
private

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