| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 927386289ac392254281077665c980768294f946..bbfd443b7505380b9c04d826dcee6d32abeaec8c 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -6090,6 +6090,11 @@ RUNTIME_FUNCTION(Runtime_GetArgumentsProperty) {
|
|
|
| HandleScope scope(isolate);
|
| if (raw_key->IsSymbol()) {
|
| + Handle<Symbol> symbol = Handle<Symbol>::cast(raw_key);
|
| + if (FLAG_harmony_iteration &&
|
| + symbol->Equals(isolate->native_context()->iterator_symbol())) {
|
| + return isolate->native_context()->array_values_iterator();
|
| + }
|
| // Lookup in the initial Object.prototype object.
|
| Handle<Object> result;
|
| ASSIGN_RETURN_FAILURE_ON_EXCEPTION(
|
| @@ -6141,6 +6146,25 @@ RUNTIME_FUNCTION(Runtime_GetArgumentsProperty) {
|
| }
|
|
|
|
|
| +RUNTIME_FUNCTION(Runtime_GetArgumentsBoilerplateObject) {
|
| + HandleScope scope(isolate);
|
| + ASSERT(args.length() == 1);
|
| + CONVERT_SMI_ARG_CHECKED(index, 0);
|
| + RUNTIME_ASSERT(isolate->bootstrapper()->IsActive());
|
| +
|
| + switch (index) {
|
| + case 0:
|
| + return isolate->native_context()->sloppy_arguments_boilerplate();
|
| + case 1:
|
| + return isolate->native_context()->aliased_arguments_boilerplate();
|
| + case 2:
|
| + return isolate->native_context()->strict_arguments_boilerplate();
|
| + default:
|
| + return isolate->ThrowIllegalOperation();
|
| + }
|
| +}
|
| +
|
| +
|
| RUNTIME_FUNCTION(Runtime_ToFastProperties) {
|
| HandleScope scope(isolate);
|
| ASSERT(args.length() == 1);
|
|
|