deps/v8/src/js/messages.js
function CallSite(receiver, fun, pos, strict_mode) {
  // For wasm frames, receiver is the wasm object and fun is the function index
  // instead of an actual function.
  if (!IS_FUNCTION(fun) && !%IsWasmObject(receiver)) {
    throw MakeTypeError(kCallSiteExpectsFunction, typeof receiver, typeof fun);
  }

  if (IS_UNDEFINED(new.target)) {
    return new CallSite(receiver, fun, pos, strict_mode);
  }

  if (IS_FUNCTION(fun)) {
    SET_PRIVATE(this, callSiteReceiverSymbol, receiver);
    SET_PRIVATE(this, callSiteFunctionSymbol, fun);
  } else {
    SET_PRIVATE(this, callSiteWasmObjectSymbol, receiver);
    SET_PRIVATE(this, callSiteWasmFunctionIndexSymbol, TO_UINT32(fun));
  }
  SET_PRIVATE(this, callSitePositionSymbol, TO_INT32(pos));
  SET_PRIVATE(this, callSiteStrictSymbol, TO_BOOLEAN(strict_mode));
}
function CallSite(receiver, fun, pos, strict_mode) {
  // For wasm frames, receiver is the wasm object and fun is the function index
  // instead of an actual function.
  if (!IS_FUNCTION(fun) && !%IsWasmObject(receiver)) {
    throw MakeTypeError(kCallSiteExpectsFunction, typeof receiver, typeof fun);
  }

  if (IS_UNDEFINED(new.target)) {
    return new CallSite(receiver, fun, pos, strict_mode);
  }

  if (IS_FUNCTION(fun)) {
    SET_PRIVATE(this, callSiteReceiverSymbol, receiver);
    SET_PRIVATE(this, callSiteFunctionSymbol, fun);
  } else {
    SET_PRIVATE(this, callSiteWasmObjectSymbol, receiver);
    SET_PRIVATE(this, callSiteWasmFunctionIndexSymbol, TO_UINT32(fun));
  }
  SET_PRIVATE(this, callSitePositionSymbol, TO_INT32(pos));
  SET_PRIVATE(this, callSiteStrictSymbol, TO_BOOLEAN(strict_mode));
}
---------------------------------------------------------------------------- Error implementation