// 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. | |
// Check that encountering deprecated Maps does not cause CloneObjectIC to | |
// crash. | |
var obj1 = { x: 1 }; | |
var obj2 = { x: 2 }; // same map | |
obj2.x = null; // deprecate map | |
function f() { return { ...obj1 } }; | |
assertEquals({ x: 1 }, f()); // missed, object migrated to cached new map | |
assertEquals({ x: 1 }, f()); // monomorphic cache-hit |