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