| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 <stdlib.h> | 5 #include <stdlib.h> |
| 6 #include <limits> | 6 #include <limits> |
| 7 | 7 |
| 8 #include "v8.h" | 8 #include "v8.h" |
| 9 | 9 |
| 10 #include "accessors.h" | 10 #include "accessors.h" |
| (...skipping 1566 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1577 | 1577 |
| 1578 RUNTIME_FUNCTION(Runtime_SetGetSize) { | 1578 RUNTIME_FUNCTION(Runtime_SetGetSize) { |
| 1579 HandleScope scope(isolate); | 1579 HandleScope scope(isolate); |
| 1580 ASSERT(args.length() == 1); | 1580 ASSERT(args.length() == 1); |
| 1581 CONVERT_ARG_HANDLE_CHECKED(JSSet, holder, 0); | 1581 CONVERT_ARG_HANDLE_CHECKED(JSSet, holder, 0); |
| 1582 Handle<OrderedHashSet> table(OrderedHashSet::cast(holder->table())); | 1582 Handle<OrderedHashSet> table(OrderedHashSet::cast(holder->table())); |
| 1583 return Smi::FromInt(table->NumberOfElements()); | 1583 return Smi::FromInt(table->NumberOfElements()); |
| 1584 } | 1584 } |
| 1585 | 1585 |
| 1586 | 1586 |
| 1587 RUNTIME_FUNCTION(Runtime_SetCreateIterator) { | 1587 RUNTIME_FUNCTION(Runtime_SetIteratorInitialize) { |
| 1588 HandleScope scope(isolate); | 1588 HandleScope scope(isolate); |
| 1589 ASSERT(args.length() == 2); | 1589 ASSERT(args.length() == 3); |
| 1590 CONVERT_ARG_HANDLE_CHECKED(JSSet, holder, 0); | 1590 CONVERT_ARG_HANDLE_CHECKED(JSSetIterator, holder, 0); |
| 1591 CONVERT_SMI_ARG_CHECKED(kind, 1) | 1591 CONVERT_ARG_HANDLE_CHECKED(JSSet, set, 1); |
| 1592 CONVERT_SMI_ARG_CHECKED(kind, 2) |
| 1592 RUNTIME_ASSERT(kind == JSSetIterator::kKindValues || | 1593 RUNTIME_ASSERT(kind == JSSetIterator::kKindValues || |
| 1593 kind == JSSetIterator::kKindEntries); | 1594 kind == JSSetIterator::kKindEntries); |
| 1594 Handle<OrderedHashSet> table(OrderedHashSet::cast(holder->table())); | 1595 Handle<OrderedHashSet> table(OrderedHashSet::cast(set->table())); |
| 1595 return *JSSetIterator::Create(table, kind); | 1596 holder->set_table(*table); |
| 1597 holder->set_index(Smi::FromInt(0)); |
| 1598 holder->set_kind(Smi::FromInt(kind)); |
| 1599 return isolate->heap()->undefined_value(); |
| 1596 } | 1600 } |
| 1597 | 1601 |
| 1598 | 1602 |
| 1599 RUNTIME_FUNCTION(Runtime_SetIteratorNext) { | 1603 RUNTIME_FUNCTION(Runtime_SetIteratorNext) { |
| 1600 HandleScope scope(isolate); | 1604 HandleScope scope(isolate); |
| 1601 ASSERT(args.length() == 1); | 1605 ASSERT(args.length() == 1); |
| 1602 CONVERT_ARG_HANDLE_CHECKED(JSSetIterator, holder, 0); | 1606 CONVERT_ARG_HANDLE_CHECKED(JSSetIterator, holder, 0); |
| 1603 return *JSSetIterator::Next(holder); | 1607 return *JSSetIterator::Next(holder); |
| 1604 } | 1608 } |
| 1605 | 1609 |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1676 | 1680 |
| 1677 RUNTIME_FUNCTION(Runtime_MapGetSize) { | 1681 RUNTIME_FUNCTION(Runtime_MapGetSize) { |
| 1678 HandleScope scope(isolate); | 1682 HandleScope scope(isolate); |
| 1679 ASSERT(args.length() == 1); | 1683 ASSERT(args.length() == 1); |
| 1680 CONVERT_ARG_HANDLE_CHECKED(JSMap, holder, 0); | 1684 CONVERT_ARG_HANDLE_CHECKED(JSMap, holder, 0); |
| 1681 Handle<OrderedHashMap> table(OrderedHashMap::cast(holder->table())); | 1685 Handle<OrderedHashMap> table(OrderedHashMap::cast(holder->table())); |
| 1682 return Smi::FromInt(table->NumberOfElements()); | 1686 return Smi::FromInt(table->NumberOfElements()); |
| 1683 } | 1687 } |
| 1684 | 1688 |
| 1685 | 1689 |
| 1686 RUNTIME_FUNCTION(Runtime_MapCreateIterator) { | 1690 RUNTIME_FUNCTION(Runtime_MapIteratorInitialize) { |
| 1687 HandleScope scope(isolate); | 1691 HandleScope scope(isolate); |
| 1688 ASSERT(args.length() == 2); | 1692 ASSERT(args.length() == 3); |
| 1689 CONVERT_ARG_HANDLE_CHECKED(JSMap, holder, 0); | 1693 CONVERT_ARG_HANDLE_CHECKED(JSMapIterator, holder, 0); |
| 1690 CONVERT_SMI_ARG_CHECKED(kind, 1) | 1694 CONVERT_ARG_HANDLE_CHECKED(JSMap, map, 1); |
| 1695 CONVERT_SMI_ARG_CHECKED(kind, 2) |
| 1691 RUNTIME_ASSERT(kind == JSMapIterator::kKindKeys | 1696 RUNTIME_ASSERT(kind == JSMapIterator::kKindKeys |
| 1692 || kind == JSMapIterator::kKindValues | 1697 || kind == JSMapIterator::kKindValues |
| 1693 || kind == JSMapIterator::kKindEntries); | 1698 || kind == JSMapIterator::kKindEntries); |
| 1694 Handle<OrderedHashMap> table(OrderedHashMap::cast(holder->table())); | 1699 Handle<OrderedHashMap> table(OrderedHashMap::cast(map->table())); |
| 1695 return *JSMapIterator::Create(table, kind); | 1700 holder->set_table(*table); |
| 1701 holder->set_index(Smi::FromInt(0)); |
| 1702 holder->set_kind(Smi::FromInt(kind)); |
| 1703 return isolate->heap()->undefined_value(); |
| 1696 } | 1704 } |
| 1697 | 1705 |
| 1698 | 1706 |
| 1699 RUNTIME_FUNCTION(Runtime_MapIteratorNext) { | 1707 RUNTIME_FUNCTION(Runtime_MapIteratorNext) { |
| 1700 HandleScope scope(isolate); | 1708 HandleScope scope(isolate); |
| 1701 ASSERT(args.length() == 1); | 1709 ASSERT(args.length() == 1); |
| 1702 CONVERT_ARG_HANDLE_CHECKED(JSMapIterator, holder, 0); | 1710 CONVERT_ARG_HANDLE_CHECKED(JSMapIterator, holder, 0); |
| 1703 return *JSMapIterator::Next(holder); | 1711 return *JSMapIterator::Next(holder); |
| 1704 } | 1712 } |
| 1705 | 1713 |
| (...skipping 13452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 15158 } | 15166 } |
| 15159 return NULL; | 15167 return NULL; |
| 15160 } | 15168 } |
| 15161 | 15169 |
| 15162 | 15170 |
| 15163 const Runtime::Function* Runtime::FunctionForId(Runtime::FunctionId id) { | 15171 const Runtime::Function* Runtime::FunctionForId(Runtime::FunctionId id) { |
| 15164 return &(kIntrinsicFunctions[static_cast<int>(id)]); | 15172 return &(kIntrinsicFunctions[static_cast<int>(id)]); |
| 15165 } | 15173 } |
| 15166 | 15174 |
| 15167 } } // namespace v8::internal | 15175 } } // namespace v8::internal |
| OLD | NEW |