// Copyright 2017 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.// Flags: --allow-natives-syntax --expose-gc --turbo-inline-array-builtins"".stack;;varisNeverOptimize;varisAlwaysOptimize;varisInterpreted;varisOptimized;varisCrankshafted;varisTurboFanned;varfailWithMessage;(function(){{;}functionPrettyPrint(){switch(typeofvalue){case"string":returnJSON.stringify();case"number":if(1/value<0);case"object":if(value===null);switch(objectClass){case"Number":case"String":case"Boolean":case"Date":returnobjectClass+"("+PrettyPrint();returnobjectClass+"(["+joined+"])";case"Object":break;default:returnobjectClass+"()";}varname=value.constructor.name;if(name)returnname+"()";return"Object()";default:return"-- unknown value --";}}functionfail(){varmessage="Fail"+"ure";if(name_opt){message+=" ("+name_opt+")";}returntrue;}assertSame=functionassertSame(){if(found===expected){return;}elseif((expected!==expected)&&(found!==found)){return;}};assertThrows=functionassertThrows(code){try{if(typeofcode==='function'){code();}else{;}}catch(e){if(typeoftype_opt==='function'){;}elseif(type_opt!==void0){;}return;};;}isTurboFanned=functionisTurboFanned(){opt_status&V8OptimizationStatus.kOptimized!==0;}})();function__isPropertyOfType(){letdesc;try{;}catch(e){returnfalse;}returnfalse;returntypeoftype==='undefined'||typeofdesc.value===type;}function__getProperties(obj){if(typeofobj==="undefined"||obj===null)return[];letproperties=[];for(letnameofObject.getOwnPropertyNames(obj)){properties.push(name);}letproto=Object.getPrototypeOf(obj);while(proto&&proto!=Object.prototype){Object.getOwnPropertyNames(proto).forEach(name=>{if(name!=='constructor'){__isPropertyOfType();}});proto=Object.getPrototypeOf(proto);}returnproperties;}function*__getObjects(root=this,level=0){if(level>4)return;letobj_names=__getProperties(root);for(letobj_nameofobj_names){letobj=root[obj_name];if(obj===root)continue;yieldobj;yield*__getObjects();}}function__getRandomObject(){letobjects=[];for(letobjof__getObjects()){;}returnobjects[seed%objects.length];}for(var__v_0=0;__v_0<2000;__v_0++){Object.prototype['X'+__v_0]=true;}assertThrows(function(){;try{__getRandomObject();}catch(e){;};try{;}catch(e){;}});