v8/test/mjsunit/harmony
Joshua Litt 891f5dd4cd [regexp] Force RegExpResult to slow lookup hidden internal fields.
Currently, RegExpResult builds match indices lazily using data stored
in hidden internal fields on the result object itself. Unfortunately,
if an internal field is deleted, it can cause these hidden fields
to migrate to a dictionary, making indexed lookup unsafe. This CL
forces slow but safe lookup for these fields when lazily building
indices.

Bug: v8:9548, chromium:1013133
Change-Id: Ide87d9ca6a73644ced3de8e35ecac26330d365e4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1871756
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Joshua Litt <joshualitt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64474}
2019-10-22 14:04:22 +00:00
..
bigint [turbofan] Push BigInt truncation over addition and heap constants 2019-07-12 09:05:29 +00:00
regress Remove always-true --harmony-object-from-entries runtime flag 2019-06-24 15:01:01 +00:00
weakrefs [WeakRefs] Make cleanup callback run as a task 2019-07-30 12:19:39 +00:00
array-concat-array-proto-getter.js
array-concat-array-proto.js
array-concat-object-proto-dict-getter.js
array-concat-object-proto-dict.js
array-concat-object-proto-generic-dict.js
array-concat-object-proto.js
array-flat-species.js Remove always-true --harmony-array-flat runtime flag 2019-02-02 17:54:27 +00:00
array-flat.js Remove always-true --harmony-array-flat runtime flag 2019-02-02 17:54:27 +00:00
array-flatMap-species.js Remove always-true --harmony-array-flat runtime flag 2019-02-02 17:54:27 +00:00
array-flatMap.js Remove always-true --harmony-array-flat runtime flag 2019-02-02 17:54:27 +00:00
array-sort-comparefn.js
async-await-optimization.js
async-for-of-non-iterable.js
async-from-sync-iterator-next-tick-count.js [await] Add async iterator tests for await optimization 2019-04-03 17:42:51 +00:00
async-from-sync-iterator-return-tick-count.js [await] Add async iterator tests for await optimization 2019-04-03 17:42:51 +00:00
async-from-sync-iterator-throw-tick-count.js [await] Add async iterator tests for await optimization 2019-04-03 17:42:51 +00:00
async-from-sync-iterator.js Replace %RunMicrotasks with %PerformMicrotaskCheckpoint 2018-12-06 11:10:18 +00:00
async-generators-basic.js Replace %RunMicrotasks with %PerformMicrotaskCheckpoint 2018-12-06 11:10:18 +00:00
async-generators-resume-return.js
async-generators-return.js
async-generators-yield.js
async-iterators-resolve.js [await] Update async iterators to return a rejected promise on error 2019-03-18 18:32:58 +00:00
atomics-notify.js
atomics-value-check.js
atomics.js [atomics] Make IsLockFree handle 8 bytes 2019-08-06 13:03:47 +00:00
bigintarray-keyedstore-tobigint.js
block-lazy-compile.js [Test] Add PrepareForOptimization to some mjsunit tests. 2019-05-03 13:32:32 +00:00
dataview-accessors.js
for-await-of.js Replace %RunMicrotasks with %PerformMicrotaskCheckpoint 2018-12-06 11:10:18 +00:00
function-tostring.js
futex.js
generators-reduced.js [Test] Add PrepareForOptimization to some mjsunit tests. 2019-05-03 13:32:32 +00:00
generators.js [Test] Add PrepareForOptimization to some mjsunit tests. 2019-05-03 13:32:32 +00:00
global-configurable.js Remove always-true --harmony-global runtime flag 2019-06-26 09:47:14 +00:00
global-writable.js Remove always-true --harmony-global runtime flag 2019-06-26 09:47:14 +00:00
global.js Remove always-true --harmony-global runtime flag 2019-06-26 09:47:14 +00:00
harmony-string-pad-end.js
harmony-string-pad-start.js
hashbang-eval.js Remove always-enabled --harmony-hashbang flag 2019-06-11 15:47:08 +00:00
import-from-compilation-errored.js [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
import-from-evaluation-errored.js [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
import-from-fetch-errored.js Replace %RunMicrotasks with %PerformMicrotaskCheckpoint 2018-12-06 11:10:18 +00:00
import-from-instantiation-errored.js [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
module-parsing-eval.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-1.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-2.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-3.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-4.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-5.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-6.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-7.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-8.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-9.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-10.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-11.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-12.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-13.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-14.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-15-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-15.mjs [top-level-await] Add support for top level await to d8 2019-09-20 16:04:49 +00:00
modules-import-16.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-17.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-large.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-meta.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-namespace.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-rqstd-order-top-level-await-1.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-rqstd-order-top-level-await-2.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-rqstd-order-top-level-await-3.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-rqstd-order-top-level-await-4.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-rqstd-order-top-level-await-5.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-rqstd-order-top-level-await-6.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-rqstd-order-top-level-await-7.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-rqstd-order-top-level-await-8.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-1.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-2.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-3.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-4.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-5.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-6.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-7.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-8.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-cycle.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-exception-1.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-exception-2.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-exception-3.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-1-rqstd-order-indirect-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-1-rqstd-order-indirect-unreached-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-1-rqstd-order-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-1-rqstd-order-unreached-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-1-rqstd-order.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-1-top-level-await-cycle.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-1-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-1.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-2-rqstd-order-indirect-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-2-rqstd-order-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-2-rqstd-order.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-2-top-level-await-cycle.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-2-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-2.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-3-rqstd-order-indirect-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-3-rqstd-order-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-3-rqstd-order.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-3-top-level-await-cycle.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-3-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-3.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-4-rqstd-order-indirect-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-4-rqstd-order-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-4-rqstd-order.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-4-top-level-await-cycle.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-4-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-4.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-5-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-5.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-6-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-6.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-7-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-7.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-8.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-9.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-10.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-11.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-12.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-13.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-empty.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-export-import-meta.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-large1.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-large2.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
nullish.js [nullish] Add support for nullish operator 2019-08-21 15:48:34 +00:00
numeric-separator.js [harmony-numeric-separator] remove flag 2019-08-01 10:10:24 +00:00
object-fromentries.js Remove always-true --harmony-object-from-entries runtime flag 2019-06-24 15:01:01 +00:00
optional-catch-binding-breaks.js
optional-catch-binding.js
optional-chaining.js [optional-chaining] Disallow optional chaining with private names. 2019-10-21 15:18:00 +00:00
private-accessors.js [class] fix undefined private name access in computed property keys 2019-10-10 19:43:01 +00:00
private-fields-ic.js [class] Remove flags for class fields 2019-05-01 02:02:51 +00:00
private-fields-special-object.js [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
private-fields-static.js [class] Remove flags for class fields 2019-05-01 02:02:51 +00:00
private-fields.js [class] fix undefined private name access in computed property keys 2019-10-10 19:43:01 +00:00
private-methods.js [class] fix undefined private name access in computed property keys 2019-10-10 19:43:01 +00:00
private-name-scopes.js [class] Fix private name scope chain 2019-09-06 00:52:07 +00:00
private-symbols.js
private.js
promise-all-settled.js [ESNext] Implement Promise.allSettled 2019-04-12 17:49:17 +00:00
promise-prototype-finally.js
public-instance-class-fields.js [class] Remove flags for class fields 2019-05-01 02:02:51 +00:00
public-static-class-fields.js [class] Remove flags for class fields 2019-05-01 02:02:51 +00:00
regexp-change-exec.js
regexp-dotall.js
regexp-match-indices.js [regexp] Force RegExpResult to slow lookup hidden internal fields. 2019-10-22 14:04:22 +00:00
regexp-named-captures.js [regexp] Fix the order of named captures on the groups object 2019-10-16 07:37:05 +00:00
regexp-overriden-exec.js [turbofan] Brokerize reduction of RegExp.prototype.test 2019-07-17 11:40:51 +00:00
regexp-property-binary.js
regexp-property-char-class.js
regexp-property-emoji-flag-sequence-generated.js [regexp] Update RegExp property sequence data to Unicode 12 2019-03-06 10:59:12 +00:00
regexp-property-emoji-keycap-sequence-generated.js [regexp] Update RegExp property sequence data to Unicode 12 2019-03-06 10:59:12 +00:00
regexp-property-emoji-modifier-sequence-generated.js [regexp] Update RegExp property sequence data to Unicode 12 2019-03-06 10:59:12 +00:00
regexp-property-emoji-tag-sequence-generated.js [regexp] Update RegExp property sequence data to Unicode 12 2019-03-06 10:59:12 +00:00
regexp-property-emoji-zwj-sequence-generated.js [regexp] Update RegExp property sequence data to Unicode 12 2019-03-06 10:59:12 +00:00
regexp-property-enumerated.js
regexp-property-exact-match.js
regexp-property-general-category.js
regexp-property-invalid.js
regexp-property-lu-ui0.js
regexp-property-lu-ui1.js
regexp-property-lu-ui2.js
regexp-property-lu-ui3.js
regexp-property-lu-ui4.js
regexp-property-lu-ui5.js
regexp-property-lu-ui6.js
regexp-property-lu-ui7.js
regexp-property-lu-ui8.js
regexp-property-lu-ui9.js
regexp-property-lu-ui.js
regexp-property-script-extensions.js
regexp-property-scripts.js
regexp-property-sequence.js
regexp-property-special.js
regress-generators-resume.js [Test] Add PrepareForOptimization to some mjsunit tests. 2019-05-03 13:32:32 +00:00
set-prototype-of.js
sharedarraybuffer-stress.js [ubsan] Make ARM and ARM64 UBSan-clean 2019-09-16 15:03:45 +00:00
sharedarraybuffer-worker-gc-stress.js [mjsunit] Add more tests for shared array buffers / memories 2019-07-17 14:08:38 +00:00
sharedarraybuffer.js [arraybuffer] Uncomment test/mjsunit/harmony/sharedarraybuffer.js 2019-04-30 18:36:28 +00:00
static-private-methods.js [class] implement static private methods 2019-10-10 15:34:44 +00:00
string-matchAll-deleted-matchAll.js Remove always-true --harmony-string-matchall runtime flag 2019-04-25 10:46:05 +00:00
string-matchAll.js [regexp] Modify matchAll to throw on non-globals. 2019-10-16 13:34:15 +00:00
symbol-async-iterator.js
symbol-description.js Remove always-true --harmony-symbol-description runtime flag 2019-02-14 10:36:05 +00:00
to-length.js
to-name.js
to-number.js
to-string.js Port ToString to Torque 2019-04-23 13:55:11 +00:00
trailing-commas-length.js
well-formed-json-stringify-checked.js Remove always-true --harmony-json-stringify runtime flag 2019-04-24 14:51:09 +00:00
well-formed-json-stringify-unchecked.js Remove always-true --harmony-json-stringify runtime flag 2019-04-24 14:51:09 +00:00