Chromium Code Reviews| Index: src/runtime/runtime-object.cc |
| diff --git a/src/runtime/runtime-object.cc b/src/runtime/runtime-object.cc |
| index 2d01bd3e15b4b60b0aff056c5102dec345602062..ba6329b296159ab89871b65f88145ccefcb27e10 100644 |
| --- a/src/runtime/runtime-object.cc |
| +++ b/src/runtime/runtime-object.cc |
| @@ -1589,30 +1589,36 @@ RUNTIME_FUNCTION(RuntimeReference_ClassOf) { |
| RUNTIME_FUNCTION(Runtime_DefineGetterPropertyUnchecked) { |
| HandleScope scope(isolate); |
| - DCHECK(args.length() == 3); |
| + DCHECK(args.length() == 4); |
| CONVERT_ARG_HANDLE_CHECKED(JSObject, object, 0); |
| CONVERT_ARG_HANDLE_CHECKED(Name, name, 1); |
| CONVERT_ARG_HANDLE_CHECKED(JSFunction, getter, 2); |
| + CONVERT_SMI_ARG_CHECKED(unchecked, 3); |
|
arv (Not doing code reviews)
2015/02/03 17:38:36
I'm going to do a followup CL that introduces CONV
|
| + RUNTIME_ASSERT((unchecked & ~(READ_ONLY | DONT_ENUM | DONT_DELETE)) == 0); |
| + PropertyAttributes attrs = static_cast<PropertyAttributes>(unchecked); |
| RETURN_FAILURE_ON_EXCEPTION( |
| isolate, |
| JSObject::DefineAccessor(object, name, getter, |
| - isolate->factory()->null_value(), NONE)); |
| + isolate->factory()->null_value(), attrs)); |
| return isolate->heap()->undefined_value(); |
| } |
| RUNTIME_FUNCTION(Runtime_DefineSetterPropertyUnchecked) { |
| HandleScope scope(isolate); |
| - DCHECK(args.length() == 3); |
| + DCHECK(args.length() == 4); |
| CONVERT_ARG_HANDLE_CHECKED(JSObject, object, 0); |
| CONVERT_ARG_HANDLE_CHECKED(Name, name, 1); |
| CONVERT_ARG_HANDLE_CHECKED(JSFunction, setter, 2); |
| + CONVERT_SMI_ARG_CHECKED(unchecked, 3); |
| + RUNTIME_ASSERT((unchecked & ~(READ_ONLY | DONT_ENUM | DONT_DELETE)) == 0); |
| + PropertyAttributes attrs = static_cast<PropertyAttributes>(unchecked); |
| RETURN_FAILURE_ON_EXCEPTION( |
| isolate, |
| JSObject::DefineAccessor(object, name, isolate->factory()->null_value(), |
| - setter, NONE)); |
| + setter, attrs)); |
| return isolate->heap()->undefined_value(); |
| } |
| } |