V8 Project
code-stubs.h File Reference
#include "src/allocation.h"
#include "src/assembler.h"
#include "src/codegen.h"
#include "src/globals.h"
#include "src/ic/ic-state.h"
#include "src/interface-descriptors.h"
#include "src/macro-assembler.h"
#include "src/ostreams.h"
+ Include dependency graph for code-stubs.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::BASE_EMBEDDED< Visitor >
 
class  v8::internal::BASE_EMBEDDED< Visitor >::MajorKeyBits
 
class  v8::internal::BASE_EMBEDDED< Visitor >::MinorKeyBits
 
class  v8::internal::PlatformCodeStub
 
class  v8::internal::CodeStubDescriptor
 
class  v8::internal::HydrogenCodeStub
 
class  v8::internal::HydrogenCodeStub::IsMissBits
 
class  v8::internal::HydrogenCodeStub::SubMinorKeyBits
 
class  v8::internal::RuntimeCallHelper
 
class  v8::internal::StubRuntimeCallHelper
 
class  v8::internal::NopRuntimeCallHelper
 
class  v8::internal::ToNumberStub
 
class  v8::internal::FINAL< kOperandKind, kNumCachedOperands >
 Source to read snapshot and builtins files from. More...
 
class  v8::internal::FastNewClosureStub
 
class  v8::internal::FastNewClosureStub::StrictModeBits
 
class  v8::internal::FastNewClosureStub::FunctionKindBits
 
class  v8::internal::FINAL< kOperandKind, kNumCachedOperands >::SlotsBits
 
class  v8::internal::FastCloneShallowArrayStub
 
class  v8::internal::FastCloneShallowArrayStub::AllocationSiteModeBits
 
class  v8::internal::FastCloneShallowObjectStub
 
class  v8::internal::FastCloneShallowObjectStub::LengthBits
 
class  v8::internal::CreateAllocationSiteStub
 
class  v8::internal::InstanceofStub
 
class  v8::internal::InstanceofStub::FlagBits
 
class  v8::internal::ArrayConstructorStub
 
class  v8::internal::ArrayConstructorStub::ArgumentCountBits
 
class  v8::internal::InternalArrayConstructorStub
 
class  v8::internal::MathPowStub
 
class  v8::internal::MathPowStub::ExponentTypeBits
 
class  v8::internal::CallICStub
 
class  v8::internal::CallIC_ArrayStub
 
class  v8::internal::FunctionPrototypeStub
 
class  v8::internal::LoadIndexedInterceptorStub
 
class  v8::internal::HandlerStub
 
class  v8::internal::LoadFieldStub
 
class  v8::internal::LoadFieldStub::LoadFieldByIndexBits
 
class  v8::internal::KeyedLoadSloppyArgumentsStub
 
class  v8::internal::LoadConstantStub
 
class  v8::internal::LoadConstantStub::ConstantIndexBits
 
class  v8::internal::StringLengthStub
 
class  v8::internal::StoreFieldStub
 
class  v8::internal::StoreFieldStub::StoreFieldByIndexBits
 
class  v8::internal::StoreFieldStub::RepresentationBits
 
class  v8::internal::StoreGlobalStub
 
class  v8::internal::StoreGlobalStub::IsConstantBits
 
class  v8::internal::StoreGlobalStub::RepresentationBits
 
class  v8::internal::StoreGlobalStub::CheckGlobalBits
 
class  v8::internal::CallApiFunctionStub
 
class  v8::internal::CallApiFunctionStub::IsStoreBits
 
class  v8::internal::CallApiFunctionStub::CallDataUndefinedBits
 
class  v8::internal::CallApiFunctionStub::ArgumentBits
 
class  v8::internal::CallApiGetterStub
 
class  v8::internal::BinaryOpICStub
 
class  v8::internal::FINAL< kOperandKind, kNumCachedOperands >::StringAddFlagsBits
 
class  v8::internal::FINAL< kOperandKind, kNumCachedOperands >::PretenureFlagBits
 
class  v8::internal::CompareICStub
 
class  v8::internal::CompareICStub::OpBits
 
class  v8::internal::CompareICStub::LeftStateBits
 
class  v8::internal::CompareICStub::RightStateBits
 
class  v8::internal::CompareICStub::StateBits
 
class  v8::internal::CompareNilICStub
 
class  v8::internal::CompareNilICStub::State
 
class  v8::internal::CompareNilICStub::NilValueBits
 
class  v8::internal::CompareNilICStub::TypesBits
 
class  v8::internal::CEntryStub
 
class  v8::internal::CEntryStub::SaveDoublesBits
 
class  v8::internal::CEntryStub::ResultSizeBits
 
class  v8::internal::JSEntryStub
 
class  v8::internal::JSEntryStub::StackFrameTypeBits
 
class  v8::internal::ArgumentsAccessStub
 
class  v8::internal::ArgumentsAccessStub::TypeBits
 
class  v8::internal::RegExpExecStub
 
