Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(653)

Side by Side Diff: src/builtins/builtins-array.cc

Issue 2543873003: [stubs] Use CSA::IsHeapNumberMap() instead of manual map comparing. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/builtins/builtins-conversion.cc » ('j') | src/code-stub-assembler.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 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/builtins/builtins.h" 5 #include "src/builtins/builtins.h"
6 #include "src/builtins/builtins-utils.h" 6 #include "src/builtins/builtins-utils.h"
7 7
8 #include "src/code-factory.h" 8 #include "src/code-factory.h"
9 #include "src/contexts.h" 9 #include "src/contexts.h"
10 #include "src/elements.h" 10 #include "src/elements.h"
(...skipping 1405 matching lines...) Expand 10 before | Expand all | Expand 10 after
1416 Node* array = assembler.Parameter(0); 1416 Node* array = assembler.Parameter(0);
1417 Node* search_element = assembler.Parameter(1); 1417 Node* search_element = assembler.Parameter(1);
1418 Node* start_from = assembler.Parameter(2); 1418 Node* start_from = assembler.Parameter(2);
1419 Node* context = assembler.Parameter(3 + 2); 1419 Node* context = assembler.Parameter(3 + 2);
1420 1420
1421 Node* intptr_zero = assembler.IntPtrConstant(0); 1421 Node* intptr_zero = assembler.IntPtrConstant(0);
1422 Node* intptr_one = assembler.IntPtrConstant(1); 1422 Node* intptr_one = assembler.IntPtrConstant(1);
1423 1423
1424 Node* the_hole = assembler.TheHoleConstant(); 1424 Node* the_hole = assembler.TheHoleConstant();
1425 Node* undefined = assembler.UndefinedConstant(); 1425 Node* undefined = assembler.UndefinedConstant();
1426 Node* heap_number_map = assembler.HeapNumberMapConstant();
1427 1426
1428 Variable len_var(&assembler, MachineType::PointerRepresentation()), 1427 Variable len_var(&assembler, MachineType::PointerRepresentation()),
1429 index_var(&assembler, MachineType::PointerRepresentation()), 1428 index_var(&assembler, MachineType::PointerRepresentation()),
1430 start_from_var(&assembler, MachineType::PointerRepresentation()); 1429 start_from_var(&assembler, MachineType::PointerRepresentation());
1431 1430
1432 Label init_k(&assembler), return_true(&assembler), return_false(&assembler), 1431 Label init_k(&assembler), return_true(&assembler), return_false(&assembler),
1433 call_runtime(&assembler); 1432 call_runtime(&assembler);
1434 1433
1435 Label init_len(&assembler); 1434 Label init_len(&assembler);
1436 1435
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
1547 not_heap_num(&assembler); 1546 not_heap_num(&assembler);
1548 1547
1549 assembler.GotoUnless(assembler.TaggedIsSmi(search_element), &not_smi); 1548 assembler.GotoUnless(assembler.TaggedIsSmi(search_element), &not_smi);
1550 search_num.Bind(assembler.SmiToFloat64(search_element)); 1549 search_num.Bind(assembler.SmiToFloat64(search_element));
1551 assembler.Goto(&heap_num_loop); 1550 assembler.Goto(&heap_num_loop);
1552 1551
1553 assembler.Bind(&not_smi); 1552 assembler.Bind(&not_smi);
1554 assembler.GotoIf(assembler.WordEqual(search_element, undefined), 1553 assembler.GotoIf(assembler.WordEqual(search_element, undefined),
1555 &undef_loop); 1554 &undef_loop);
1556 Node* map = assembler.LoadMap(search_element); 1555 Node* map = assembler.LoadMap(search_element);
1557 assembler.GotoIf(assembler.WordNotEqual(map, heap_number_map), 1556 assembler.GotoUnless(assembler.IsHeapNumberMap(map), &not_heap_num);
1558 &not_heap_num);
1559 search_num.Bind(assembler.LoadHeapNumberValue(search_element)); 1557 search_num.Bind(assembler.LoadHeapNumberValue(search_element));
1560 assembler.Goto(&heap_num_loop); 1558 assembler.Goto(&heap_num_loop);
1561 1559
1562 assembler.Bind(&not_heap_num); 1560 assembler.Bind(&not_heap_num);
1563 Node* search_type = assembler.LoadMapInstanceType(map); 1561 Node* search_type = assembler.LoadMapInstanceType(map);
1564 assembler.GotoIf(assembler.IsStringInstanceType(search_type), &string_loop); 1562 assembler.GotoIf(assembler.IsStringInstanceType(search_type), &string_loop);
1565 assembler.GotoIf( 1563 assembler.GotoIf(
1566 assembler.Word32Equal(search_type, 1564 assembler.Word32Equal(search_type,
1567 assembler.Int32Constant(SIMD128_VALUE_TYPE)), 1565 assembler.Int32Constant(SIMD128_VALUE_TYPE)),
1568 &simd_loop); 1566 &simd_loop);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1612 Node* element_k = assembler.LoadFixedArrayElement( 1610 Node* element_k = assembler.LoadFixedArrayElement(
1613 elements, index_var.value(), 0, 1611 elements, index_var.value(), 0,
1614 CodeStubAssembler::INTPTR_PARAMETERS); 1612 CodeStubAssembler::INTPTR_PARAMETERS);
1615 assembler.GotoUnless(assembler.TaggedIsSmi(element_k), &not_smi); 1613 assembler.GotoUnless(assembler.TaggedIsSmi(element_k), &not_smi);
1616 assembler.Branch( 1614 assembler.Branch(
1617 assembler.Float64Equal(search_num.value(), 1615 assembler.Float64Equal(search_num.value(),
1618 assembler.SmiToFloat64(element_k)), 1616 assembler.SmiToFloat64(element_k)),
1619 &return_true, &continue_loop); 1617 &return_true, &continue_loop);
1620 1618
1621 assembler.Bind(&not_smi); 1619 assembler.Bind(&not_smi);
1622 assembler.GotoIf(assembler.WordNotEqual(assembler.LoadMap(element_k), 1620 assembler.GotoUnless(
1623 heap_number_map), 1621 assembler.IsHeapNumberMap(assembler.LoadMap(element_k)),
1624 &continue_loop); 1622 &continue_loop);
1625 assembler.Branch( 1623 assembler.Branch(
1626 assembler.Float64Equal(search_num.value(), 1624 assembler.Float64Equal(search_num.value(),
1627 assembler.LoadHeapNumberValue(element_k)), 1625 assembler.LoadHeapNumberValue(element_k)),
1628 &return_true, &continue_loop); 1626 &return_true, &continue_loop);
1629 1627
1630 assembler.Bind(&continue_loop); 1628 assembler.Bind(&continue_loop);
1631 index_var.Bind(assembler.IntPtrAdd(index_var.value(), intptr_one)); 1629 index_var.Bind(assembler.IntPtrAdd(index_var.value(), intptr_one));
1632 assembler.Goto(&not_nan_loop); 1630 assembler.Goto(&not_nan_loop);
1633 } 1631 }
1634 1632
1635 assembler.Bind(&nan_loop); 1633 assembler.Bind(&nan_loop);
1636 { 1634 {
1637 Label continue_loop(&assembler); 1635 Label continue_loop(&assembler);
1638 assembler.GotoUnless( 1636 assembler.GotoUnless(
1639 assembler.UintPtrLessThan(index_var.value(), len_var.value()), 1637 assembler.UintPtrLessThan(index_var.value(), len_var.value()),
1640 &return_false); 1638 &return_false);
1641 Node* element_k = assembler.LoadFixedArrayElement( 1639 Node* element_k = assembler.LoadFixedArrayElement(
1642 elements, index_var.value(), 0, 1640 elements, index_var.value(), 0,
1643 CodeStubAssembler::INTPTR_PARAMETERS); 1641 CodeStubAssembler::INTPTR_PARAMETERS);
1644 assembler.GotoIf(assembler.TaggedIsSmi(element_k), &continue_loop); 1642 assembler.GotoIf(assembler.TaggedIsSmi(element_k), &continue_loop);
1645 assembler.GotoIf(assembler.WordNotEqual(assembler.LoadMap(element_k), 1643 assembler.GotoUnless(
1646 heap_number_map), 1644 assembler.IsHeapNumberMap(assembler.LoadMap(element_k)),
1647 &continue_loop); 1645 &continue_loop);
1648 assembler.BranchIfFloat64IsNaN(assembler.LoadHeapNumberValue(element_k), 1646 assembler.BranchIfFloat64IsNaN(assembler.LoadHeapNumberValue(element_k),
1649 &return_true, &continue_loop); 1647 &return_true, &continue_loop);
1650 1648
1651 assembler.Bind(&continue_loop); 1649 assembler.Bind(&continue_loop);
1652 index_var.Bind(assembler.IntPtrAdd(index_var.value(), intptr_one)); 1650 index_var.Bind(assembler.IntPtrAdd(index_var.value(), intptr_one));
1653 assembler.Goto(&nan_loop); 1651 assembler.Goto(&nan_loop);
1654 } 1652 }
1655 } 1653 }
1656 1654
1657 assembler.Bind(&string_loop); 1655 assembler.Bind(&string_loop);
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
1711 Label nan_loop(&assembler, &index_var), 1709 Label nan_loop(&assembler, &index_var),
1712 not_nan_loop(&assembler, &index_var), hole_loop(&assembler, &index_var), 1710 not_nan_loop(&assembler, &index_var), hole_loop(&assembler, &index_var),
1713 search_notnan(&assembler); 1711 search_notnan(&assembler);
1714 Variable search_num(&assembler, MachineRepresentation::kFloat64); 1712 Variable search_num(&assembler, MachineRepresentation::kFloat64);
1715 1713
1716 assembler.GotoUnless(assembler.TaggedIsSmi(search_element), &search_notnan); 1714 assembler.GotoUnless(assembler.TaggedIsSmi(search_element), &search_notnan);
1717 search_num.Bind(assembler.SmiToFloat64(search_element)); 1715 search_num.Bind(assembler.SmiToFloat64(search_element));
1718 assembler.Goto(&not_nan_loop); 1716 assembler.Goto(&not_nan_loop);
1719 1717
1720 assembler.Bind(&search_notnan); 1718 assembler.Bind(&search_notnan);
1721 assembler.GotoIf(assembler.WordNotEqual(assembler.LoadMap(search_element), 1719 assembler.GotoUnless(
1722 heap_number_map), 1720 assembler.IsHeapNumberMap(assembler.LoadMap(search_element)),
1723 &return_false); 1721 &return_false);
1724 1722
1725 search_num.Bind(assembler.LoadHeapNumberValue(search_element)); 1723 search_num.Bind(assembler.LoadHeapNumberValue(search_element));
1726 1724
1727 assembler.BranchIfFloat64IsNaN(search_num.value(), &nan_loop, 1725 assembler.BranchIfFloat64IsNaN(search_num.value(), &nan_loop,
1728 &not_nan_loop); 1726 &not_nan_loop);
1729 1727
1730 // Search for HeapNumber 1728 // Search for HeapNumber
1731 assembler.Bind(&not_nan_loop); 1729 assembler.Bind(&not_nan_loop);
1732 { 1730 {
1733 Label continue_loop(&assembler); 1731 Label continue_loop(&assembler);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1768 search_notnan(&assembler); 1766 search_notnan(&assembler);
1769 Variable search_num(&assembler, MachineRepresentation::kFloat64); 1767 Variable search_num(&assembler, MachineRepresentation::kFloat64);
1770 1768
1771 assembler.GotoUnless(assembler.TaggedIsSmi(search_element), &search_notnan); 1769 assembler.GotoUnless(assembler.TaggedIsSmi(search_element), &search_notnan);
1772 search_num.Bind(assembler.SmiToFloat64(search_element)); 1770 search_num.Bind(assembler.SmiToFloat64(search_element));
1773 assembler.Goto(&not_nan_loop); 1771 assembler.Goto(&not_nan_loop);
1774 1772
1775 assembler.Bind(&search_notnan); 1773 assembler.Bind(&search_notnan);
1776 assembler.GotoIf(assembler.WordEqual(search_element, undefined), 1774 assembler.GotoIf(assembler.WordEqual(search_element, undefined),
1777 &hole_loop); 1775 &hole_loop);
1778 assembler.GotoIf(assembler.WordNotEqual(assembler.LoadMap(search_element), 1776 assembler.GotoUnless(
1779 heap_number_map), 1777 assembler.IsHeapNumberMap(assembler.LoadMap(search_element)),
1780 &return_false); 1778 &return_false);
1781 1779
1782 search_num.Bind(assembler.LoadHeapNumberValue(search_element)); 1780 search_num.Bind(assembler.LoadHeapNumberValue(search_element));
1783 1781
1784 assembler.BranchIfFloat64IsNaN(search_num.value(), &nan_loop, 1782 assembler.BranchIfFloat64IsNaN(search_num.value(), &nan_loop,
1785 &not_nan_loop); 1783 &not_nan_loop);
1786 1784
1787 // Search for HeapNumber 1785 // Search for HeapNumber
1788 assembler.Bind(&not_nan_loop); 1786 assembler.Bind(&not_nan_loop);
1789 { 1787 {
1790 Label continue_loop(&assembler); 1788 Label continue_loop(&assembler);
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1859 1857
1860 Node* array = assembler.Parameter(0); 1858 Node* array = assembler.Parameter(0);
1861 Node* search_element = assembler.Parameter(1); 1859 Node* search_element = assembler.Parameter(1);
1862 Node* start_from = assembler.Parameter(2); 1860 Node* start_from = assembler.Parameter(2);
1863 Node* context = assembler.Parameter(3 + 2); 1861 Node* context = assembler.Parameter(3 + 2);
1864 1862
1865 Node* intptr_zero = assembler.IntPtrConstant(0); 1863 Node* intptr_zero = assembler.IntPtrConstant(0);
1866 Node* intptr_one = assembler.IntPtrConstant(1); 1864 Node* intptr_one = assembler.IntPtrConstant(1);
1867 1865
1868 Node* undefined = assembler.UndefinedConstant(); 1866 Node* undefined = assembler.UndefinedConstant();
1869 Node* heap_number_map = assembler.HeapNumberMapConstant();
1870 1867
1871 Variable len_var(&assembler, MachineType::PointerRepresentation()), 1868 Variable len_var(&assembler, MachineType::PointerRepresentation()),
1872 index_var(&assembler, MachineType::PointerRepresentation()), 1869 index_var(&assembler, MachineType::PointerRepresentation()),
1873 start_from_var(&assembler, MachineType::PointerRepresentation()); 1870 start_from_var(&assembler, MachineType::PointerRepresentation());
1874 1871
1875 Label init_k(&assembler), return_found(&assembler), 1872 Label init_k(&assembler), return_found(&assembler),
1876 return_not_found(&assembler), call_runtime(&assembler); 1873 return_not_found(&assembler), call_runtime(&assembler);
1877 1874
1878 Label init_len(&assembler); 1875 Label init_len(&assembler);
1879 1876
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
1990 not_heap_num(&assembler); 1987 not_heap_num(&assembler);
1991 1988
1992 assembler.GotoUnless(assembler.TaggedIsSmi(search_element), &not_smi); 1989 assembler.GotoUnless(assembler.TaggedIsSmi(search_element), &not_smi);
1993 search_num.Bind(assembler.SmiToFloat64(search_element)); 1990 search_num.Bind(assembler.SmiToFloat64(search_element));
1994 assembler.Goto(&heap_num_loop); 1991 assembler.Goto(&heap_num_loop);
1995 1992
1996 assembler.Bind(&not_smi); 1993 assembler.Bind(&not_smi);
1997 assembler.GotoIf(assembler.WordEqual(search_element, undefined), 1994 assembler.GotoIf(assembler.WordEqual(search_element, undefined),
1998 &undef_loop); 1995 &undef_loop);
1999 Node* map = assembler.LoadMap(search_element); 1996 Node* map = assembler.LoadMap(search_element);
2000 assembler.GotoIf(assembler.WordNotEqual(map, heap_number_map), 1997 assembler.GotoUnless(assembler.IsHeapNumberMap(map), &not_heap_num);
2001 &not_heap_num);
2002 search_num.Bind(assembler.LoadHeapNumberValue(search_element)); 1998 search_num.Bind(assembler.LoadHeapNumberValue(search_element));
2003 assembler.Goto(&heap_num_loop); 1999 assembler.Goto(&heap_num_loop);
2004 2000
2005 assembler.Bind(&not_heap_num); 2001 assembler.Bind(&not_heap_num);
2006 Node* search_type = assembler.LoadMapInstanceType(map); 2002 Node* search_type = assembler.LoadMapInstanceType(map);
2007 assembler.GotoIf(assembler.IsStringInstanceType(search_type), &string_loop); 2003 assembler.GotoIf(assembler.IsStringInstanceType(search_type), &string_loop);
2008 assembler.GotoIf( 2004 assembler.GotoIf(
2009 assembler.Word32Equal(search_type, 2005 assembler.Word32Equal(search_type,
2010 assembler.Int32Constant(SIMD128_VALUE_TYPE)), 2006 assembler.Int32Constant(SIMD128_VALUE_TYPE)),
2011 &simd_loop); 2007 &simd_loop);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
2054 Node* element_k = assembler.LoadFixedArrayElement( 2050 Node* element_k = assembler.LoadFixedArrayElement(
2055 elements, index_var.value(), 0, 2051 elements, index_var.value(), 0,
2056 CodeStubAssembler::INTPTR_PARAMETERS); 2052 CodeStubAssembler::INTPTR_PARAMETERS);
2057 assembler.GotoUnless(assembler.TaggedIsSmi(element_k), &not_smi); 2053 assembler.GotoUnless(assembler.TaggedIsSmi(element_k), &not_smi);
2058 assembler.Branch( 2054 assembler.Branch(
2059 assembler.Float64Equal(search_num.value(), 2055 assembler.Float64Equal(search_num.value(),
2060 assembler.SmiToFloat64(element_k)), 2056 assembler.SmiToFloat64(element_k)),
2061 &return_found, &continue_loop); 2057 &return_found, &continue_loop);
2062 2058
2063 assembler.Bind(&not_smi); 2059 assembler.Bind(&not_smi);
2064 assembler.GotoIf(assembler.WordNotEqual(assembler.LoadMap(element_k), 2060 assembler.GotoUnless(
2065 heap_number_map), 2061 assembler.IsHeapNumberMap(assembler.LoadMap(element_k)),
2066 &continue_loop); 2062 &continue_loop);
2067 assembler.Branch( 2063 assembler.Branch(
2068 assembler.Float64Equal(search_num.value(), 2064 assembler.Float64Equal(search_num.value(),
2069 assembler.LoadHeapNumberValue(element_k)), 2065 assembler.LoadHeapNumberValue(element_k)),
2070 &return_found, &continue_loop); 2066 &return_found, &continue_loop);
2071 2067
2072 assembler.Bind(&continue_loop); 2068 assembler.Bind(&continue_loop);
2073 index_var.Bind(assembler.IntPtrAdd(index_var.value(), intptr_one)); 2069 index_var.Bind(assembler.IntPtrAdd(index_var.value(), intptr_one));
2074 assembler.Goto(&not_nan_loop); 2070 assembler.Goto(&not_nan_loop);
2075 } 2071 }
2076 } 2072 }
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
2130 assembler.Bind(&if_packed_doubles); 2126 assembler.Bind(&if_packed_doubles);
2131 { 2127 {
2132 Label not_nan_loop(&assembler, &index_var), search_notnan(&assembler); 2128 Label not_nan_loop(&assembler, &index_var), search_notnan(&assembler);
2133 Variable search_num(&assembler, MachineRepresentation::kFloat64); 2129 Variable search_num(&assembler, MachineRepresentation::kFloat64);
2134 2130
2135 assembler.GotoUnless(assembler.TaggedIsSmi(search_element), &search_notnan); 2131 assembler.GotoUnless(assembler.TaggedIsSmi(search_element), &search_notnan);
2136 search_num.Bind(assembler.SmiToFloat64(search_element)); 2132 search_num.Bind(assembler.SmiToFloat64(search_element));
2137 assembler.Goto(&not_nan_loop); 2133 assembler.Goto(&not_nan_loop);
2138 2134
2139 assembler.Bind(&search_notnan); 2135 assembler.Bind(&search_notnan);
2140 assembler.GotoIf(assembler.WordNotEqual(assembler.LoadMap(search_element), 2136 assembler.GotoUnless(
2141 heap_number_map), 2137 assembler.IsHeapNumberMap(assembler.LoadMap(search_element)),
2142 &return_not_found); 2138 &return_not_found);
2143 2139
2144 search_num.Bind(assembler.LoadHeapNumberValue(search_element)); 2140 search_num.Bind(assembler.LoadHeapNumberValue(search_element));
2145 2141
2146 assembler.BranchIfFloat64IsNaN(search_num.value(), &return_not_found, 2142 assembler.BranchIfFloat64IsNaN(search_num.value(), &return_not_found,
2147 &not_nan_loop); 2143 &not_nan_loop);
2148 2144
2149 // Search for HeapNumber 2145 // Search for HeapNumber
2150 assembler.Bind(&not_nan_loop); 2146 assembler.Bind(&not_nan_loop);
2151 { 2147 {
2152 Label continue_loop(&assembler); 2148 Label continue_loop(&assembler);
(...skipping 14 matching lines...) Expand all
2167 assembler.Bind(&if_holey_doubles); 2163 assembler.Bind(&if_holey_doubles);
2168 { 2164 {
2169 Label not_nan_loop(&assembler, &index_var), search_notnan(&assembler); 2165 Label not_nan_loop(&assembler, &index_var), search_notnan(&assembler);
2170 Variable search_num(&assembler, MachineRepresentation::kFloat64); 2166 Variable search_num(&assembler, MachineRepresentation::kFloat64);
2171 2167
2172 assembler.GotoUnless(assembler.TaggedIsSmi(search_element), &search_notnan); 2168 assembler.GotoUnless(assembler.TaggedIsSmi(search_element), &search_notnan);
2173 search_num.Bind(assembler.SmiToFloat64(search_element)); 2169 search_num.Bind(assembler.SmiToFloat64(search_element));
2174 assembler.Goto(&not_nan_loop); 2170 assembler.Goto(&not_nan_loop);
2175 2171
2176 assembler.Bind(&search_notnan); 2172 assembler.Bind(&search_notnan);
2177 assembler.GotoIf(assembler.WordNotEqual(assembler.LoadMap(search_element), 2173 assembler.GotoUnless(
2178 heap_number_map), 2174 assembler.IsHeapNumberMap(assembler.LoadMap(search_element)),
2179 &return_not_found); 2175 &return_not_found);
2180 2176
2181 search_num.Bind(assembler.LoadHeapNumberValue(search_element)); 2177 search_num.Bind(assembler.LoadHeapNumberValue(search_element));
2182 2178
2183 assembler.BranchIfFloat64IsNaN(search_num.value(), &return_not_found, 2179 assembler.BranchIfFloat64IsNaN(search_num.value(), &return_not_found,
2184 &not_nan_loop); 2180 &not_nan_loop);
2185 2181
2186 // Search for HeapNumber 2182 // Search for HeapNumber
2187 assembler.Bind(&not_nan_loop); 2183 assembler.Bind(&not_nan_loop);
2188 { 2184 {
2189 Label continue_loop(&assembler); 2185 Label continue_loop(&assembler);
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after
2762 Runtime::kThrowIncompatibleMethodReceiver, context, 2758 Runtime::kThrowIncompatibleMethodReceiver, context,
2763 assembler.HeapConstant(assembler.factory()->NewStringFromAsciiChecked( 2759 assembler.HeapConstant(assembler.factory()->NewStringFromAsciiChecked(
2764 "Array Iterator.prototype.next", TENURED)), 2760 "Array Iterator.prototype.next", TENURED)),
2765 iterator); 2761 iterator);
2766 assembler.Return(result); 2762 assembler.Return(result);
2767 } 2763 }
2768 } 2764 }
2769 2765
2770 } // namespace internal 2766 } // namespace internal
2771 } // namespace v8 2767 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/builtins/builtins-conversion.cc » ('j') | src/code-stub-assembler.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698