| Index: src/runtime/runtime-classes.cc
|
| diff --git a/src/runtime/runtime-classes.cc b/src/runtime/runtime-classes.cc
|
| index fe76dfa0dd2564c9787cb9d806084cb74eea4f23..3dbcc65eca6af1e5e5e9a0f80009d18dd8a73640 100644
|
| --- a/src/runtime/runtime-classes.cc
|
| +++ b/src/runtime/runtime-classes.cc
|
| @@ -200,8 +200,16 @@
|
| CONVERT_ARG_HANDLE_CHECKED(Name, name, 1);
|
| CONVERT_ARG_HANDLE_CHECKED(JSFunction, function, 2);
|
|
|
| - RETURN_FAILURE_ON_EXCEPTION(isolate, JSObject::DefinePropertyOrElement(
|
| - object, name, function, DONT_ENUM));
|
| + uint32_t index;
|
| + if (name->AsArrayIndex(&index)) {
|
| + RETURN_FAILURE_ON_EXCEPTION(
|
| + isolate, JSObject::SetOwnElementIgnoreAttributes(object, index,
|
| + function, DONT_ENUM));
|
| + } else {
|
| + RETURN_FAILURE_ON_EXCEPTION(
|
| + isolate, JSObject::SetOwnPropertyIgnoreAttributes(object, name,
|
| + function, DONT_ENUM));
|
| + }
|
| return isolate->heap()->undefined_value();
|
| }
|
|
|
|
|