// Copyright 2018 the V8 project authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.(functionThrows(){functionTestError(){}letcallCount=0;consta={0:1,1:2,getlength(){callCount++;thrownewTestError();}};assertThrows(()=>Array.prototype.join.call(a),TestError);assertSame(1,callCount);// Verifies cycle detection still works properly after thrown error.Object.defineProperty(a,'length',{get(){callCount++;return2;}});assertSame('1,2',Array.prototype.join.call(a));assertSame(2,callCount);})();