| // Copyright 2020 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: --logfile='+' --log --log-code --log-function-events --no-stress-opt |
| |
| let twoByteName = "twoByteName_🍕" |
| let o = { |
| [twoByteName](obj) { |
| return obj.a |
| } |
| } |
| function testFunctionWithFunnyName(o) { |
| return o.a; |
| } |
| |
| (function testLoopWithFunnyName() { |
| let object = {a:1}; |
| let result = 0; |
| for (let i = 0; i < 1000; i++) { |
| result += o[twoByteName](object); |
| } |
| })(); |
| |
| var __v_3 = {}; |
| ({})['foobar\u2653'] = null; |
| eval('__v_3 = function foobar() { return foobar };'); |
| __v_3(); |
| |
| const log = d8.log.getAndStop(); |
| // Check that we have a minimally working log file. |
| assertTrue(log.length > 0); |
| assertTrue(log.indexOf('v8-version') == 0); |
| assertTrue(log.indexOf('testFunctionWithFunnyName') >= 10); |
| assertTrue(log.indexOf("twoByteName") >= 10); |
| assertTrue(log.indexOf('testLoopWithFunnyName') >= 10); |