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 3036 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3047 // these can load arbitrary representation of NaN. | 3047 // these can load arbitrary representation of NaN. |
3048 | 3048 |
3049 if (value()->IsConstant()) { | 3049 if (value()->IsConstant()) { |
3050 return false; | 3050 return false; |
3051 } | 3051 } |
3052 | 3052 |
3053 if (value()->IsLoadKeyed()) { | 3053 if (value()->IsLoadKeyed()) { |
3054 return IsExternalFloatOrDoubleElementsKind( | 3054 return IsExternalFloatOrDoubleElementsKind( |
3055 HLoadKeyed::cast(value())->elements_kind()); | 3055 HLoadKeyed::cast(value())->elements_kind()); |
3056 } | 3056 } |
3057 #ifdef V8_TARGET_ARCH_ARM | |
ulan
2013/04/15 07:43:01
We try to avoid adding arch dependent ifdefs in hy
| |
3058 if (value()->IsAdd() || value()->IsSub() || | |
3059 value()->IsMul() || value()->IsDiv()) { | |
3060 return false; | |
3061 } | |
3062 #endif | |
3057 | 3063 |
3058 if (value()->IsChange()) { | 3064 if (value()->IsChange()) { |
3059 if (HChange::cast(value())->from().IsInteger32()) { | 3065 if (HChange::cast(value())->from().IsInteger32()) { |
3060 return false; | 3066 return false; |
3061 } | 3067 } |
3062 if (HChange::cast(value())->value()->type().IsSmi()) { | 3068 if (HChange::cast(value())->value()->type().IsSmi()) { |
3063 return false; | 3069 return false; |
3064 } | 3070 } |
3065 } | 3071 } |
3066 return true; | 3072 return true; |
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3533 | 3539 |
3534 | 3540 |
3535 void HCheckFunction::Verify() { | 3541 void HCheckFunction::Verify() { |
3536 HInstruction::Verify(); | 3542 HInstruction::Verify(); |
3537 ASSERT(HasNoUses()); | 3543 ASSERT(HasNoUses()); |
3538 } | 3544 } |
3539 | 3545 |
3540 #endif | 3546 #endif |
3541 | 3547 |
3542 } } // namespace v8::internal | 3548 } } // namespace v8::internal |
OLD | NEW |