Flutter Engine
The Flutter Engine
Classes | Namespaces | Macros | Enumerations | Functions | Variables
locations.h File Reference
#include "vm/allocation.h"
#include "vm/bitfield.h"
#include "vm/bitmap.h"
#include "vm/compiler/assembler/assembler.h"
#include "vm/constants.h"
#include "vm/cpu.h"

Go to the source code of this file.

Classes

struct  dart::RepresentationUtils
 
class  dart::Location
 
class  dart::PairLocation
 
class  dart::SmallSet< T >
 
class  dart::RegisterSet
 
class  dart::LocationSummary
 

Namespaces

namespace  dart
 

Macros

#define FOR_EACH_INTEGER_REPRESENTATION_KIND(M)
 
#define FOR_EACH_UNBOXED_REPRESENTATION_KIND(M)
 
#define FOR_EACH_SIMPLE_REPRESENTATION_KIND(M)
 
#define FOR_EACH_REPRESENTATION_KIND(M)
 
#define DECLARE_REPRESENTATION(name, __, ___, ____)   k##name,
 
#define REP_IN_SET_CLAUSE(name, __, ___, ____)
 
#define REP_SIZEOF_CLAUSE(name, __, ___, type)
 
#define REP_IS_UNSIGNED_CLAUSE(name, __, unsigned, ___)
 

Enumerations

enum  dart::Representation { dart::kNumRepresentations }
 

Functions

intptr_t dart::LocationCount (Representation rep)
 
Location dart::LocationArgumentsDescriptorLocation ()
 
Location dart::LocationExceptionLocation ()
 
Location dart::LocationStackTraceLocation ()
 
Location dart::LocationRegisterOrConstant (Value *value)
 
Location dart::LocationRegisterOrSmiConstant (Value *value, intptr_t min_value, intptr_t max_value)
 
Location dart::LocationWritableRegisterOrConstant (Value *value)
 
Location dart::LocationWritableRegisterOrSmiConstant (Value *value, intptr_t min_value, intptr_t max_value)
 
Location dart::LocationFixedRegisterOrConstant (Value *value, Register reg)
 
Location dart::LocationFixedRegisterOrSmiConstant (Value *value, Register reg)
 
Location dart::LocationAnyOrConstant (Value *value)
 
Location dart::LocationRemapForSlowPath (Location loc, Definition *def, intptr_t *cpu_reg_slots, intptr_t *fpu_reg_slots)
 
compiler::Address dart::LocationToStackSlotAddress (Location loc)
 

Variables

static constexpr intptr_t dart::kMaxLocationCount = 2
 
static constexpr Representation dart::kUnboxedWord
 
static constexpr Representation dart::kUnboxedUword
 
static constexpr Representation dart::kUnboxedIntPtr = kUnboxedWord
 
static constexpr Representation dart::kUnboxedAddress = kUnboxedUword
 

Macro Definition Documentation

◆ DECLARE_REPRESENTATION

#define DECLARE_REPRESENTATION (   name,
  __,
  ___,
  ____ 
)    k##name,

Definition at line 67 of file locations.h.

◆ FOR_EACH_INTEGER_REPRESENTATION_KIND

#define FOR_EACH_INTEGER_REPRESENTATION_KIND (   M)
Value:
M(UnboxedInt8, int8, false, int8_t) \
M(UnboxedUint8, uint8, true, uint8_t) \
M(UnboxedInt16, int16, false, int16_t) \
M(UnboxedUint16, uint16, true, uint16_t) \
M(UnboxedInt32, int32, false, int32_t) \
M(UnboxedUint32, uint32, true, uint32_t) \
M(UnboxedInt64, int64, false, int64_t)
Vec< 8, int32_t > int8
Definition: SkVx.h:1160
Vec< 8, uint32_t > uint8
Definition: SkVx.h:1168
#define M(PROC, DITHER)

Definition at line 31 of file locations.h.

◆ FOR_EACH_REPRESENTATION_KIND

#define FOR_EACH_REPRESENTATION_KIND (   M)
Value:
M(NoRepresentation, none, _, _) \
FOR_EACH_SIMPLE_REPRESENTATION_KIND(M) \
M(PairOfTagged, tagged_pair, _, _)

Definition at line 61 of file locations.h.

◆ FOR_EACH_SIMPLE_REPRESENTATION_KIND

#define FOR_EACH_SIMPLE_REPRESENTATION_KIND (   M)
Value:
M(Tagged, tagged, _, compiler::target::word) \
M(Untagged, untagged, _, compiler::target::word) \
FOR_EACH_UNBOXED_REPRESENTATION_KIND(M)
intptr_t word
Definition: globals.h:500

Definition at line 53 of file locations.h.

◆ FOR_EACH_UNBOXED_REPRESENTATION_KIND

#define FOR_EACH_UNBOXED_REPRESENTATION_KIND (   M)
Value:
M(UnboxedDouble, double, _, double_t) \
M(UnboxedFloat, float, _, float_t) \
FOR_EACH_INTEGER_REPRESENTATION_KIND(M) \
M(UnboxedFloat32x4, float32x4, _, simd128_value_t) \
M(UnboxedInt32x4, int32x4, _, simd128_value_t) \
M(UnboxedFloat64x2, float64x2, _, simd128_value_t)

Definition at line 42 of file locations.h.

◆ REP_IN_SET_CLAUSE

#define REP_IN_SET_CLAUSE (   name,
  __,
  ___,
  ____ 
)
Value:
case k##name: \
return true;
DEF_SWITCHES_START aot vmservice shared library name
Definition: switches.h:32

Definition at line 87 of file locations.h.

◆ REP_IS_UNSIGNED_CLAUSE

#define REP_IS_UNSIGNED_CLAUSE (   name,
  __,
  unsigned,
  ___ 
)
Value:
case k##name: \
return unsigned;

◆ REP_SIZEOF_CLAUSE

#define REP_SIZEOF_CLAUSE (   name,
  __,
  ___,
  type 
)
Value:
case k##name: \
return sizeof(type);
GLenum type