whole_func_string: function ObjectSetPrototypeOf(obj, proto) {
    CHECK_OBJECT_COERCIBLE(obj, "Object.setPrototypeOf");
  
    if (proto !== null && !IS_RECEIVER(proto)) {
      throw MakeTypeError(kProtoObjectOrNull, proto);
    }
  
    if (IS_RECEIVER(obj)) {
      %SetPrototype(obj, proto);
    }
  
    return obj;
  }
func_code_string: function ObjectSetPrototypeOf(obj, proto) {
    CHECK_OBJECT_COERCIBLE(obj, "Object.setPrototypeOf");
  
    if (proto !== null && !IS_RECEIVER(proto)) {
      throw MakeTypeError(kProtoObjectOrNull, proto);
    }
  
    if (IS_RECEIVER(obj)) {
      %SetPrototype(obj, proto);
    }
  
    return obj;
  }
func_documentation_string: ES6 section 19.1.2.18.