V8 Project
v8::internal::MathPowStub Class Reference

#include <code-stubs.h>

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

Classes

class  ExponentTypeBits
 

Public Types

enum  ExponentType { INTEGER , DOUBLE , TAGGED , ON_STACK }
 

Public Member Functions

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

Private Member Functions

ExponentType exponent_type () const
 
 DEFINE_PLATFORM_CODE_STUB (MathPow, 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 760 of file code-stubs.h.

Member Enumeration Documentation

◆ ExponentType

Enumerator
INTEGER 
DOUBLE 
TAGGED 
ON_STACK 

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

Constructor & Destructor Documentation

◆ MathPowStub()

v8::internal::MathPowStub::MathPowStub ( Isolate isolate,
ExponentType  exponent_type 
)
inline

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

765  : PlatformCodeStub(isolate) {
767  }
static U encode(T value)
Definition: utils.h:217
ExponentType exponent_type() const
Definition: code-stubs.h:780
PlatformCodeStub(Isolate *isolate)
Definition: code-stubs.h:341

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

+ Here is the call graph for this function:

Member Function Documentation

◆ DEFINE_PLATFORM_CODE_STUB()

v8::internal::MathPowStub::DEFINE_PLATFORM_CODE_STUB ( MathPow  ,
PlatformCodeStub   
)
private

◆ exponent_type()

ExponentType v8::internal::MathPowStub::exponent_type ( ) const
inlineprivate

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

780  {
781  return ExponentTypeBits::decode(minor_key_);
782  }
static T decode(U value)
Definition: utils.h:228

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

Referenced by GetCallInterfaceDescriptor(), and MathPowStub().

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

◆ GetCallInterfaceDescriptor()

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

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

769  {
770  if (exponent_type() == TAGGED) {
771  return MathPowTaggedDescriptor(isolate());
772  } else if (exponent_type() == INTEGER) {
773  return MathPowIntegerDescriptor(isolate());
774  }
775  // A CallInterfaceDescriptor doesn't specify double registers (yet).
776  return ContextOnlyDescriptor(isolate());
777  }

References exponent_type(), INTEGER, and TAGGED.

+ Here is the call graph for this function:

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