whole_func_string: function ObjectSetProto(proto) {
    CHECK_OBJECT_COERCIBLE(this, "Object.prototype.__proto__");
  
    if ((IS_RECEIVER(proto) || IS_NULL(proto)) && IS_RECEIVER(this)) {
      %SetPrototype(this, proto);
    }
  }
func_code_string: function ObjectSetProto(proto) {
    CHECK_OBJECT_COERCIBLE(this, "Object.prototype.__proto__");
  
    if ((IS_RECEIVER(proto) || IS_NULL(proto)) && IS_RECEIVER(this)) {
      %SetPrototype(this, proto);
    }
  }
func_documentation_string: ES6 B.2.2.1.2