OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/base/bits.h" | 7 #include "src/base/bits.h" |
8 #include "src/double.h" | 8 #include "src/double.h" |
9 #include "src/factory.h" | 9 #include "src/factory.h" |
10 #include "src/hydrogen-infer-representation.h" | 10 #include "src/hydrogen-infer-representation.h" |
(...skipping 3510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3521 | 3521 |
3522 bool HLoadKeyed::RequiresHoleCheck() const { | 3522 bool HLoadKeyed::RequiresHoleCheck() const { |
3523 if (IsFastPackedElementsKind(elements_kind())) { | 3523 if (IsFastPackedElementsKind(elements_kind())) { |
3524 return false; | 3524 return false; |
3525 } | 3525 } |
3526 | 3526 |
3527 if (IsExternalArrayElementsKind(elements_kind())) { | 3527 if (IsExternalArrayElementsKind(elements_kind())) { |
3528 return false; | 3528 return false; |
3529 } | 3529 } |
3530 | 3530 |
| 3531 if (hole_mode() == CONVERT_HOLE_TO_UNDEFINED) { |
| 3532 return false; |
| 3533 } |
| 3534 |
3531 return !UsesMustHandleHole(); | 3535 return !UsesMustHandleHole(); |
3532 } | 3536 } |
3533 | 3537 |
3534 | 3538 |
3535 std::ostream& HLoadKeyedGeneric::PrintDataTo( | 3539 std::ostream& HLoadKeyedGeneric::PrintDataTo( |
3536 std::ostream& os) const { // NOLINT | 3540 std::ostream& os) const { // NOLINT |
3537 return os << NameOf(object()) << "[" << NameOf(key()) << "]"; | 3541 return os << NameOf(object()) << "[" << NameOf(key()) << "]"; |
3538 } | 3542 } |
3539 | 3543 |
3540 | 3544 |
(...skipping 1165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4706 break; | 4710 break; |
4707 case HObjectAccess::kExternalMemory: | 4711 case HObjectAccess::kExternalMemory: |
4708 os << "[external-memory]"; | 4712 os << "[external-memory]"; |
4709 break; | 4713 break; |
4710 } | 4714 } |
4711 | 4715 |
4712 return os << "@" << access.offset(); | 4716 return os << "@" << access.offset(); |
4713 } | 4717 } |
4714 | 4718 |
4715 } } // namespace v8::internal | 4719 } } // namespace v8::internal |
OLD | NEW |