V8 Project
v8::internal::InstanceofStub Class Reference

#include <code-stubs.h>

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

Classes

class  FlagBits
 

Public Types

enum  Flags { kNoFlags = 0 , kArgsInRegisters = 1 << 0 , kCallSiteInlineCheck = 1 << 1 , kReturnTrueFalseObject = 1 << 2 }
 

Public Member Functions

 InstanceofStub (Isolate *isolate, Flags flags)
 
virtual CallInterfaceDescriptor GetCallInterfaceDescriptor () OVERRIDE
 
- Public Member Functions inherited from v8::internal::PlatformCodeStub
virtual Handle< CodeGenerateCode () OVERRIDE
 
virtual Code::Kind GetCodeKind () const
 

Static Public Member Functions

static Register left ()
 
static Register right ()
 

Private Member Functions

Flags flags () const
 
bool HasArgsInRegisters () const
 
bool HasCallSiteInlineCheck () const
 
bool ReturnTrueFalseObject () const
 
virtual void PrintName (OStream &os) const OVERRIDE
 
 DEFINE_PLATFORM_CODE_STUB (Instanceof, 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 672 of file code-stubs.h.

Member Enumeration Documentation

◆ Flags

Enumerator
kNoFlags 
kArgsInRegisters 
kCallSiteInlineCheck 
kReturnTrueFalseObject 

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

Constructor & Destructor Documentation

◆ InstanceofStub()

v8::internal::InstanceofStub::InstanceofStub ( Isolate isolate,
Flags  flags 
)
inline

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

681  : PlatformCodeStub(isolate) {
682  minor_key_ = FlagBits::encode(flags);
683  }
static U encode(T value)
Definition: utils.h:217
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_PLATFORM_CODE_STUB()

v8::internal::InstanceofStub::DEFINE_PLATFORM_CODE_STUB ( Instanceof  ,
PlatformCodeStub   
)
private

◆ flags()

Flags v8::internal::InstanceofStub::flags ( ) const
inlineprivate

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

696 { 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 HasArgsInRegisters(), HasCallSiteInlineCheck(), InstanceofStub(), and ReturnTrueFalseObject().

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

◆ GetCallInterfaceDescriptor()

virtual CallInterfaceDescriptor v8::internal::InstanceofStub::GetCallInterfaceDescriptor ( )
inlinevirtual

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

688  {
689  if (HasArgsInRegisters()) {
690  return InstanceofDescriptor(isolate());
691  }
692  return ContextOnlyDescriptor(isolate());
693  }
bool HasArgsInRegisters() const
Definition: code-stubs.h:698

References HasArgsInRegisters().

+ Here is the call graph for this function:

◆ HasArgsInRegisters()

bool v8::internal::InstanceofStub::HasArgsInRegisters ( ) const
inlineprivate

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

698 { return (flags() & kArgsInRegisters) != 0; }

References flags(), and kArgsInRegisters.

Referenced by GetCallInterfaceDescriptor(), and PrintName().

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

◆ HasCallSiteInlineCheck()

bool v8::internal::InstanceofStub::HasCallSiteInlineCheck ( ) const
inlineprivate

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

700  {
701  return (flags() & kCallSiteInlineCheck) != 0;
702  }

References flags(), and kCallSiteInlineCheck.

Referenced by PrintName().

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

◆ left()

static Register v8::internal::InstanceofStub::left ( )
inlinestatic

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

685 { return InstanceofDescriptor::left(); }
static const Register left()

References v8::internal::InstanceofDescriptor::left().

Referenced by v8::internal::LCodeGen::DoDeferredInstanceOfKnownGlobal().

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

◆ PrintName()

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

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

552  { // NOLINT
553  os << "InstanceofStub";
554  if (HasArgsInRegisters()) os << "_REGS";
555  if (HasCallSiteInlineCheck()) os << "_INLINE";
556  if (ReturnTrueFalseObject()) os << "_TRUEFALSE";
557 }
bool HasCallSiteInlineCheck() const
Definition: code-stubs.h:700
bool ReturnTrueFalseObject() const
Definition: code-stubs.h:704

References HasArgsInRegisters(), HasCallSiteInlineCheck(), and ReturnTrueFalseObject().

+ Here is the call graph for this function:

◆ ReturnTrueFalseObject()

bool v8::internal::InstanceofStub::ReturnTrueFalseObject ( ) const
inlineprivate

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

704  {
705  return (flags() & kReturnTrueFalseObject) != 0;
706  }

References flags(), and kReturnTrueFalseObject.

Referenced by PrintName().

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

◆ right()

static Register v8::internal::InstanceofStub::right ( )
inlinestatic

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

686 { return InstanceofDescriptor::right(); }
static const Register right()

References v8::internal::InstanceofDescriptor::right().

Referenced by v8::internal::LCodeGen::DoDeferredInstanceOfKnownGlobal().

+ 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: