node/deps/v8/test/debugger/regress/deopt-regression.js
Michaël Zasso 17a74ddd3d
deps: update V8 to 11.8.172.13
PR-URL: https://github.com/nodejs/node/pull/49639
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-10-10 08:25:41 +02:00

41 lines
826 B
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Copyright 2023 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: --allow-natives-syntax --sparkplug
var foo = {
  [Symbol.toPrimitive]() {return "xyz";}
}
function f() {
  var v = foo;
  var o = {[v]: v};
  return o["xyz"];
};
Debug = debug.Debug
function listener(event, exec_state, event_data, data) {
  if (event == Debug.DebugEvent.Break) {
  }
};
// Add the debug event listener.
Debug.setListener(listener);
%DebugPrint(f());
%CompileBaseline(f);
%DebugPrint(f());
foo[Symbol.toPrimitive] = function(hint) {
  print("Setting breakpoint...");
  const breakid = Debug.setBreakPoint(f, 3);
  return "xyz";
};
%DebugPrint(f());
// Get rid of the debug event listener.
Debug.setListener(null);