class  v8::internal::CallFunctionStub
 
class  v8::internal::CallFunctionStub::FlagBits
 
class  v8::internal::CallFunctionStub::ArgcBits
 
class  v8::internal::CallConstructStub
 
class  v8::internal::CallConstructStub::FlagBits
 
class  v8::internal::StringCharCodeAtGenerator
 
class  v8::internal::StringCharFromCodeGenerator
 
class  v8::internal::StringCharAtGenerator
 
class  v8::internal::LoadDictionaryElementStub
 
class  v8::internal::KeyedLoadGenericStub
 
class  v8::internal::LoadICTrampolineStub
 
class  v8::internal::KeyedLoadICTrampolineStub
 
class  v8::internal::MegamorphicLoadStub
 
class  v8::internal::VectorLoadStub
 
class  v8::internal::VectorKeyedLoadStub
 
class  v8::internal::DoubleToIStub
 
class  v8::internal::DoubleToIStub::SourceRegisterBits
 
class  v8::internal::DoubleToIStub::DestinationRegisterBits
 
class  v8::internal::DoubleToIStub::IsTruncatingBits
 
class  v8::internal::DoubleToIStub::OffsetBits
 
class  v8::internal::DoubleToIStub::SkipFastPathBits
 
class  v8::internal::DoubleToIStub::SSE3Bits
 
class  v8::internal::LoadFastElementStub
 
class  v8::internal::LoadFastElementStub::ElementsKindBits
 
class  v8::internal::LoadFastElementStub::IsJSArrayBits
 
class  v8::internal::StoreFastElementStub
 
class  v8::internal::StoreFastElementStub::ElementsKindBits
 
class  v8::internal::StoreFastElementStub::StoreModeBits
 
class  v8::internal::StoreFastElementStub::IsJSArrayBits
 
class  v8::internal::TransitionElementsKindStub
 
class  v8::internal::TransitionElementsKindStub::FromKindBits
 
class  v8::internal::TransitionElementsKindStub::ToKindBits
 
class  v8::internal::TransitionElementsKindStub::IsJSArrayBits
 
class  v8::internal::ArrayConstructorStubBase
 
class  v8::internal::ArrayConstructorStubBase::ElementsKindBits
 
class  v8::internal::ArrayConstructorStubBase::AllocationSiteOverrideModeBits
 
class  v8::internal::ArrayNoArgumentConstructorStub
 
class  v8::internal::ArraySingleArgumentConstructorStub
 
class  v8::internal::ArrayNArgumentsConstructorStub
 
class  v8::internal::InternalArrayConstructorStubBase
 
class  v8::internal::InternalArrayConstructorStubBase::ElementsKindBits
 
class  v8::internal::InternalArrayNoArgumentConstructorStub
 
class  v8::internal::InternalArraySingleArgumentConstructorStub
 
class  v8::internal::InternalArrayNArgumentsConstructorStub
 
class  v8::internal::StoreElementStub
 
class  v8::internal::StoreElementStub::ElementsKindBits
 
class  v8::internal::ToBooleanStub
 
class  v8::internal::ToBooleanStub::Types
 
class  v8::internal::ToBooleanStub::TypesBits
 
class  v8::internal::ToBooleanStub::ResultModeBits
 
class  v8::internal::ElementsTransitionAndStoreStub
 
class  v8::internal::ElementsTransitionAndStoreStub::FromBits
 
class  v8::internal::ElementsTransitionAndStoreStub::ToBits
 
class  v8::internal::ElementsTransitionAndStoreStub::IsJSArrayBits
 
class  v8::internal::ElementsTransitionAndStoreStub::StoreModeBits
 
class  v8::internal::StoreArrayLiteralElementStub
 
class  v8::internal::StubFailureTrampolineStub
 
class  v8::internal::StubFailureTrampolineStub::FunctionModeField
 
class  v8::internal::ProfileEntryHookStub
 
class  v8::internal::StoreBufferOverflowStub
 
class  v8::internal::StoreBufferOverflowStub::SaveDoublesBits
 
class  v8::internal::SubStringStub
 
class  v8::internal::StringCompareStub
 

Namespaces

 v8
 Debugger support for the V8 JavaScript engine.
 
 v8::internal
 

Macros

#define CODE_STUB_LIST_ALL_PLATFORMS(V)
 
#define CODE_STUB_LIST_ARM(V)
 
#define CODE_STUB_LIST_ARM64(V)
 
#define CODE_STUB_LIST_MIPS(V)
 
#define CODE_STUB_LIST(V)
 
#define DEF_ENUM(name)   name,
 
#define DEFINE_CODE_STUB_BASE(NAME, SUPER)
 
#define DEFINE_CODE_STUB(NAME, SUPER)
 
#define DEFINE_PLATFORM_CODE_STUB(NAME, SUPER)
 
#define DEFINE_HYDROGEN_CODE_STUB(NAME, SUPER)
 
#define DEFINE_HANDLER_CODE_STUB(NAME, SUPER)
 
