Lines Matching refs:range
119 int32_t Range::Mask() const {
132 void Range::AddConstant(int32_t value) {
143 void Range::Intersect(Range* other) {
151 void Range::Union(Range* other) {
159 void Range::Sar(int32_t value) {
167 void Range::Shl(int32_t value) {
181 bool Range::AddAndCheckOverflow(Range* other) {
193 bool Range::SubAndCheckOverflow(Range* other) {
205 void Range::KeepOrder() {
215 void Range::Verify() const {
221 bool Range::MulAndCheckOverflow(Range* other) {
443 if (range() == NULL || range()->IsMostGeneric()) return;
444 stream->Add(" range[%d,%d,m0=%d]",
445 range()->lower(),
446 range()->upper(),
447 static_cast<int>(range()->CanBeMinusZero()));
506 void HValue::AddNewRange(Range* r, Zone* zone) {
508 if (!HasRange()) range_ = new(zone) Range();
1020 Range* HValue::InferRange(Zone* zone) {
1022 Range* result = new(zone) Range();
1028 Range* HChange::InferRange(Zone* zone) {
1029 Range* input_range = value()->range();
1035 Range* result = (input_range != NULL)
1043 Range* HConstant::InferRange(Zone* zone) {
1045 Range* result = new(zone) Range(int32_value_, int32_value_);
1053 Range* HPhi::InferRange(Zone* zone) {
1056 Range* range = new(zone) Range(kMinInt, kMaxInt);
1057 return range;
1059 Range* range = OperandAt(0)->range()->Copy(zone);
1061 range->Union(OperandAt(i)->range());
1063 return range;
1071 Range* HAdd::InferRange(Zone* zone) {
1073 Range* a = left()->range();
1074 Range* b = right()->range();
1075 Range* res = a->Copy(zone);
1088 Range* HSub::InferRange(Zone* zone) {
1090 Range* a = left()->range();
1091 Range* b = right()->range();
1092 Range* res = a->Copy(zone);
1104 Range* HMul::InferRange(Zone* zone) {
1106 Range* a = left()->range();
1107 Range* b = right()->range();
1108 Range* res = a->Copy(zone);
1122 Range* HDiv::InferRange(Zone* zone) {
1124 Range* result = new(zone) Range();
1125 if (left()->range()->CanBeMinusZero()) {
1129 if (left()->range()->CanBeZero() && right()->range()->CanBeNegative()) {
1133 if (right()->range()->Includes(-1) && left()->range()->Includes(kMinInt)) {
1137 if (!right()->range()->CanBeZero()) {
1147 Range* HMod::InferRange(Zone* zone) {
1149 Range* a = left()->range();
1150 Range* result = new(zone) Range();
1154 if (!right()->range()->CanBeZero()) {
1358 Range* HBitwise::InferRange(Zone* zone) {
1361 int32_t left_mask = (left()->range() != NULL)
1362 ? left()->range()->Mask()
1364 int32_t right_mask = (right()->range() != NULL)
1365 ? right()->range()->Mask()
1371 ? new(zone) Range(0, result_mask)
1376 Range* HSar::InferRange(Zone* zone) {
1380 Range* result = (left()->range() != NULL)
1381 ? left()->range()->Copy(zone)
1382 : new(zone) Range();
1392 Range* HShr::InferRange(Zone* zone) {
1397 if (left()->range()->CanBeNegative()) {
1400 ? new(zone) Range(0,
1402 : new(zone) Range();
1405 Range* result = (left()->range() != NULL)
1406 ? left()->range()->Copy(zone)
1407 : new(zone) Range();
1418 Range* HShl::InferRange(Zone* zone) {
1422 Range* result = (left()->range() != NULL)
1423 ? left()->range()->Copy(zone)
1424 : new(zone) Range();
1434 Range* HLoadKeyedSpecializedArrayElement::InferRange(Zone* zone) {
1437 return new(zone) Range(0, 255);
1439 return new(zone) Range(-128, 127);
1441 return new(zone) Range(0, 255);
1443 return new(zone) Range(-32768, 32767);
1445 return new(zone) Range(0, 65535);
2010 if (value()->range() == NULL || value()->range()->CanBeMinusZero()) {
2027 if (value()->range() == NULL || value()->range()->CanBeMinusZero()) {
2044 if (range() == NULL || range()->CanBeMinusZero()) {
2054 if (range() == NULL || range()->CanBeMinusZero()) {
2063 if (range() == NULL || range()->CanBeMinusZero()) {
2074 if (range() == NULL || range()->CanBeMinusZero()) {
2085 if (range() == NULL || range()->CanBeMinusZero()) {