| 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 2702 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2713 if (IsFastDoubleElementsKind(elements_kind())) { | 2713 if (IsFastDoubleElementsKind(elements_kind())) { |
| 2714 return AllUsesCanTreatHoleAsNaN(); | 2714 return AllUsesCanTreatHoleAsNaN(); |
| 2715 } | 2715 } |
| 2716 return true; | 2716 return true; |
| 2717 } | 2717 } |
| 2718 | 2718 |
| 2719 if (IsFastDoubleElementsKind(elements_kind())) { | 2719 if (IsFastDoubleElementsKind(elements_kind())) { |
| 2720 return false; | 2720 return false; |
| 2721 } | 2721 } |
| 2722 | 2722 |
| 2723 // Holes are only returned as tagged values. |
| 2724 if (!representation().IsTagged()) { |
| 2725 return false; |
| 2726 } |
| 2727 |
| 2723 for (HUseIterator it(uses()); !it.Done(); it.Advance()) { | 2728 for (HUseIterator it(uses()); !it.Done(); it.Advance()) { |
| 2724 HValue* use = it.value(); | 2729 HValue* use = it.value(); |
| 2725 if (!use->IsChange() || !HChange::cast(use)->to().IsDouble()) { | 2730 if (!use->IsChange()) return false; |
| 2726 return false; | |
| 2727 } | |
| 2728 } | 2731 } |
| 2729 | 2732 |
| 2730 return true; | 2733 return true; |
| 2731 } | 2734 } |
| 2732 | 2735 |
| 2733 | 2736 |
| 2734 bool HLoadKeyed::AllUsesCanTreatHoleAsNaN() const { | 2737 bool HLoadKeyed::AllUsesCanTreatHoleAsNaN() const { |
| 2735 if (!IsFastDoubleElementsKind(elements_kind())) { | 2738 if (!IsFastDoubleElementsKind(elements_kind())) { |
| 2736 return false; | 2739 return false; |
| 2737 } | 2740 } |
| (...skipping 1052 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3790 case kBackingStore: | 3793 case kBackingStore: |
| 3791 if (!name_.is_null()) stream->Add(*String::cast(*name_)->ToCString()); | 3794 if (!name_.is_null()) stream->Add(*String::cast(*name_)->ToCString()); |
| 3792 stream->Add("[backing-store]"); | 3795 stream->Add("[backing-store]"); |
| 3793 break; | 3796 break; |
| 3794 } | 3797 } |
| 3795 | 3798 |
| 3796 stream->Add("@%d", offset()); | 3799 stream->Add("@%d", offset()); |
| 3797 } | 3800 } |
| 3798 | 3801 |
| 3799 } } // namespace v8::internal | 3802 } } // namespace v8::internal |
| OLD | NEW |