v8/test/mjsunit/asm
Jakob Gruber a56874d3eb [regexp] Early errors 🤯
This CL implements early SyntaxErrors for regular expressions. Early
errors are thrown when a malformed pattern is parsed, rather than when
the code first runs.

We do this by having the JS parser call into the regexp parser when
a regexp pattern is found. Regexps are expected to be relatively
rare, small, and cheap to parse - that's why we currently accept that
the regexp parser does unnecessary work (e.g. creating the AST
structures).

If needed, we can optimize in the future. Ideas:

- Split up the regexp parser to avoid useless work for syntax validation.
- Preserve parser results to avoid reparsing later.

Bug: v8:896
Change-Id: I3d1ec18c980ba94439576ac3764138552418b85d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3106647
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Patrick Thier <pthier@chromium.org>
Cr-Commit-Position: refs/heads/main@{#76502}
2021-08-26 11:33:39 +00:00
..
embenchen Fix copyright headers. 2014-11-12 13:29:57 +00:00
poppler Fix common misspellings 2017-08-02 09:35:28 +00:00
sqlite3 [mjsunit] Add custom tests based on SQLite 3.8.9. 2015-04-22 07:44:50 +00:00
asm-heap.js Reland "[asmjs] Properly validate asm.js heap sizes" 2018-08-21 09:00:04 +00:00
asm-memory.js [asm.js] Fix heap buffer checking during instantiation. 2017-04-27 14:47:03 +00:00
asm-stdlib.js [asm.js] Make validation of stdlib uses non-observable. 2017-05-10 16:29:05 +00:00
asm-validation.js [asm.js] Maintain global order of exported functions. 2017-05-12 12:11:06 +00:00
atomics-add.js [Atomics] Fix atomic access index validation 2016-03-25 21:52:52 +00:00
atomics-and.js [Atomics] Fix atomic access index validation 2016-03-25 21:52:52 +00:00
atomics-compareexchange.js [Atomics] Fix atomic access index validation 2016-03-25 21:52:52 +00:00
atomics-exchange.js [Atomics] Fix atomic access index validation 2016-03-25 21:52:52 +00:00
atomics-load.js [Atomics] Fix atomic access index validation 2016-03-25 21:52:52 +00:00
atomics-or.js [Atomics] Fix atomic access index validation 2016-03-25 21:52:52 +00:00
atomics-store.js [Atomics] Fix atomic access index validation 2016-03-25 21:52:52 +00:00
atomics-sub.js [Atomics] Fix atomic access index validation 2016-03-25 21:52:52 +00:00
atomics-xor.js [Atomics] Fix atomic access index validation 2016-03-25 21:52:52 +00:00
b5528-comma.js [V8][asm.js] Fixes a bug in comma-expression validation. 2016-10-18 19:05:42 +00:00
call-annotation.js [asm.js] Test and fix "|0" annotation of calls. 2017-04-13 10:38:22 +00:00
call-collisions.js [asm.js] Test and fix call kind collisions. 2017-04-11 10:05:03 +00:00
call-stdlib.js [asm.js] Remove deprecated --fast-validate-asm flag. 2017-05-04 13:52:39 +00:00
do-while-false.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
do-while.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
float32array-negative-offset.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
float32array-outofbounds.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
float32array-store-div.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
float64array-negative-offset.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
float64array-outofbounds.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
float64array-store-div.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
float64mul.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
global-imports.js [asm.js] Ensure coercion of imports is non-observable. 2017-06-20 13:55:35 +00:00
if-cloning.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
if-folding.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
if-reduction.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
if-tonumber.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
immutable.js [asm.js] Test and fix function (table) immutability. 2017-05-11 12:25:26 +00:00
infinite-loops-taken.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
infinite-loops.js Implement graph trimming in ControlReducer. 2014-10-17 11:51:57 +00:00
int8array-negative-offset.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
int16array-negative-offset.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
int16array-outofbounds.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
int32-div.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
int32-mod.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
int32-mul.js [asm.js] Fix numeric literal negation in multiplication. 2017-04-26 14:53:09 +00:00
int32-tmod.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
int32-udiv.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
int32-umod.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
int32array-constant-key.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
int32array-negative-offset.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
int32array-outofbounds.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
int32array-unaligned.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
int32div.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
int32mod-constant.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
int32mod.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
int32modb.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
load-elimination.js [test] Crash on invalid intrinsic use unless --fuzzing is on 2020-04-14 15:01:49 +00:00
math-abs.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
math-ceil.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
math-clz32.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
math-floor.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
math-fround.js Slightly adapt Math.fround test. 2014-09-25 08:44:15 +00:00
math-max.js [asm.js] Fix Math.min/max signatures to take signed. 2017-09-25 12:58:57 +00:00
math-min.js [asm.js] Fix Math.min/max signatures to take signed. 2017-09-25 12:58:57 +00:00
noexpose-wasm.js [asmjs] --validate-asm should not expose the WASM API. 2017-09-04 13:31:32 +00:00
pointer-masking.js [turbofan] Optimize silent hole checks on legacy const context slots. 2015-04-10 10:28:12 +00:00
redundancy1.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
redundancy2.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
regress-9531.js [arraybuffer] Use relaxed load/store for bitfield 2019-07-23 10:12:26 +00:00
regress-641885.js [wasm][asm.js] Exclude zero left hand side in arm64 isel. 2017-01-10 17:46:11 +00:00
regress-660813.js [wasm] [asm.js] Don't allow bad return types from a global constant 2016-11-08 23:32:04 +00:00
regress-669899.js [wasm] [asm.js] Ignore unused function tables in AsmWasmBuilder. 2016-12-01 02:27:30 +00:00
regress-672045.js [wasm] Remove obsolete %IsNotAsmWasmCode predicate. 2016-12-09 11:56:05 +00:00
regress-676573.js [wasm][asm.js] Ensure final validation phase runs. 2017-01-10 17:47:21 +00:00
regress-681707.js [wasm][asm.js] Check if a property key is a PropertyName before assumming it. 2017-01-18 06:49:21 +00:00
regress-718745.js [asm.js] Fix checking of "fround" in parameter annotation. 2017-05-05 12:45:53 +00:00
regress-719866.js [asm.js] Fix associativity of multiplicative expressions. 2017-06-01 13:03:03 +00:00
regress-740325.js [wasm] Improve precision of slow DCHECK for WebAssembly-constructed internal objects. 2017-07-10 13:49:34 +00:00
regress-913822.js [asm.js] Fix semicolon insertion in presence of comments. 2018-12-12 14:43:05 +00:00
regress-920076.js [asm.js] Fix semicolon insertion in presence of Unicode. 2019-01-09 12:38:41 +00:00
regress-937650.js [asm.js] Fix undefined behavior with float32 constants. 2019-03-07 08:56:37 +00:00
regress-1013920.js [asmjs] Disallow AsmJs instantiation from a SharedArrayBuffer. 2019-10-15 12:45:29 +00:00
regress-1027595.js [asm.js] Fix load type of {Float32Array} and {Float64Array}. 2019-11-25 14:47:08 +00:00
regress-1069173.js [asm] Fix globals initialized by '-0' 2020-08-28 15:19:16 +00:00
return-types.js [asm.js] Test and fix return type validation. 2017-05-10 08:40:53 +00:00
sign-extend.js [arm] Recognize SXTB, SXTH, UXTB and UXTH. 2014-11-10 05:49:17 +00:00
switch.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
uint8array-outofbounds.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
uint32-less-than-shift.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
uint32div.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
uint32mod-constant.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
uint32mod.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
word32and.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
word32ror.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00
zero-extend.js [asm] Fix lots of invalid asm.js tests 2017-02-14 09:26:52 +00:00