// 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.functionnewFastRegExp(){returnnewRegExp('.');}functiontoSlowRegExp(re){re.exec=42;}letre=newFastRegExp();constevil_nonstring={[Symbol.toPrimitive]:()=>toSlowRegExp(re)};constempty_string="";String.prototype.replace.call(evil_nonstring,re,empty_string);re=newFastRegExp();String.prototype.match.call(evil_nonstring,re,empty_string);re=newFastRegExp();String.prototype.search.call(evil_nonstring,re,empty_string);re=newFastRegExp();String.prototype.split.call(evil_nonstring,re,empty_string);