| Index: src/builtins.cc | 
| diff --git a/src/builtins.cc b/src/builtins.cc | 
| index f3b98d07538057aabf695ba1b8319b4207437da8..17c4ccf127a4fb11c88e893bc12744dccc314c4b 100644 | 
| --- a/src/builtins.cc | 
| +++ b/src/builtins.cc | 
| @@ -1782,6 +1782,30 @@ BUILTIN(ObjectCreate) { | 
| return *object; | 
| } | 
|  | 
| +// ES6 section 19.1.2.3 Object.defineProperties | 
| +BUILTIN(ObjectDefineProperties) { | 
| +  HandleScope scope(isolate); | 
| +  DCHECK_EQ(3, args.length()); | 
| +  Handle<Object> target = args.at<Object>(1); | 
| +  Handle<Object> properties = args.at<Object>(2); | 
| + | 
| +  Handle<Object> result; | 
| +  ASSIGN_RETURN_FAILURE_ON_EXCEPTION( | 
| +      isolate, result, | 
| +      JSReceiver::DefineProperties(isolate, target, properties)); | 
| +  return *result; | 
| +} | 
| + | 
| +// ES6 section 19.1.2.4 Object.defineProperty | 
| +BUILTIN(ObjectDefineProperty) { | 
| +  HandleScope scope(isolate); | 
| +  DCHECK_EQ(4, args.length()); | 
| +  Handle<Object> target = args.at<Object>(1); | 
| +  Handle<Object> key = args.at<Object>(2); | 
| +  Handle<Object> attributes = args.at<Object>(3); | 
| + | 
| +  return JSReceiver::DefineProperty(isolate, target, key, attributes); | 
| +} | 
|  | 
| // ES6 section 19.1.2.5 Object.freeze ( O ) | 
| BUILTIN(ObjectFreeze) { | 
|  |