f1ddb2faa4
With https://crrev.com/c/3272577 we introduced a `StackFrame` cache for the inspector, which is keyed on the script ID, line and column number, so the syntactic properties of the function. However, the name that we report for functions is dynamic and can change (per closure) by explicitly reconfiguring the "name" property via ```js var f = function() { /* ... */ } Object.defineProperty(f, "name", {value: "super duper function"}); ``` for example, so we need to take that into account as well, and only use the cached `StackFrame` instance if the dynamic names still match up. Otherwise we just overwrite the cached entry with a new instance (the assumption here is that "name" isn't reconfigured often). Fixed: chromium:1274529 Bug: chromium:1268436 Change-Id: I519017c762aed5b4f93b9dc4553fa81d5979f1a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3306376 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/main@{#78127}
10 lines
208 B
Plaintext
10 lines
208 B
Plaintext
Regression test for crbug.com/1274529
|
|
|
|
Running test: test
|
|
Calling foo() with dynamic name "foo"
|
|
foo (foo.js:0:23)
|
|
(anonymous) (:0:0)
|
|
Calling foo() with dynamic name "bar"
|
|
bar (foo.js:0:23)
|
|
(anonymous) (:0:0)
|