#define DEFINE_CALL_INTERFACE_DESCRIPTOR(NAME)
 
#define DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR()
 

Enumerations

enum  v8::internal::StubFunctionMode { v8::internal::NOT_JS_FUNCTION_STUB_MODE , v8::internal::JS_FUNCTION_STUB_MODE }
 
enum  v8::internal::HandlerArgumentsMode { v8::internal::DONT_PASS_ARGUMENTS , v8::internal::PASS_ARGUMENTS }
 
enum  v8::internal::AllocationSiteOverrideMode { v8::internal::DONT_OVERRIDE , v8::internal::DISABLE_ALLOCATION_SITES , v8::internal::LAST_ALLOCATION_SITE_OVERRIDE_MODE = DISABLE_ALLOCATION_SITES }
 
enum  v8::internal::StringAddFlags { v8::internal::STRING_ADD_CHECK_NONE = 0 , v8::internal::STRING_ADD_CHECK_LEFT = 1 << 0 , v8::internal::STRING_ADD_CHECK_RIGHT = 1 << 1 , v8::internal::STRING_ADD_CHECK_BOTH = STRING_ADD_CHECK_LEFT | STRING_ADD_CHECK_RIGHT }
 
enum  v8::internal::StringIndexFlags { v8::internal::STRING_INDEX_IS_NUMBER , v8::internal::STRING_INDEX_IS_ARRAY_INDEX }
 

Functions

OStream & v8::internal::operator<< (OStream &os, const CompareNilICStub::State &s)
 
OStream & v8::internal::operator<< (OStream &os, const ToBooleanStub::Types &s)
 

Macro Definition Documentation

◆ CODE_STUB_LIST

#define CODE_STUB_LIST (   V)
Value:
CODE_STUB_LIST_ARM(V) \
CODE_STUB_LIST_ARM64(V) \
CODE_STUB_LIST_MIPS(V)
#define CODE_STUB_LIST_ALL_PLATFORMS(V)
Definition: code-stubs.h:21

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

◆ CODE_STUB_LIST_ALL_PLATFORMS

#define CODE_STUB_LIST_ALL_PLATFORMS (   V)

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

◆ CODE_STUB_LIST_ARM

#define CODE_STUB_LIST_ARM (   V)

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

◆ CODE_STUB_LIST_ARM64

#define CODE_STUB_LIST_ARM64 (   V)

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

◆ CODE_STUB_LIST_MIPS

#define CODE_STUB_LIST_MIPS (   V)

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

◆ DEF_ENUM

#define DEF_ENUM (   name)    name,

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

◆ DEFINE_CALL_INTERFACE_DESCRIPTOR

#define DEFINE_CALL_INTERFACE_DESCRIPTOR (   NAME)
Value:
public: \
virtual CallInterfaceDescriptor GetCallInterfaceDescriptor() OVERRIDE { \
return NAME##Descriptor(isolate()); \
}
#define OVERRIDE

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

◆ DEFINE_CODE_STUB

#define DEFINE_CODE_STUB (   NAME,
  SUPER 
)
Value:
protected: \
virtual inline Major MajorKey() const OVERRIDE { \
return NAME; \
}; \
DEFINE_CODE_STUB_BASE(NAME##Stub, SUPER)

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

◆ DEFINE_CODE_STUB_BASE

#define DEFINE_CODE_STUB_BASE (   NAME,
  SUPER 
)
Value:
public: \
NAME(uint32_t key, Isolate* isolate) : SUPER(key, isolate) {} \
\
private: \
DISALLOW_COPY_AND_ASSIGN(NAME)

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

◆ DEFINE_HANDLER_CODE_STUB

#define DEFINE_HANDLER_CODE_STUB (   NAME,
  SUPER 
)
Value:
public: \
virtual Handle<Code> GenerateCode() OVERRIDE; \
DEFINE_CODE_STUB(NAME, SUPER)
#define DEFINE_CODE_STUB(NAME, SUPER)
Definition: code-stubs.h:291

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

◆ DEFINE_HYDROGEN_CODE_STUB

#define DEFINE_HYDROGEN_CODE_STUB (   NAME,
  SUPER 
)
Value:
public: \
virtual void InitializeDescriptor(CodeStubDescriptor* descriptor) OVERRIDE; \
virtual Handle<Code> GenerateCode() OVERRIDE; \
DEFINE_CODE_STUB(NAME, SUPER)

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

◆ DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR

#define DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR ( )
Value:
public: \
virtual CallInterfaceDescriptor GetCallInterfaceDescriptor() OVERRIDE { \
UNREACHABLE(); \
return CallInterfaceDescriptor(); \
}

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

◆ DEFINE_PLATFORM_CODE_STUB

#define DEFINE_PLATFORM_CODE_STUB (   NAME,
  SUPER 
)
Value:
private: \
virtual void Generate(MacroAssembler* masm) OVERRIDE; \
DEFINE_CODE_STUB(NAME, SUPER)

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