V8 Project
v8::internal::CallConstructStub Class Reference

#include <code-stubs.h>

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

Classes

class  FlagBits
 

Public Member Functions

 CallConstructStub (Isolate *isolate, CallConstructorFlags flags)
 
virtual void FinishCode (Handle< Code > code)
 
- Public Member Functions inherited from v8::internal::PlatformCodeStub
virtual Handle< CodeGenerateCode () OVERRIDE
 
virtual Code::Kind GetCodeKind () const
 

Private Member Functions

CallConstructorFlags flags () const
 
bool RecordCallTarget () const
 
virtual void PrintName (OStream &os) const OVERRIDE
 
 DEFINE_CALL_INTERFACE_DESCRIPTOR (CallConstruct)
 
 DEFINE_PLATFORM_CODE_STUB (CallConstruct, 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 1561 of file code-stubs.h.

Constructor & Destructor Documentation

◆ CallConstructStub()

v8::internal::CallConstructStub::CallConstructStub ( Isolate isolate,
CallConstructorFlags  flags 
)
inline

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

1564  : PlatformCodeStub(isolate) {
1565  minor_key_ = FlagBits::encode(flags);
1566  }
static U encode(T value)
Definition: utils.h:217
CallConstructorFlags flags() const
Definition: code-stubs.h:1573
PlatformCodeStub(Isolate *isolate)
Definition: code-stubs.h:341

References v8::internal::BitFieldBase< T, shift, size, U >::encode(), and flags().

+ Here is the call graph for this function:

Member Function Documentation

◆ DEFINE_CALL_INTERFACE_DESCRIPTOR()

v8::internal::CallConstructStub::DEFINE_CALL_INTERFACE_DESCRIPTOR ( CallConstruct  )
private

◆ DEFINE_PLATFORM_CODE_STUB()

v8::internal::CallConstructStub::DEFINE_PLATFORM_CODE_STUB ( CallConstruct  ,
PlatformCodeStub   
)
private

◆ FinishCode()

virtual void v8::internal::CallConstructStub::FinishCode ( Handle< Code code)
inlinevirtual

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

1568  {
1569  code->set_has_function_cache(RecordCallTarget());
1570  }

References RecordCallTarget().

+ Here is the call graph for this function:

◆ flags()

CallConstructorFlags v8::internal::CallConstructStub::flags ( ) const
inlineprivate

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

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

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

Referenced by CallConstructStub(), and RecordCallTarget().

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

◆ PrintName()

void v8::internal::CallConstructStub::PrintName ( OStream os) const
privatevirtual

Definition at line 800 of file code-stubs.cc.

800  { // NOLINT
801  os << "CallConstructStub";
802  if (RecordCallTarget()) os << "_Recording";
803 }

References RecordCallTarget().

+ Here is the call graph for this function:

◆ RecordCallTarget()

bool v8::internal::CallConstructStub::RecordCallTarget ( ) const
inlineprivate

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

1575  {
1576  return (flags() & RECORD_CONSTRUCTOR_TARGET) != 0;
1577  }
@ RECORD_CONSTRUCTOR_TARGET
Definition: globals.h:480

References flags(), and v8::internal::RECORD_CONSTRUCTOR_TARGET.

Referenced by FinishCode(), and PrintName().

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

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