OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 1728 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1739 HType HDeleteProperty::CalculateInferredType() { | 1739 HType HDeleteProperty::CalculateInferredType() { |
1740 return HType::Boolean(); | 1740 return HType::Boolean(); |
1741 } | 1741 } |
1742 | 1742 |
1743 | 1743 |
1744 HType HInstanceOfKnownGlobal::CalculateInferredType() { | 1744 HType HInstanceOfKnownGlobal::CalculateInferredType() { |
1745 return HType::Boolean(); | 1745 return HType::Boolean(); |
1746 } | 1746 } |
1747 | 1747 |
1748 | 1748 |
| 1749 HType HChange::CalculateInferredType() { |
| 1750 if (from().IsDouble() && to().IsTagged()) return HType::HeapNumber(); |
| 1751 return type(); |
| 1752 } |
| 1753 |
| 1754 |
1749 HType HBitwiseBinaryOperation::CalculateInferredType() { | 1755 HType HBitwiseBinaryOperation::CalculateInferredType() { |
1750 return HType::TaggedNumber(); | 1756 return HType::TaggedNumber(); |
1751 } | 1757 } |
1752 | 1758 |
1753 | 1759 |
1754 HType HArithmeticBinaryOperation::CalculateInferredType() { | 1760 HType HArithmeticBinaryOperation::CalculateInferredType() { |
1755 return HType::TaggedNumber(); | 1761 return HType::TaggedNumber(); |
1756 } | 1762 } |
1757 | 1763 |
1758 | 1764 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1794 HType HShr::CalculateInferredType() { | 1800 HType HShr::CalculateInferredType() { |
1795 return HType::TaggedNumber(); | 1801 return HType::TaggedNumber(); |
1796 } | 1802 } |
1797 | 1803 |
1798 | 1804 |
1799 HType HSar::CalculateInferredType() { | 1805 HType HSar::CalculateInferredType() { |
1800 return HType::TaggedNumber(); | 1806 return HType::TaggedNumber(); |
1801 } | 1807 } |
1802 | 1808 |
1803 | 1809 |
| 1810 HType HStringCharFromCode::CalculateInferredType() { |
| 1811 return HType::String(); |
| 1812 } |
| 1813 |
| 1814 |
| 1815 HType HArrayLiteral::CalculateInferredType() { |
| 1816 return HType::JSArray(); |
| 1817 } |
| 1818 |
| 1819 |
| 1820 HType HObjectLiteral::CalculateInferredType() { |
| 1821 return HType::JSObject(); |
| 1822 } |
| 1823 |
| 1824 |
| 1825 HType HRegExpLiteral::CalculateInferredType() { |
| 1826 return HType::JSObject(); |
| 1827 } |
| 1828 |
| 1829 |
| 1830 HType HFunctionLiteral::CalculateInferredType() { |
| 1831 return HType::JSObject(); |
| 1832 } |
| 1833 |
| 1834 |
1804 HValue* HUnaryMathOperation::EnsureAndPropagateNotMinusZero( | 1835 HValue* HUnaryMathOperation::EnsureAndPropagateNotMinusZero( |
1805 BitVector* visited) { | 1836 BitVector* visited) { |
1806 visited->Add(id()); | 1837 visited->Add(id()); |
1807 if (representation().IsInteger32() && | 1838 if (representation().IsInteger32() && |
1808 !value()->representation().IsInteger32()) { | 1839 !value()->representation().IsInteger32()) { |
1809 if (value()->range() == NULL || value()->range()->CanBeMinusZero()) { | 1840 if (value()->range() == NULL || value()->range()->CanBeMinusZero()) { |
1810 SetFlag(kBailoutOnMinusZero); | 1841 SetFlag(kBailoutOnMinusZero); |
1811 } | 1842 } |
1812 } | 1843 } |
1813 if (RequiredInputRepresentation(0).IsInteger32() && | 1844 if (RequiredInputRepresentation(0).IsInteger32() && |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1935 | 1966 |
1936 | 1967 |
1937 void HCheckPrototypeMaps::Verify() { | 1968 void HCheckPrototypeMaps::Verify() { |
1938 HInstruction::Verify(); | 1969 HInstruction::Verify(); |
1939 ASSERT(HasNoUses()); | 1970 ASSERT(HasNoUses()); |
1940 } | 1971 } |
1941 | 1972 |
1942 #endif | 1973 #endif |
1943 | 1974 |
1944 } } // namespace v8::internal | 1975 } } // namespace v8::internal |
OLD | NEW |