V8 Project
v8::internal::CpuFeatures Class Reference

#include <assembler.h>

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

Static Public Member Functions

static void Probe (bool cross_compile)
 
static unsigned SupportedFeatures ()
 
static bool IsSupported (CpuFeature f)
 
static bool SupportsCrankshaft ()
 
static unsigned cache_line_size ()
 
static void PrintTarget ()
 
static void PrintFeatures ()
 
static void FlushICache (void *start, size_t size)
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (CpuFeatures)
 

Static Private Member Functions

static void ProbeImpl (bool cross_compile)
 

Static Private Attributes

static unsigned supported_ = 0
 
static unsigned cache_line_size_ = 0
 
static bool initialized_ = false
 

Friends

class ExternalReference
 

Detailed Description

Definition at line 170 of file assembler.h.

Member Function Documentation

◆ cache_line_size()

static unsigned v8::internal::CpuFeatures::cache_line_size ( )
inlinestatic

Definition at line 190 of file assembler.h.

190  {
191  DCHECK(cache_line_size_ != 0);
192  return cache_line_size_;
193  }
static unsigned cache_line_size_
Definition: assembler.h:206
#define DCHECK(condition)
Definition: logging.h:205

References cache_line_size_, and DCHECK.

◆ DISALLOW_COPY_AND_ASSIGN()

v8::internal::CpuFeatures::DISALLOW_COPY_AND_ASSIGN ( CpuFeatures  )
private

◆ FlushICache()

static void v8::internal::CpuFeatures::FlushICache ( void *  start,
size_t  size 
)
static

◆ IsSupported()

static bool v8::internal::CpuFeatures::IsSupported ( CpuFeature  f)
inlinestatic

◆ PrintFeatures()

static void v8::internal::CpuFeatures::PrintFeatures ( )
static

Referenced by v8::internal::FlagList::PrintHelp().

+ Here is the caller graph for this function:

◆ PrintTarget()

static void v8::internal::CpuFeatures::PrintTarget ( )
static

Referenced by v8::internal::FlagList::PrintHelp().

+ Here is the caller graph for this function:

◆ Probe()

static void v8::internal::CpuFeatures::Probe ( bool  cross_compile)
inlinestatic

Definition at line 172 of file assembler.h.

172  {
174  if (initialized_) return;
175  initialized_ = true;
176  ProbeImpl(cross_compile);
177  }
static bool initialized_
Definition: assembler.h:207
static void ProbeImpl(bool cross_compile)
@ NUMBER_OF_CPU_FEATURES
Definition: globals.h:633
const int kBitsPerInt
Definition: globals.h:165
STATIC_ASSERT(sizeof(CPURegister)==sizeof(Register))

References initialized_, v8::internal::kBitsPerInt, v8::internal::NUMBER_OF_CPU_FEATURES, ProbeImpl(), and v8::internal::STATIC_ASSERT().

Referenced by v8::internal::V8::InitializeOncePerProcessImpl(), main(), v8::internal::FlagList::PrintHelp(), and SupportedFeatures().

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

◆ ProbeImpl()

static void v8::internal::CpuFeatures::ProbeImpl ( bool  cross_compile)
staticprivate

Referenced by Probe().

+ Here is the caller graph for this function:

◆ SupportedFeatures()

static unsigned v8::internal::CpuFeatures::SupportedFeatures ( )
inlinestatic

Definition at line 179 of file assembler.h.

179  {
180  Probe(false);
181  return supported_;
182  }
static void Probe(bool cross_compile)
Definition: assembler.h:172

References Probe(), and supported_.

Referenced by v8::internal::compiler::FINAL< kOperandKind, kNumCachedOperands >::SupportedFeatures().

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

◆ SupportsCrankshaft()

bool v8::internal::CpuFeatures::SupportsCrankshaft ( )
inlinestatic

Definition at line 50 of file assembler-arm-inl.h.

50 { return IsSupported(VFP3); }
static bool IsSupported(CpuFeature f)
Definition: assembler.h:184

References IsSupported(), and v8::internal::VFP3.

Referenced by v8::internal::Isolate::use_crankshaft().

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

Friends And Related Function Documentation

◆ ExternalReference

friend class ExternalReference
friend

Definition at line 208 of file assembler.h.

Member Data Documentation

◆ cache_line_size_

unsigned v8::internal::CpuFeatures::cache_line_size_ = 0
staticprivate

Definition at line 206 of file assembler.h.

Referenced by cache_line_size().

◆ initialized_

bool v8::internal::CpuFeatures::initialized_ = false
staticprivate

Definition at line 207 of file assembler.h.

Referenced by Probe().

◆ supported_

unsigned v8::internal::CpuFeatures::supported_ = 0
staticprivate

Definition at line 205 of file assembler.h.

Referenced by IsSupported(), and SupportedFeatures().


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