Flutter Engine
The Flutter Engine
|
#include <range_analysis.h>
Public Member Functions | |
Range () | |
Range (RangeBoundary min, RangeBoundary max) | |
Range (const Range &other) | |
Range & | operator= (const Range &other) |
void | PrintTo (BaseTextBuffer *f) const |
bool | Equals (const Range *other) |
const RangeBoundary & | min () const |
const RangeBoundary & | max () const |
void | set_min (const RangeBoundary &value) |
void | set_max (const RangeBoundary &value) |
bool | IsPositive () const |
bool | IsNegative () const |
bool | OnlyLessThanOrEqualTo (int64_t val) const |
bool | OnlyGreaterThanOrEqualTo (int64_t val) const |
bool | IsWithin (int64_t min_int, int64_t max_int) const |
bool | IsWithin (const Range *other) const |
bool | Overlaps (int64_t min_int, int64_t max_int) const |
bool | IsUnsatisfiable () const |
bool | IsSingleton () const |
int64_t | Singleton () const |
Range | Intersect (const Range *other) const |
bool | Fits (RangeBoundary::RangeSize size) const |
void | Clamp (RangeBoundary::RangeSize size) |
void | ClampToConstant (RangeBoundary::RangeSize size) |
void | Write (FlowGraphSerializer *s) const |
Range (FlowGraphDeserializer *d) | |
Public Member Functions inherited from dart::ZoneAllocated | |
ZoneAllocated () | |
void * | operator new (size_t size) |
void * | operator new (size_t size, Zone *zone) |
void | operator delete (void *pointer) |
Static Public Member Functions | |
static bool | IsUnknown (const Range *other) |
static Range | Full (RangeBoundary::RangeSize size) |
static Range | Full (Representation rep) |
static const char * | ToCString (const Range *range) |
static RangeBoundary | ConstantMinSmi (const Range *range) |
static RangeBoundary | ConstantMaxSmi (const Range *range) |
static RangeBoundary | ConstantMin (const Range *range) |
static RangeBoundary | ConstantMax (const Range *range) |
static RangeBoundary | ConstantMin (const Range *range, RangeBoundary::RangeSize size) |
static RangeBoundary | ConstantMax (const Range *range, RangeBoundary::RangeSize size) |
static bool | Fits (Range *range, Representation rep) |
static void | Add (const Range *left_range, const Range *right_range, RangeBoundary *min, RangeBoundary *max, Definition *left_defn) |
static void | Sub (const Range *left_range, const Range *right_range, RangeBoundary *min, RangeBoundary *max, Definition *left_defn) |
static void | Mul (const Range *left_range, const Range *right_range, RangeBoundary *min, RangeBoundary *max) |
static void | TruncDiv (const Range *left_range, const Range *right_range, RangeBoundary *min, RangeBoundary *max) |
static void | Mod (const Range *right_range, RangeBoundary *min, RangeBoundary *max) |
static void | Shr (const Range *left_range, const Range *right_range, RangeBoundary *min, RangeBoundary *max) |
static void | Ushr (const Range *left_range, const Range *right_range, RangeBoundary *min, RangeBoundary *max) |
static void | Shl (const Range *left_range, const Range *right_range, RangeBoundary *min, RangeBoundary *max) |
static void | And (const Range *left_range, const Range *right_range, RangeBoundary *min, RangeBoundary *max) |
static void | BitwiseOp (const Range *left_range, const Range *right_range, RangeBoundary *min, RangeBoundary *max) |
static bool | OnlyPositiveOrZero (const Range &a, const Range &b) |
static bool | OnlyNegativeOrZero (const Range &a, const Range &b) |
static int64_t | ConstantAbsMax (const Range *range) |
static int64_t | ConstantAbsMin (const Range *range) |
static void | BinaryOp (const Token::Kind op, const Range *left_range, const Range *right_range, Definition *left_defn, Range *result) |
Definition at line 277 of file range_analysis.h.
|
inline |
Definition at line 279 of file range_analysis.h.
|
inline |
Definition at line 281 of file range_analysis.h.
|
inline |
Definition at line 285 of file range_analysis.h.
|
explicit |
Definition at line 2211 of file il_serializer.cc.
|
static |
Definition at line 2365 of file range_analysis.cc.
|
static |
Definition at line 2318 of file range_analysis.cc.
|
static |
Definition at line 2573 of file range_analysis.cc.
|
static |
Definition at line 2348 of file range_analysis.cc.
void dart::Range::Clamp | ( | RangeBoundary::RangeSize | size | ) |
Definition at line 2176 of file range_analysis.cc.
void dart::Range::ClampToConstant | ( | RangeBoundary::RangeSize | size | ) |
Definition at line 2181 of file range_analysis.cc.
|
static |
Definition at line 2550 of file range_analysis.cc.
|
static |
Definition at line 2562 of file range_analysis.cc.
|
inlinestatic |
Definition at line 338 of file range_analysis.h.
|
inlinestatic |
Definition at line 350 of file range_analysis.h.
|
inlinestatic |
Definition at line 330 of file range_analysis.h.
|
inlinestatic |
Definition at line 334 of file range_analysis.h.
|
inlinestatic |
Definition at line 342 of file range_analysis.h.
|
inlinestatic |
Definition at line 326 of file range_analysis.h.
|
inline |
Definition at line 311 of file range_analysis.h.
|
inlinestatic |
Definition at line 403 of file range_analysis.h.
|
inline |
Definition at line 396 of file range_analysis.h.
|
inlinestatic |
Definition at line 301 of file range_analysis.h.
|
static |
Definition at line 2120 of file range_analysis.cc.
Definition at line 391 of file range_analysis.h.
bool dart::Range::IsNegative | ( | ) | const |
Definition at line 2130 of file range_analysis.cc.
bool dart::Range::IsPositive | ( | ) | const |
Definition at line 2126 of file range_analysis.cc.
|
inline |
Definition at line 381 of file range_analysis.h.
|
inlinestatic |
Definition at line 294 of file range_analysis.h.
bool dart::Range::IsUnsatisfiable | ( | ) | const |
Definition at line 2166 of file range_analysis.cc.
bool dart::Range::IsWithin | ( | const Range * | other | ) | const |
Definition at line 2149 of file range_analysis.cc.
bool dart::Range::IsWithin | ( | int64_t | min_int, |
int64_t | max_int | ||
) | const |
Definition at line 2145 of file range_analysis.cc.
|
inline |
Definition at line 320 of file range_analysis.h.
|
inline |
Definition at line 319 of file range_analysis.h.
|
static |
Definition at line 2519 of file range_analysis.cc.
|
static |
Definition at line 2455 of file range_analysis.cc.
bool dart::Range::OnlyGreaterThanOrEqualTo | ( | int64_t | val | ) | const |
Definition at line 2139 of file range_analysis.cc.
bool dart::Range::OnlyLessThanOrEqualTo | ( | int64_t | val | ) | const |
Definition at line 2134 of file range_analysis.cc.
Definition at line 2545 of file range_analysis.cc.
Definition at line 2540 of file range_analysis.cc.
Definition at line 288 of file range_analysis.h.
bool dart::Range::Overlaps | ( | int64_t | min_int, |
int64_t | max_int | ||
) | const |
Definition at line 2155 of file range_analysis.cc.
void dart::Range::PrintTo | ( | BaseTextBuffer * | f | ) | const |
|
inline |
Definition at line 324 of file range_analysis.h.
|
inline |
Definition at line 322 of file range_analysis.h.
|
static |
Definition at line 2186 of file range_analysis.cc.
|
static |
Definition at line 2229 of file range_analysis.cc.
|
inline |
Definition at line 386 of file range_analysis.h.
|
static |
Definition at line 2410 of file range_analysis.cc.
|
static |
|
static |
Definition at line 2494 of file range_analysis.cc.
|
static |
Definition at line 2284 of file range_analysis.cc.
void dart::Range::Write | ( | FlowGraphSerializer * | s | ) | const |
Definition at line 2206 of file il_serializer.cc.