V8 Project
|
#include <code-stubs.h>
Classes | |
class | NilValueBits |
class | State |
class | TypesBits |
Public Member Functions | |
Type * | GetType (Zone *zone, Handle< Map > map=Handle< Map >()) |
Type * | GetInputType (Zone *zone, Handle< Map > map) |
CompareNilICStub (Isolate *isolate, NilValue nil) | |
CompareNilICStub (Isolate *isolate, ExtraICState ic_state, InitializationState init_state=INITIALIZED) | |
virtual InlineCacheState | GetICState () const |
virtual Code::Kind | GetCodeKind () const |
virtual ExtraICState | GetExtraICState () const |
void | UpdateStatus (Handle< Object > object) |
bool | IsMonomorphic () const |
NilValue | nil_value () const |
void | ClearState () |
virtual void | PrintState (OStream &os) const OVERRIDE |
virtual void | PrintBaseName (OStream &os) const OVERRIDE |
![]() | |
virtual Handle< Code > | GenerateCode ()=0 |
bool | IsUninitialized () const |
Handle< Code > | GenerateLightweightMissCode (ExternalReference miss) |
template<class StateType > | |
void | TraceTransition (StateType from, StateType to) |
Static Public Member Functions | |
static Handle< Code > | GetUninitialized (Isolate *isolate, NilValue nil) |
![]() | |
template<class SubClass > | |
static Handle< Code > | GetUninitialized (Isolate *isolate) |
Private Types | |
enum | CompareNilType { UNDEFINED , NULL_TYPE , MONOMORPHIC_MAP , GENERIC , NUMBER_OF_TYPES } |
Private Member Functions | |
CompareNilICStub (Isolate *isolate, NilValue nil, InitializationState init_state) | |
STATIC_ASSERT (NUMBER_OF_TYPES<=6) | |
State | state () const |
DEFINE_CALL_INTERFACE_DESCRIPTOR (CompareNil) | |
DEFINE_HYDROGEN_CODE_STUB (CompareNilIC, HydrogenCodeStub) | |
Friends | |
class | CompareNilIC |
OStream & | operator<< (OStream &os, const State &s) |
Additional Inherited Members | |
![]() | |
enum | InitializationState { UNINITIALIZED , INITIALIZED } |
![]() | |
HydrogenCodeStub (Isolate *isolate, InitializationState state=INITIALIZED) | |
void | set_sub_minor_key (uint32_t key) |
uint32_t | sub_minor_key () const |
![]() | |
static const int | kSubMinorKeyBits = kStubMinorKeyBits - 1 |
Definition at line 1314 of file code-stubs.h.
|
private |
Enumerator | |
---|---|
UNDEFINED | |
NULL_TYPE | |
MONOMORPHIC_MAP | |
GENERIC | |
NUMBER_OF_TYPES |
Definition at line 1369 of file code-stubs.h.
Definition at line 1319 of file code-stubs.h.
References v8::internal::BitFieldBase< T, shift, size, U >::encode(), and v8::internal::HydrogenCodeStub::set_sub_minor_key().
Referenced by GetUninitialized().
|
inline |
Definition at line 1323 of file code-stubs.h.
References v8::internal::HydrogenCodeStub::set_sub_minor_key().
|
inlineprivate |
Definition at line 1363 of file code-stubs.h.
References v8::internal::BitFieldBase< T, shift, size, U >::encode(), and v8::internal::HydrogenCodeStub::set_sub_minor_key().
|
inline |
Definition at line 1355 of file code-stubs.h.
References v8::internal::HydrogenCodeStub::set_sub_minor_key(), v8::internal::HydrogenCodeStub::sub_minor_key(), and v8::internal::BitFieldBase< T, shift, size, U >::update().
Referenced by v8::internal::CompareNilIC::Clear().
|
private |
|
private |
|
inlinevirtual |
Reimplemented from v8::internal::HydrogenCodeStub.
Definition at line 1345 of file code-stubs.h.
|
inlinevirtual |
Definition at line 1347 of file code-stubs.h.
References v8::internal::HydrogenCodeStub::sub_minor_key().
Referenced by v8::internal::PropertyICCompiler::ComputeCompareNil().
|
inlinevirtual |
Definition at line 1334 of file code-stubs.h.
References v8::internal::EnumSet< E, T >::Contains(), GENERIC, v8::internal::MEGAMORPHIC, v8::internal::MONOMORPHIC, MONOMORPHIC_MAP, v8::internal::PREMONOMORPHIC, and state().
Definition at line 534 of file code-stubs.cc.
References GetType(), v8::internal::kNullValue, map, nil_value(), v8::Null(), v8::Undefined(), and v8::internal::TypeImpl< ZoneTypeConfig >::Union().
Referenced by v8::internal::TypeFeedbackOracle::CompareType().
Definition at line 513 of file code-stubs.cc.
References v8::internal::TypeImpl< ZoneTypeConfig >::Class(), v8::internal::EnumSet< E, T >::Contains(), GENERIC, map, MONOMORPHIC_MAP, v8::None, v8::Null(), NULL_TYPE, state(), v8::Undefined(), UNDEFINED, and v8::internal::TypeImpl< ZoneTypeConfig >::Union().
Referenced by v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeInitializedStub(), v8::internal::TypeFeedbackOracle::CompareType(), and GetInputType().
|
inlinestatic |
Definition at line 1329 of file code-stubs.h.
References CompareNilICStub(), and v8::internal::HydrogenCodeStub::UNINITIALIZED.
|
inline |
Definition at line 1351 of file code-stubs.h.
References v8::internal::EnumSet< E, T >::Contains(), MONOMORPHIC_MAP, and state().
Referenced by v8::internal::CompareNilIC::CompareNil(), and UpdateStatus().
|
inline |
Definition at line 1353 of file code-stubs.h.
References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::HydrogenCodeStub::sub_minor_key().
Referenced by v8::internal::CompareNilIC::CompareNil(), GetInputType(), and PrintBaseName().
|
virtual |
Definition at line 470 of file code-stubs.cc.
References v8::internal::kNullValue, and nil_value().
|
virtual |
Definition at line 476 of file code-stubs.cc.
References state().
|
inlineprivate |
Definition at line 1389 of file code-stubs.h.
References v8::internal::BitFieldBase< T, shift, size, U >::decode(), and v8::internal::HydrogenCodeStub::sub_minor_key().
Referenced by GetICState(), GetType(), IsMonomorphic(), PrintState(), and UpdateStatus().
|
private |
Definition at line 433 of file code-stubs.cc.
References v8::internal::EnumSet< E, T >::Add(), v8::internal::EnumSet< E, T >::Contains(), DCHECK, GENERIC, IsMonomorphic(), MONOMORPHIC_MAP, NULL_TYPE, v8::internal::EnumSet< E, T >::RemoveAll(), v8::internal::HydrogenCodeStub::set_sub_minor_key(), state(), v8::internal::HydrogenCodeStub::sub_minor_key(), v8::internal::EnumSet< E, T >::ToIntegral(), v8::internal::HydrogenCodeStub::TraceTransition(), UNDEFINED, and v8::internal::BitFieldBase< T, shift, size, U >::update().
Referenced by v8::internal::CompareNilIC::CompareNil().
|
friend |
Definition at line 1394 of file code-stubs.h.
Definition at line 501 of file code-stubs.cc.