| Index: src/runtime/runtime-collections.cc
|
| diff --git a/src/runtime/runtime-collections.cc b/src/runtime/runtime-collections.cc
|
| index de1619e62f964406edd7321fe6f47d8fcfd0b630..e6a86d114a7f8d04828f0c049deaa93bc3c14491 100644
|
| --- a/src/runtime/runtime-collections.cc
|
| +++ b/src/runtime/runtime-collections.cc
|
| @@ -115,6 +115,22 @@ RUNTIME_FUNCTION(Runtime_SetIteratorNext) {
|
| }
|
|
|
|
|
| +// The array returned contains the following information:
|
| +// 0: HasMore flag
|
| +// 1: Iteration index
|
| +// 2: Iteration kind
|
| +RUNTIME_FUNCTION(Runtime_SetIteratorDetails) {
|
| + HandleScope scope(isolate);
|
| + DCHECK(args.length() == 1);
|
| + CONVERT_ARG_HANDLE_CHECKED(JSSetIterator, holder, 0);
|
| + Handle<FixedArray> details = isolate->factory()->NewFixedArray(4);
|
| + details->set(0, isolate->heap()->ToBoolean(holder->HasMore()));
|
| + details->set(1, holder->index());
|
| + details->set(2, holder->kind());
|
| + return *isolate->factory()->NewJSArrayWithElements(details);
|
| +}
|
| +
|
| +
|
| RUNTIME_FUNCTION(Runtime_MapInitialize) {
|
| HandleScope scope(isolate);
|
| DCHECK(args.length() == 1);
|
| @@ -225,6 +241,22 @@ RUNTIME_FUNCTION(Runtime_MapIteratorClone) {
|
| }
|
|
|
|
|
| +// The array returned contains the following information:
|
| +// 0: HasMore flag
|
| +// 1: Iteration index
|
| +// 2: Iteration kind
|
| +RUNTIME_FUNCTION(Runtime_MapIteratorDetails) {
|
| + HandleScope scope(isolate);
|
| + DCHECK(args.length() == 1);
|
| + CONVERT_ARG_HANDLE_CHECKED(JSMapIterator, holder, 0);
|
| + Handle<FixedArray> details = isolate->factory()->NewFixedArray(4);
|
| + details->set(0, isolate->heap()->ToBoolean(holder->HasMore()));
|
| + details->set(1, holder->index());
|
| + details->set(2, holder->kind());
|
| + return *isolate->factory()->NewJSArrayWithElements(details);
|
| +}
|
| +
|
| +
|
| RUNTIME_FUNCTION(Runtime_GetWeakMapEntries) {
|
| HandleScope scope(isolate);
|
| DCHECK(args.length() == 2);
|
|
|