regress-1005400.js 464 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
// 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);