OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 1330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1341 left()->PrintNameTo(stream); | 1341 left()->PrintNameTo(stream); |
1342 stream->Add(" "); | 1342 stream->Add(" "); |
1343 right()->PrintNameTo(stream); | 1343 right()->PrintNameTo(stream); |
1344 if (CheckFlag(kCanOverflow)) stream->Add(" !"); | 1344 if (CheckFlag(kCanOverflow)) stream->Add(" !"); |
1345 if (CheckFlag(kBailoutOnMinusZero)) stream->Add(" -0?"); | 1345 if (CheckFlag(kBailoutOnMinusZero)) stream->Add(" -0?"); |
1346 } | 1346 } |
1347 | 1347 |
1348 | 1348 |
1349 Range* HBitwise::InferRange(Zone* zone) { | 1349 Range* HBitwise::InferRange(Zone* zone) { |
1350 if (op() == Token::BIT_XOR) return HValue::InferRange(zone); | 1350 if (op() == Token::BIT_XOR) return HValue::InferRange(zone); |
| 1351 const int32_t kDefaultMask = static_cast<int32_t>(0xffffffff); |
1351 int32_t left_mask = (left()->range() != NULL) | 1352 int32_t left_mask = (left()->range() != NULL) |
1352 ? left()->range()->Mask() | 1353 ? left()->range()->Mask() |
1353 : 0xffffffff; | 1354 : kDefaultMask; |
1354 int32_t right_mask = (right()->range() != NULL) | 1355 int32_t right_mask = (right()->range() != NULL) |
1355 ? right()->range()->Mask() | 1356 ? right()->range()->Mask() |
1356 : 0xffffffff; | 1357 : kDefaultMask; |
1357 int32_t result_mask = (op() == Token::BIT_AND) | 1358 int32_t result_mask = (op() == Token::BIT_AND) |
1358 ? left_mask & right_mask | 1359 ? left_mask & right_mask |
1359 : left_mask | right_mask; | 1360 : left_mask | right_mask; |
1360 return (result_mask >= 0) | 1361 return (result_mask >= 0) |
1361 ? new(zone) Range(0, result_mask) | 1362 ? new(zone) Range(0, result_mask) |
1362 : HValue::InferRange(zone); | 1363 : HValue::InferRange(zone); |
1363 } | 1364 } |
1364 | 1365 |
1365 | 1366 |
1366 Range* HSar::InferRange(Zone* zone) { | 1367 Range* HSar::InferRange(Zone* zone) { |
(...skipping 920 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2287 | 2288 |
2288 | 2289 |
2289 void HCheckPrototypeMaps::Verify() { | 2290 void HCheckPrototypeMaps::Verify() { |
2290 HInstruction::Verify(); | 2291 HInstruction::Verify(); |
2291 ASSERT(HasNoUses()); | 2292 ASSERT(HasNoUses()); |
2292 } | 2293 } |
2293 | 2294 |
2294 #endif | 2295 #endif |
2295 | 2296 |
2296 } } // namespace v8::internal | 2297 } } // namespace v8::internal |
OLD | NEW |