| // 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. | |
| function foo(a, key) { | |
| a[key]; | |
| } | |
| let obj = {}; | |
| let count = 0; | |
| var key_obj = { | |
| toString: function() { | |
| count++; | |
| // Force string to be internalized during keyed lookup. | |
| return 'foo' + count; | |
| } | |
| }; | |
| foo(obj, key_obj); | |
| // We should only call toString once. | |
| assertEquals(count, 1); |