v8/test
Joyee Cheung 80bbbb143c [class] handle existing readonly properties in StoreOwnIC
Previously, StoreOwnIC incorrectly reuses the [[Set]] semantics
when initializing public literal class fields and object literals in
certain cases (e.g. when there's no feedback).
This was less of an issue for object literals, but with public class
fields it's possible to define property attributes while the
instance is still being initialized, or to encounter existing static
"name" or "length" properties that should be readonly. This patch
fixes it by

1) Emitting code that calls into the slow stub when
   handling StoreOwnIC with existing read-only properties.
2) Adding extra steps in StoreIC::Store to handle such stores
   properly with [[DefineOwnProperty]] semantics.

Bug: v8:12421, v8:9888
Change-Id: I6547320a1caba58c66ee1043cd3183a2de7cefef
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3300092
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Joyee Cheung <joyee@igalia.com>
Cr-Commit-Position: refs/heads/main@{#78659}
2022-01-18 09:22:47 +00:00
..
benchmarks [test] kraken/audio-beat-detection is slow in jitless 2022-01-10 09:31:38 +00:00
bigint [bigint][test] Better random input generation 2021-09-08 15:39:27 +00:00
cctest [class] handle existing readonly properties in StoreOwnIC 2022-01-18 09:22:47 +00:00
common Revert "[wasm] Various small cleanups/fixes" 2022-01-18 09:20:42 +00:00
debugger Revert "[class] implement reparsing of class instance member initializers" 2021-12-09 08:59:12 +00:00
debugging [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
fuzzer [wasm] Update fuzzer corpus 2022-01-12 16:47:30 +00:00
fuzzilli Fix unhandled promise rejections in REPRL mode 2020-09-30 13:34:23 +00:00
inspector [inspector] Capture stack trace only once for JSError objects. 2022-01-10 14:55:18 +00:00
intl [intl] Update Intl.Locale.weekInfo sync latest 2021-11-30 23:17:28 +00:00
js-perf-test [js-perf-test] Performance benchmarks for BigInt left and right shift 2021-12-02 14:16:15 +00:00
memory [snapshot] Fix the Memory.json benchmark 2021-04-28 07:54:34 +00:00
message Reland "[top-level-await] Remove --harmony-top-level-await" 2021-12-06 23:02:33 +00:00
mjsunit [class] handle existing readonly properties in StoreOwnIC 2022-01-18 09:22:47 +00:00
mkgrokdump V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
mozilla Reland "[test] Unmark TSAN tests as SLOW/SKIP" 2021-06-28 10:19:20 +00:00
test262 [Temporal] Implement getter with division 2022-01-14 08:46:29 +00:00
torque [builtins] catch and rethrow the message together with the exception 2021-12-06 22:14:56 +00:00
unittests [compiler] Remove support for --no-concurrent-inlining 2022-01-17 11:29:48 +00:00
wasm-api-tests [wasm][test] Cleanup macros 2021-09-24 16:47:54 +00:00
wasm-js [wasm] Introduce 'funcref' for the type reflection proposal 2021-12-10 20:09:12 +00:00
wasm-spec-tests [wasm] Remove --experimental-wasm-reftypes flag 2021-12-13 14:29:15 +00:00
webkit [test] Disable failing MSVC test 2021-12-01 15:51:59 +00:00
BUILD.gn Reland^2 "[bigint] Karatsuba multiplication" 2021-06-07 11:01:14 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00