// Copyright 2019 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.varp=newProxy({a:1,b:2},{ownKeys(){return['a','b'];}});// clone and return afunctionf(a){vary={...a}returny;}// Call with different maps to force it into megamorphic statef({a:1,b:2});f({a1:1,b1:3});f({a2:1,b2:3});f({a3:1,b3:4});f({a4:1,b4:5});// Test that y was initialized correctly in the slow pathvarclone=f(p);assertEquals(clone.a,1);assertEquals(clone.b,2);