| // Copyright 2016 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: --no-inline-new |
| function keyed_store(obj, key, value) { |
| // Transition keyed store IC to polymorphic. |
| keyed_store(obj, "smi", 100); |
| keyed_store(obj, "dbl", 100); |
| keyed_store(obj, "obj", 100); |
| // Now call with a PACKED_SMI_ELEMENTS object. |
| var smi_array = [5, 1, 1]; |
| keyed_store(smi_array, 1, 6); |
| // Transition from PACKED_SMI_ELEMENTS to PACKED_DOUBLE_ELEMENTS. |
| keyed_store(smi_array, 2, 1.2); |