V8 Project
types.h File Reference
#include "src/conversions.h"
#include "src/factory.h"
#include "src/handles.h"
#include "src/ostreams.h"
+ Include dependency graph for types.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  v8::internal::TypeImpl< Config >
 
struct  v8::internal::TypeImpl< Config >::Limits
 
class  v8::internal::TypeImpl< Config >::BitsetType
 
struct  v8::internal::TypeImpl< Config >::BitsetType::BitsetMin
 
class  v8::internal::TypeImpl< Config >::StructuralType
 
class  v8::internal::TypeImpl< Config >::UnionType
 
class  v8::internal::TypeImpl< Config >::ClassType
 
class  v8::internal::TypeImpl< Config >::ConstantType
 
class  v8::internal::TypeImpl< Config >::RangeType
 
class  v8::internal::TypeImpl< Config >::ContextType
 
class  v8::internal::TypeImpl< Config >::ArrayType
 
class  v8::internal::TypeImpl< Config >::FunctionType
 
class  v8::internal::TypeImpl< Config >::Iterator< T >
 
struct  v8::internal::ZoneTypeConfig
 
class  v8::internal::ZoneTypeConfig::Base
 
struct  v8::internal::ZoneTypeConfig::Handle< T >
 
struct  v8::internal::HeapTypeConfig
 
struct  v8::internal::HeapTypeConfig::Handle< T >
 
struct  v8::internal::BoundsImpl< Config >
 

Namespaces

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

Macros

#define MASK_BITSET_TYPE_LIST(V)
 
#define REPRESENTATION(k)   ((k) & BitsetType::kRepresentation)
 
#define SEMANTIC(k)   ((k) & BitsetType::kSemantic)
 
#define REPRESENTATION_BITSET_TYPE_LIST(V)
 
#define SEMANTIC_BITSET_TYPE_LIST(V)
 
#define PROPER_BITSET_TYPE_LIST(V)
 
#define BITSET_TYPE_LIST(V)
 
#define DEFINE_TYPE_CONSTRUCTOR(type, value)
 
#define DECLARE_TYPE(type, value)   k##type = (value),
 

Typedefs

typedef BoundsImpl< ZoneTypeConfig > v8::internal::Bounds
 

Enumerations

enum  
 
enum  Tag
 

Macro Definition Documentation

◆ BITSET_TYPE_LIST

#define BITSET_TYPE_LIST (   V)
Value:
PROPER_BITSET_TYPE_LIST(V)
#define MASK_BITSET_TYPE_LIST(V)
Definition: types.h:156

Definition at line 251 of file types.h.

◆ DECLARE_TYPE

#define DECLARE_TYPE (   type,
  value 
)    k##type = (value),

Definition at line 569 of file types.h.

◆ DEFINE_TYPE_CONSTRUCTOR

#define DEFINE_TYPE_CONSTRUCTOR (   type,
  value 
)
Value:
static TypeImpl* type() { \
return BitsetType::New(BitsetType::k##type); \
} \
static TypeHandle type(Region* region) { \
return BitsetType::New(BitsetType::k##type, region); \
}

Definition at line 317 of file types.h.

◆ MASK_BITSET_TYPE_LIST

#define MASK_BITSET_TYPE_LIST (   V)
Value:
V(Representation, 0xff800000u) \
V(Semantic, 0x007ffffeu)
#define V(NAME, Name, id)
Definition: execution.h:170

Definition at line 156 of file types.h.

◆ PROPER_BITSET_TYPE_LIST

#define PROPER_BITSET_TYPE_LIST (   V)
Value:
SEMANTIC_BITSET_TYPE_LIST(V)
#define REPRESENTATION_BITSET_TYPE_LIST(V)
Definition: types.h:163

Definition at line 247 of file types.h.

◆ REPRESENTATION

#define REPRESENTATION (   k)    ((k) & BitsetType::kRepresentation)

Definition at line 160 of file types.h.

◆ REPRESENTATION_BITSET_TYPE_LIST

#define REPRESENTATION_BITSET_TYPE_LIST (   V)
Value:
V(None, 0) \
V(UntaggedInt1, 1u << 23 | kSemantic) \
V(UntaggedInt8, 1u << 24 | kSemantic) \
V(UntaggedInt16, 1u << 25 | kSemantic) \
V(UntaggedInt32, 1u << 26 | kSemantic) \
V(UntaggedFloat32, 1u << 27 | kSemantic) \
V(UntaggedFloat64, 1u << 28 | kSemantic) \
V(UntaggedPtr, 1u << 29 | kSemantic) \
V(TaggedInt, 1u << 30 | kSemantic) \
V(TaggedPtr, 1u << 31 | kSemantic) \
V(UntaggedInt, kUntaggedInt1 | kUntaggedInt8 | \
kUntaggedInt16 | kUntaggedInt32) \
V(UntaggedFloat, kUntaggedFloat32 | kUntaggedFloat64) \
V(UntaggedNumber, kUntaggedInt | kUntaggedFloat) \
V(Untagged, kUntaggedNumber | kUntaggedPtr) \
V(Tagged, kTaggedInt | kTaggedPtr)
@ None
Definition: v8.h:2211

Definition at line 163 of file types.h.

◆ SEMANTIC

#define SEMANTIC (   k)    ((k) & BitsetType::kSemantic)

Definition at line 161 of file types.h.

◆ SEMANTIC_BITSET_TYPE_LIST

#define SEMANTIC_BITSET_TYPE_LIST (   V)

Definition at line 182 of file types.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
protected

Definition at line 568 of file types.h.

568  {
569  #define DECLARE_TYPE(type, value) k##type = (value),
571  #undef DECLARE_TYPE
572  kUnusedEOL = 0
573  };
#define DECLARE_TYPE(type, value)
Definition: types.h:569
#define BITSET_TYPE_LIST(V)
Definition: types.h:251

◆ Tag

enum Tag
protected

Definition at line 643 of file types.h.

643  {
644  kClassTag,
645  kConstantTag,
646  kRangeTag,
647  kContextTag,
648  kArrayTag,
649  kFunctionTag,
650  kUnionTag
651  };