| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "platform/assert.h" | 5 #include "platform/assert.h" |
| 6 #include "vm/assembler.h" | 6 #include "vm/assembler.h" |
| 7 #include "vm/bigint_operations.h" | 7 #include "vm/bigint_operations.h" |
| 8 #include "vm/isolate.h" | 8 #include "vm/isolate.h" |
| 9 #include "vm/object.h" | 9 #include "vm/object.h" |
| 10 #include "vm/object_store.h" | 10 #include "vm/object_store.h" |
| (...skipping 1717 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1728 | 1728 |
| 1729 other_array = Array::New(kArrayLen - 1); | 1729 other_array = Array::New(kArrayLen - 1); |
| 1730 other_array.SetAt(0, array); | 1730 other_array.SetAt(0, array); |
| 1731 other_array.SetAt(2, array); | 1731 other_array.SetAt(2, array); |
| 1732 EXPECT(!array.Equals(other_array)); | 1732 EXPECT(!array.Equals(other_array)); |
| 1733 | 1733 |
| 1734 EXPECT_EQ(0, Array::Handle(Array::Empty()).Length()); | 1734 EXPECT_EQ(0, Array::Handle(Array::Empty()).Length()); |
| 1735 } | 1735 } |
| 1736 | 1736 |
| 1737 | 1737 |
| 1738 TEST_CASE(ByteBuffer) { | 1738 TEST_CASE(ExternalByteArray) { |
| 1739 uint8_t data[] = { 253, 254, 255, 0, 1, 2, 3, 4 }; | 1739 uint8_t data[] = { 253, 254, 255, 0, 1, 2, 3, 4 }; |
| 1740 intptr_t data_length = ARRAY_SIZE(data); | 1740 intptr_t data_length = ARRAY_SIZE(data); |
| 1741 | 1741 |
| 1742 const ByteBuffer& array1 = | 1742 const ExternalByteArray& array1 = |
| 1743 ByteBuffer::Handle(ByteBuffer::New(data, data_length)); | 1743 ExternalByteArray::Handle(ExternalByteArray::New(data, data_length)); |
| 1744 EXPECT(!array1.IsNull()); | 1744 EXPECT(!array1.IsNull()); |
| 1745 EXPECT_EQ(data_length, array1.Length()); | 1745 EXPECT_EQ(data_length, array1.Length()); |
| 1746 EXPECT_EQ(-3, array1.At<int8_t>(0)); | 1746 EXPECT_EQ(-3, array1.At<int8_t>(0)); |
| 1747 EXPECT_EQ(253, array1.At<uint8_t>(0)); | 1747 EXPECT_EQ(253, array1.At<uint8_t>(0)); |
| 1748 EXPECT_EQ(-2, array1.At<int8_t>(1)); | 1748 EXPECT_EQ(-2, array1.At<int8_t>(1)); |
| 1749 EXPECT_EQ(254, array1.At<uint8_t>(1)); | 1749 EXPECT_EQ(254, array1.At<uint8_t>(1)); |
| 1750 EXPECT_EQ(-1, array1.At<int8_t>(2)); | 1750 EXPECT_EQ(-1, array1.At<int8_t>(2)); |
| 1751 EXPECT_EQ(255, array1.At<uint8_t>(2)); | 1751 EXPECT_EQ(255, array1.At<uint8_t>(2)); |
| 1752 EXPECT_EQ(0, array1.At<int8_t>(3)); | 1752 EXPECT_EQ(0, array1.At<int8_t>(3)); |
| 1753 EXPECT_EQ(0, array1.At<uint8_t>(3)); | 1753 EXPECT_EQ(0, array1.At<uint8_t>(3)); |
| 1754 EXPECT_EQ(1, array1.At<int8_t>(4)); | 1754 EXPECT_EQ(1, array1.At<int8_t>(4)); |
| 1755 EXPECT_EQ(1, array1.At<uint8_t>(4)); | 1755 EXPECT_EQ(1, array1.At<uint8_t>(4)); |
| 1756 EXPECT_EQ(2, array1.At<int8_t>(5)); | 1756 EXPECT_EQ(2, array1.At<int8_t>(5)); |
| 1757 EXPECT_EQ(2, array1.At<uint8_t>(5)); | 1757 EXPECT_EQ(2, array1.At<uint8_t>(5)); |
| 1758 | 1758 |
| 1759 const ByteBuffer& array2 = | 1759 const ExternalByteArray& array2 = |
| 1760 ByteBuffer::Handle(ByteBuffer::New(data, data_length)); | 1760 ExternalByteArray::Handle(ExternalByteArray::New(data, data_length)); |
| 1761 EXPECT(!array1.IsNull()); | 1761 EXPECT(!array1.IsNull()); |
| 1762 EXPECT_EQ(data_length, array2.Length()); | 1762 EXPECT_EQ(data_length, array2.Length()); |
| 1763 EXPECT(array1.Equals(array2)); | 1763 for (intptr_t i = 0 ; i < array1.Length(); ++i) { |
| 1764 EXPECT(array2.Equals(array1)); | 1764 EXPECT_EQ(array1.At<uint8_t>(i), array2.At<uint8_t>(i)); |
| 1765 } |
| 1765 | 1766 |
| 1766 array1.SetAt<uint8_t>(0, 123); | 1767 array1.SetAt<uint8_t>(0, 123); |
| 1767 array2.SetAt<int8_t>(2, -123); | 1768 array2.SetAt<int8_t>(2, -123); |
| 1768 EXPECT(array1.Equals(array2)); | 1769 for (intptr_t i = 0 ; i < array1.Length(); ++i) { |
| 1769 EXPECT(array2.Equals(array1)); | 1770 EXPECT_EQ(array1.At<uint8_t>(i), array2.At<uint8_t>(i)); |
| 1771 } |
| 1770 } | 1772 } |
| 1771 | 1773 |
| 1772 | 1774 |
| 1773 TEST_CASE(ByteBufferAlignedAccess) { | 1775 TEST_CASE(ExternalByteArrayAlignedAccess) { |
| 1774 intptr_t length = 16; | 1776 intptr_t length = 16; |
| 1775 uint8_t* data = new uint8_t[length]; | 1777 uint8_t* data = new uint8_t[length]; |
| 1776 | 1778 |
| 1777 const ByteBuffer& array1 = | 1779 const ExternalByteArray& array1 = |
| 1778 ByteBuffer::Handle(ByteBuffer::New(data, length)); | 1780 ExternalByteArray::Handle(ExternalByteArray::New(data, length)); |
| 1779 EXPECT(!array1.IsNull()); | 1781 EXPECT(!array1.IsNull()); |
| 1780 EXPECT_EQ(length, array1.Length()); | 1782 EXPECT_EQ(length, array1.Length()); |
| 1781 | 1783 |
| 1782 const ByteBuffer& array2 = | 1784 const ExternalByteArray& array2 = |
| 1783 ByteBuffer::Handle(ByteBuffer::New(data, length)); | 1785 ExternalByteArray::Handle(ExternalByteArray::New(data, length)); |
| 1784 EXPECT(!array2.IsNull()); | 1786 EXPECT(!array2.IsNull()); |
| 1785 EXPECT_EQ(length, array2.Length()); | 1787 EXPECT_EQ(length, array2.Length()); |
| 1786 | 1788 |
| 1787 memset(data, 0xAA, ARRAY_SIZE(data)); | 1789 memset(data, 0xAA, ARRAY_SIZE(data)); |
| 1788 array1.SetAt<float>(0, FLT_MIN); | 1790 array1.SetAt<float>(0, FLT_MIN); |
| 1789 array1.SetAt<float>(4, FLT_MAX); | 1791 array1.SetAt<float>(4, FLT_MAX); |
| 1790 EXPECT_EQ(FLT_MIN, array2.At<float>(0)); | 1792 EXPECT_EQ(FLT_MIN, array2.At<float>(0)); |
| 1791 EXPECT_EQ(FLT_MAX, array2.At<float>(4)); | 1793 EXPECT_EQ(FLT_MAX, array2.At<float>(4)); |
| 1792 | 1794 |
| 1793 memset(data, 0xAA, ARRAY_SIZE(data)); | 1795 memset(data, 0xAA, ARRAY_SIZE(data)); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1805 memset(data, 0xAA, ARRAY_SIZE(data)); | 1807 memset(data, 0xAA, ARRAY_SIZE(data)); |
| 1806 array1.SetAt<double>(0, 0.0); | 1808 array1.SetAt<double>(0, 0.0); |
| 1807 EXPECT_EQ(0.0, array2.At<double>(0)); | 1809 EXPECT_EQ(0.0, array2.At<double>(0)); |
| 1808 array1.SetAt<double>(8, 1.0); | 1810 array1.SetAt<double>(8, 1.0); |
| 1809 EXPECT_EQ(1.0, array2.At<double>(8)); | 1811 EXPECT_EQ(1.0, array2.At<double>(8)); |
| 1810 | 1812 |
| 1811 delete[] data; | 1813 delete[] data; |
| 1812 } | 1814 } |
| 1813 | 1815 |
| 1814 | 1816 |
| 1815 TEST_CASE(ByteBufferUnlignedAccess) { | 1817 TEST_CASE(ExternalByteArrayUnlignedAccess) { |
| 1816 intptr_t length = 24; | 1818 intptr_t length = 24; |
| 1817 uint8_t* data = new uint8_t[length]; | 1819 uint8_t* data = new uint8_t[length]; |
| 1818 | 1820 |
| 1819 const ByteBuffer& array1 = | 1821 const ExternalByteArray& array1 = |
| 1820 ByteBuffer::Handle(ByteBuffer::New(data, length)); | 1822 ExternalByteArray::Handle(ExternalByteArray::New(data, length)); |
| 1821 EXPECT(!array1.IsNull()); | 1823 EXPECT(!array1.IsNull()); |
| 1822 EXPECT_EQ(length, array1.Length()); | 1824 EXPECT_EQ(length, array1.Length()); |
| 1823 | 1825 |
| 1824 const ByteBuffer& array2 = | 1826 const ExternalByteArray& array2 = |
| 1825 ByteBuffer::Handle(ByteBuffer::New(data, length)); | 1827 ExternalByteArray::Handle(ExternalByteArray::New(data, length)); |
| 1826 EXPECT(!array2.IsNull()); | 1828 EXPECT(!array2.IsNull()); |
| 1827 EXPECT_EQ(length, array2.Length()); | 1829 EXPECT_EQ(length, array2.Length()); |
| 1828 | 1830 |
| 1829 int float_misalign = 3; | 1831 int float_misalign = 3; |
| 1830 memset(data, 0xAA, ARRAY_SIZE(data)); | 1832 memset(data, 0xAA, ARRAY_SIZE(data)); |
| 1831 array1.SetUnalignedAt<float>(float_misalign, FLT_MIN); | 1833 array1.SetUnalignedAt<float>(float_misalign, FLT_MIN); |
| 1832 array1.SetUnalignedAt<float>(4 + float_misalign, FLT_MAX); | 1834 array1.SetUnalignedAt<float>(4 + float_misalign, FLT_MAX); |
| 1833 EXPECT_EQ(FLT_MIN, array2.UnalignedAt<float>(float_misalign)); | 1835 EXPECT_EQ(FLT_MIN, array2.UnalignedAt<float>(float_misalign)); |
| 1834 EXPECT_EQ(FLT_MAX, array2.UnalignedAt<float>(4 + float_misalign)); | 1836 EXPECT_EQ(FLT_MAX, array2.UnalignedAt<float>(4 + float_misalign)); |
| 1835 | 1837 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1850 memset(data, 0xAA, ARRAY_SIZE(data)); | 1852 memset(data, 0xAA, ARRAY_SIZE(data)); |
| 1851 array1.SetUnalignedAt<double>(double_misalign, 0.0); | 1853 array1.SetUnalignedAt<double>(double_misalign, 0.0); |
| 1852 EXPECT_EQ(0.0, array2.UnalignedAt<double>(double_misalign)); | 1854 EXPECT_EQ(0.0, array2.UnalignedAt<double>(double_misalign)); |
| 1853 array1.SetUnalignedAt<double>(8 + double_misalign, 1.0); | 1855 array1.SetUnalignedAt<double>(8 + double_misalign, 1.0); |
| 1854 EXPECT_EQ(1.0, array2.UnalignedAt<double>(8 + double_misalign)); | 1856 EXPECT_EQ(1.0, array2.UnalignedAt<double>(8 + double_misalign)); |
| 1855 | 1857 |
| 1856 delete[] data; | 1858 delete[] data; |
| 1857 } | 1859 } |
| 1858 | 1860 |
| 1859 | 1861 |
| 1860 TEST_CASE(ByteBufferSkewedUnalignedBaseAccess) { | 1862 TEST_CASE(ExternalByteArraySkewedUnalignedBaseAccess) { |
| 1861 intptr_t length = 24; | 1863 intptr_t length = 24; |
| 1862 uint8_t* data = new uint8_t[length]; | 1864 uint8_t* data = new uint8_t[length]; |
| 1863 | 1865 |
| 1864 int skew = 2; | 1866 int skew = 2; |
| 1865 | 1867 |
| 1866 const ByteBuffer& array1 = | 1868 const ExternalByteArray& array1 = |
| 1867 ByteBuffer::Handle(ByteBuffer::New(data + 3, length)); | 1869 ExternalByteArray::Handle(ExternalByteArray::New(data + 3, length)); |
| 1868 EXPECT(!array1.IsNull()); | 1870 EXPECT(!array1.IsNull()); |
| 1869 EXPECT_EQ(length, array1.Length()); | 1871 EXPECT_EQ(length, array1.Length()); |
| 1870 | 1872 |
| 1871 const ByteBuffer& array2 = | 1873 const ExternalByteArray& array2 = |
| 1872 ByteBuffer::Handle(ByteBuffer::New(data + 1, length)); | 1874 ExternalByteArray::Handle(ExternalByteArray::New(data + 1, length)); |
| 1873 EXPECT(!array2.IsNull()); | 1875 EXPECT(!array2.IsNull()); |
| 1874 EXPECT_EQ(length, array2.Length()); | 1876 EXPECT_EQ(length, array2.Length()); |
| 1875 | 1877 |
| 1876 memset(data, 0xAA, ARRAY_SIZE(data)); | 1878 memset(data, 0xAA, ARRAY_SIZE(data)); |
| 1877 array1.SetUnalignedAt<float>(0, FLT_MIN); | 1879 array1.SetUnalignedAt<float>(0, FLT_MIN); |
| 1878 array1.SetUnalignedAt<float>(4, FLT_MAX); | 1880 array1.SetUnalignedAt<float>(4, FLT_MAX); |
| 1879 EXPECT_EQ(FLT_MIN, array2.UnalignedAt<float>(0 + skew)); | 1881 EXPECT_EQ(FLT_MIN, array2.UnalignedAt<float>(0 + skew)); |
| 1880 EXPECT_EQ(FLT_MAX, array2.UnalignedAt<float>(4 + skew)); | 1882 EXPECT_EQ(FLT_MAX, array2.UnalignedAt<float>(4 + skew)); |
| 1881 | 1883 |
| 1882 memset(data, 0xAA, ARRAY_SIZE(data)); | 1884 memset(data, 0xAA, ARRAY_SIZE(data)); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1894 memset(data, 0xAA, ARRAY_SIZE(data)); | 1896 memset(data, 0xAA, ARRAY_SIZE(data)); |
| 1895 array1.SetUnalignedAt<double>(0, 0.0); | 1897 array1.SetUnalignedAt<double>(0, 0.0); |
| 1896 EXPECT_EQ(0.0, array2.UnalignedAt<double>(0 + skew)); | 1898 EXPECT_EQ(0.0, array2.UnalignedAt<double>(0 + skew)); |
| 1897 array2.SetUnalignedAt<double>(8 + skew, 1.0); | 1899 array2.SetUnalignedAt<double>(8 + skew, 1.0); |
| 1898 EXPECT_EQ(1.0, array1.UnalignedAt<double>(8)); | 1900 EXPECT_EQ(1.0, array1.UnalignedAt<double>(8)); |
| 1899 | 1901 |
| 1900 delete[] data; | 1902 delete[] data; |
| 1901 } | 1903 } |
| 1902 | 1904 |
| 1903 | 1905 |
| 1906 TEST_CASE(InternalByteArray) { |
| 1907 uint8_t data[] = { 253, 254, 255, 0, 1, 2, 3, 4 }; |
| 1908 intptr_t data_length = ARRAY_SIZE(data); |
| 1909 |
| 1910 const InternalByteArray& array1 = |
| 1911 InternalByteArray::Handle(InternalByteArray::New(data, data_length)); |
| 1912 EXPECT(!array1.IsNull()); |
| 1913 EXPECT_EQ(data_length, array1.Length()); |
| 1914 EXPECT_EQ(-3, array1.At<int8_t>(0)); |
| 1915 EXPECT_EQ(253, array1.At<uint8_t>(0)); |
| 1916 EXPECT_EQ(-2, array1.At<int8_t>(1)); |
| 1917 EXPECT_EQ(254, array1.At<uint8_t>(1)); |
| 1918 EXPECT_EQ(-1, array1.At<int8_t>(2)); |
| 1919 EXPECT_EQ(255, array1.At<uint8_t>(2)); |
| 1920 EXPECT_EQ(0, array1.At<int8_t>(3)); |
| 1921 EXPECT_EQ(0, array1.At<uint8_t>(3)); |
| 1922 EXPECT_EQ(1, array1.At<int8_t>(4)); |
| 1923 EXPECT_EQ(1, array1.At<uint8_t>(4)); |
| 1924 EXPECT_EQ(2, array1.At<int8_t>(5)); |
| 1925 EXPECT_EQ(2, array1.At<uint8_t>(5)); |
| 1926 |
| 1927 const InternalByteArray& array2 = |
| 1928 InternalByteArray::Handle(InternalByteArray::New(data, data_length)); |
| 1929 EXPECT(!array1.IsNull()); |
| 1930 EXPECT_EQ(data_length, array2.Length()); |
| 1931 for (intptr_t i = 0; i < array1.Length(); ++i) { |
| 1932 EXPECT_EQ(array1.At<uint8_t>(i), array2.At<uint8_t>(i)); |
| 1933 } |
| 1934 |
| 1935 array1.SetAt<uint8_t>(0, 123); |
| 1936 array2.SetAt<int8_t>(2, -123); |
| 1937 |
| 1938 EXPECT(array1.At<uint8_t>(0) != array2.At<uint8_t>(0)); |
| 1939 EXPECT(array1.At<uint8_t>(1) == array2.At<uint8_t>(1)); |
| 1940 EXPECT(array1.At<uint8_t>(2) != array2.At<uint8_t>(2)); |
| 1941 for (intptr_t i = 3; i < array1.Length(); ++i) { |
| 1942 EXPECT(array1.At<uint8_t>(i) == array2.At<uint8_t>(i)); |
| 1943 } |
| 1944 } |
| 1945 |
| 1946 |
| 1947 TEST_CASE(InternalByteArrayAlignedAccess) { |
| 1948 const intptr_t length = 16; |
| 1949 const InternalByteArray& byte_array = |
| 1950 InternalByteArray::Handle(InternalByteArray::New(length)); |
| 1951 EXPECT(!byte_array.IsNull()); |
| 1952 EXPECT_EQ(length, byte_array.Length()); |
| 1953 |
| 1954 byte_array.SetAt<float>(0, FLT_MIN); |
| 1955 byte_array.SetAt<float>(4, FLT_MAX); |
| 1956 EXPECT_EQ(FLT_MIN, byte_array.At<float>(0)); |
| 1957 EXPECT_EQ(FLT_MAX, byte_array.At<float>(4)); |
| 1958 |
| 1959 byte_array.SetAt<float>(0, 0.0f); |
| 1960 EXPECT_EQ(0.0f, byte_array.At<float>(0)); |
| 1961 byte_array.SetAt<float>(4, 1.0f); |
| 1962 EXPECT_EQ(1.0f, byte_array.At<float>(4)); |
| 1963 |
| 1964 byte_array.SetAt<double>(0, DBL_MIN); |
| 1965 EXPECT_EQ(DBL_MIN, byte_array.At<double>(0)); |
| 1966 byte_array.SetAt<double>(8, DBL_MAX); |
| 1967 EXPECT_EQ(DBL_MAX, byte_array.At<double>(8)); |
| 1968 |
| 1969 byte_array.SetAt<double>(0, 0.0); |
| 1970 EXPECT_EQ(0.0, byte_array.At<double>(0)); |
| 1971 byte_array.SetAt<double>(8, 1.0); |
| 1972 EXPECT_EQ(1.0, byte_array.At<double>(8)); |
| 1973 } |
| 1974 |
| 1975 |
| 1976 TEST_CASE(InternalByteArrayUnlignedAccess) { |
| 1977 const intptr_t length = 24; |
| 1978 const InternalByteArray& byte_array = |
| 1979 InternalByteArray::Handle(InternalByteArray::New(length)); |
| 1980 EXPECT(!byte_array.IsNull()); |
| 1981 EXPECT_EQ(length, byte_array.Length()); |
| 1982 |
| 1983 int float_misalign = 3; |
| 1984 byte_array.SetUnalignedAt<float>(float_misalign, FLT_MIN); |
| 1985 byte_array.SetUnalignedAt<float>(4 + float_misalign, FLT_MAX); |
| 1986 EXPECT_EQ(FLT_MIN, byte_array.UnalignedAt<float>(float_misalign)); |
| 1987 EXPECT_EQ(FLT_MAX, byte_array.UnalignedAt<float>(4 + float_misalign)); |
| 1988 |
| 1989 byte_array.SetUnalignedAt<float>(float_misalign, 0.0f); |
| 1990 EXPECT_EQ(0.0f, byte_array.UnalignedAt<float>(float_misalign)); |
| 1991 byte_array.SetUnalignedAt<float>(4 + float_misalign, 1.0f); |
| 1992 EXPECT_EQ(1.0f, byte_array.UnalignedAt<float>(4 + float_misalign)); |
| 1993 |
| 1994 int double_misalign = 5; |
| 1995 byte_array.SetUnalignedAt<double>(double_misalign, DBL_MIN); |
| 1996 EXPECT_EQ(DBL_MIN, byte_array.UnalignedAt<double>(double_misalign)); |
| 1997 byte_array.SetUnalignedAt<double>(8 + double_misalign, DBL_MAX); |
| 1998 EXPECT_EQ(DBL_MAX, |
| 1999 byte_array.UnalignedAt<double>(8 + double_misalign)); |
| 2000 |
| 2001 byte_array.SetUnalignedAt<double>(double_misalign, 0.0); |
| 2002 EXPECT_EQ(0.0, byte_array.UnalignedAt<double>(double_misalign)); |
| 2003 byte_array.SetUnalignedAt<double>(8 + double_misalign, 1.0); |
| 2004 EXPECT_EQ(1.0, byte_array.UnalignedAt<double>(8 + double_misalign)); |
| 2005 } |
| 2006 |
| 2007 |
| 1904 TEST_CASE(Script) { | 2008 TEST_CASE(Script) { |
| 1905 const char* url_chars = "builtin:test-case"; | 2009 const char* url_chars = "builtin:test-case"; |
| 1906 const char* source_chars = "This will not compile."; | 2010 const char* source_chars = "This will not compile."; |
| 1907 const String& url = String::Handle(String::New(url_chars)); | 2011 const String& url = String::Handle(String::New(url_chars)); |
| 1908 const String& source = String::Handle(String::New(source_chars)); | 2012 const String& source = String::Handle(String::New(source_chars)); |
| 1909 const Script& script = Script::Handle(Script::New(url, | 2013 const Script& script = Script::Handle(Script::New(url, |
| 1910 source, | 2014 source, |
| 1911 RawScript::kSource)); | 2015 RawScript::kSource)); |
| 1912 EXPECT(!script.IsNull()); | 2016 EXPECT(!script.IsNull()); |
| 1913 EXPECT(script.IsScript()); | 2017 EXPECT(script.IsScript()); |
| (...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2277 cls = iterator.GetNextClass(); | 2381 cls = iterator.GetNextClass(); |
| 2278 ASSERT((cls.raw() == ae66.raw()) || (cls.raw() == re44.raw())); | 2382 ASSERT((cls.raw() == ae66.raw()) || (cls.raw() == re44.raw())); |
| 2279 count++; | 2383 count++; |
| 2280 } | 2384 } |
| 2281 ASSERT(count == 2); | 2385 ASSERT(count == 2); |
| 2282 } | 2386 } |
| 2283 | 2387 |
| 2284 #endif // defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64). | 2388 #endif // defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64). |
| 2285 | 2389 |
| 2286 } // namespace dart | 2390 } // namespace dart |
| OLD | NEW |