WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED CONFIGURATION CHANGED
Bug 199203
Add B3 Strength Reduction to turn multiply-immediate to adds and shifts
https://bugs.webkit.org/show_bug.cgi?id=199203
Summary
Add B3 Strength Reduction to turn multiply-immediate to adds and shifts
Justin Michaud
Reported
2019-06-25 13:57:57 PDT
Add B3 Strength Reduction to turn multiply-immediate to adds and shifts
Attachments
Patch
(4.67 KB, patch)
2019-06-25 13:59 PDT
,
Justin Michaud
no flags
Details
Formatted Diff
Diff
Archive of layout-test-results from ews112 for mac-highsierra
(3.81 MB, application/zip)
2019-06-25 17:12 PDT
,
EWS Watchlist
no flags
Details
Patch
(7.43 KB, patch)
2019-06-25 17:13 PDT
,
Justin Michaud
no flags
Details
Formatted Diff
Diff
Patch
(7.17 KB, patch)
2019-07-11 10:41 PDT
,
Justin Michaud
ews-watchlist
: commit-queue-
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Justin Michaud
Comment 1
2019-06-25 13:59:29 PDT
Created
attachment 372861
[details]
Patch
EWS Watchlist
Comment 2
2019-06-25 14:00:46 PDT
Comment hidden (obsolete)
Attachment 372861
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/b3/B3ReduceStrength.cpp:766: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5] ERROR: Source/JavaScriptCore/b3/B3ReduceStrength.cpp:2223: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/b3/B3ReduceStrength.cpp:2225: Multi line control clauses should use braces. [whitespace/braces] [4] Total errors found: 3 in 2 files If any of these errors are false positives, please file a bug against check-webkit-style.
Justin Michaud
Comment 3
2019-06-25 14:01:29 PDT
Comment hidden (obsolete)
(wip patch)
EWS Watchlist
Comment 4
2019-06-25 17:12:24 PDT
Comment hidden (obsolete)
Comment on
attachment 372861
[details]
Patch
Attachment 372861
[details]
did not pass mac-debug-ews (mac): Output:
https://webkit-queues.webkit.org/results/12574953
New failing tests: webgl/2.0.0/conformance/canvas/drawingbuffer-hd-dpi-test.html js/slow-stress/variadic-closure-call.html fast/canvas/webgl/uninitialized-test.html imported/w3c/web-platform-tests/workers/interfaces/DedicatedWorkerGlobalScope/postMessage/imagedata-cloned-canvas-in-array.html webgl/1.0.2/conformance/misc/uninitialized-test.html fast/canvas/webgl/error-reporting.html webgl/2.0.0/conformance/misc/uninitialized-test.html
EWS Watchlist
Comment 5
2019-06-25 17:12:25 PDT
Comment hidden (obsolete)
Created
attachment 372880
[details]
Archive of layout-test-results from ews112 for mac-highsierra The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews112 Port: mac-highsierra Platform: Mac OS X 10.13.6
Justin Michaud
Comment 6
2019-06-25 17:13:48 PDT
Created
attachment 372881
[details]
Patch
Robin Morisset
Comment 7
2019-06-27 10:34:55 PDT
Comment on
attachment 372881
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=372881&action=review
LGTM overall, except for the bit count function, and the microbenchmark (see my comments inline). Thanks for taking care of this optimization, I've been thinking I should do it for a while.
> Source/JavaScriptCore/b3/B3ReduceStrength.cpp:2232 > + inline static unsigned bitCount64(uint64_t value)
WTF::bitCount already exists and is more optimized.
> JSTests/microbenchmarks/multiply-immediate.js:1 > +function doTest(max) {
There appears to be missing a Changelog for JSTests. Also can you put in the main changelog the performance win you found on this microbenchmark with the optimization?
> JSTests/microbenchmarks/multiply-immediate.js:4 > + sum = (sum|0) + ((i*256)|0) - ((i*9)|0) - ((i*31)|0) - ((i*67)|0) - ((i*64)|0)
What prevents B3 from simplifying this to sum = (sum|0) + (i*85)|0) ? If it fails to do it, it is probably another bug (I added rules to B3ReduceStrength a few month ago teaching it about the distributivity of multiplication over addition and subtraction precisely to catch this kind of things).
Robin Morisset
Comment 8
2019-06-27 11:18:27 PDT
Comment on
attachment 372881
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=372881&action=review
>> JSTests/microbenchmarks/multiply-immediate.js:4 >> + sum = (sum|0) + ((i*256)|0) - ((i*9)|0) - ((i*31)|0) - ((i*67)|0) - ((i*64)|0) > > What prevents B3 from simplifying this to sum = (sum|0) + (i*85)|0) ? > If it fails to do it, it is probably another bug (I added rules to B3ReduceStrength a few month ago teaching it about the distributivity of multiplication over addition and subtraction precisely to catch this kind of things).
I think I found the reason this code does not use the rules for the distributivity of multiplication over subtraction. The code above probably has the following parentheses: (((((sum+I*256)-I*9)-I*31)-I*67)-I*64) None of the subtractions are simplifiable, as the left-side is always too complicated (it is never a bare multiplication). I will open a new bug about this, it seems fairly easy to fix, with the following rule: Sub(Sub(a, b), c) => Sub(a, Add(b, c)). This would also allow more optimization later on in B3OptimizeAssociativeExpressionTrees, since it can deal with Add but not with Sub. For completeness sake, I should also add the following: Sub(a, Sub(b, c)) => Sub(Add(a, c), b) Sub(Neg(a), b) => Neg(Add(a, b)) Add(a, Sub(b, c)) <=> Sub(Add(a, b), c), not sure in which direction this one should go, but it could be a useful canonicalization. The <= direction would be needed for the last step of the reduction in this example (otherwise we would have (sum+I*256)-I*171, and be stuck).
Justin Michaud
Comment 9
2019-07-11 10:41:33 PDT
Created
attachment 373928
[details]
Patch This seems to be a perf regression on the simple add+multiply case, so I will try fixing the related bug first.
EWS Watchlist
Comment 10
2019-07-11 10:46:29 PDT
Attachment 373928
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/b3/B3ReduceStrength.cpp:795: Non-label code inside switch statements should be indented. [whitespace/indent] [4] ERROR: Source/JavaScriptCore/b3/B3ReduceStrength.cpp:797: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] Total errors found: 2 in 4 files If any of these errors are false positives, please file a bug against check-webkit-style.
EWS Watchlist
Comment 11
2019-07-11 14:09:04 PDT
Comment on
attachment 373928
[details]
Patch
Attachment 373928
[details]
did not pass jsc-ews (mac): Output:
https://webkit-queues.webkit.org/results/12717619
New failing tests: jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-double.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/destructuring-assignment.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/unicode-escape-sequences.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/weakref-async-is-collected.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-int52-change-format.js.layout jsc-layout-tests.yaml/js/script-tests/class-syntax-prototype.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-intrinsic-side-effect-assignment-osr-exit.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-reduce.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/throw-type-error-is-unique.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regress-150220.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-arguments-out-of-bounds.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-activation-register-overwritten-in-throw.js.layout jsc-layout-tests.yaml/js/script-tests/dfg-array-pop-value-clearing.js.layout-ftl-eager-no-cjit ChakraCore.yaml/ChakraCore/test/Operators/mul.js.default jsc-layout-tests.yaml/js/script-tests/Object-getOwnPropertyNames.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-uint32-to-number-in-middle-of-copy-propagation.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-array-pop-side-effects.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/sort-large-array.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-arguments-cross-code-origin.js.layout jsc-layout-tests.yaml/js/script-tests/dfg-mul-big-integer-with-small-integer-and-bitor.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-dead-variable-on-exit.js.layout jsc-layout-tests.yaml/js/script-tests/basic-spread.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-capture-throw-exception.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/fast/regex/script-tests/pcre-test-4.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regress-155776.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/object-bad-time.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regress-146029.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-float32array.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-dead-variable-on-exit.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/regress-151279.js.layout jsc-layout-tests.yaml/js/script-tests/function-call-aliased.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dictionary-prototype-caching.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-to-string-int-or-string.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/fast/regex/script-tests/pcre-test-1.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-activation-register-overwritten-in-throw.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-ensure-contiguous-on-string.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-uint32array-overflow-values.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/new-array-double-with-holes.js.layout-ftl-eager-no-cjit ChakraCore.yaml/ChakraCore/test/ControlFlow/enumeration_adddelete.js.default jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-escape.js.layout jsc-layout-tests.yaml/js/script-tests/for-in-modify-in-loop.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-abs-backwards-propagation.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/array-functions-non-arrays.js.layout-ftl-eager-no-cjit ChakraCore.yaml/ChakraCore/test/es5/defineIndexProperty.js.default jsc-layout-tests.yaml/js/script-tests/arguments.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/intl-datetimeformat.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/avl-crash.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/get-by-pname-non-final-object.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/arguments-iterator.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-iterate-backwards.js.layout-ftl-eager-no-cjit ChakraCore.yaml/ChakraCore/test/Operators/mod.js.default jsc-layout-tests.yaml/js/script-tests/dfg-ensure-contiguous-on-string.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/es6-function-properties.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/weakref-async-is-collected.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-array-push-bad-time.js.layout-ftl-eager-no-cjit ChakraCore.yaml/ChakraCore/test/Operators/strictequal.js.default jsc-layout-tests.yaml/fast/regex/script-tests/invalid-range-in-class.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-every.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-activation-register-overwritten-in-throw.js.layout-ftl-eager-no-cjit ChakraCore.yaml/ChakraCore/test/strict/22.callerCalleeArguments.js.default jsc-layout-tests.yaml/js/script-tests/dfg-arguments-cross-code-origin.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regress-139808.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-ensure-array-storage-on-string.js.layout jsc-layout-tests.yaml/js/script-tests/dfg-holy-put-by-val-interferes-with-get-array-length.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regexp-zero-length-alternatives.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-create-inlined-arguments-in-closure-inline.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-create-inlined-arguments-in-closure-inline.js.layout jsc-layout-tests.yaml/js/script-tests/repeat-cached-vm-reentry.js.layout-ftl-no-cjit ChakraCore.yaml/ChakraCore/test/UnifiedRegex/mru.js.default jsc-layout-tests.yaml/js/script-tests/dfg-max-backwards-propagation.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regexp-named-capture-groups.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/repeat-cached-vm-reentry.js.layout jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-become-int32.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/reentrant-caching.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/fast/regex/script-tests/backreferences.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/object-literal-shorthand-construction.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/weakref-eventually-collects-values.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/stack-trace.js.layout-ftl-eager-no-cjit ChakraCore.yaml/ChakraCore/test/Operators/instanceof.js.default jsc-layout-tests.yaml/js/script-tests/for-in-modify-in-loop.js.layout ChakraCore.yaml/ChakraCore/test/Lib/tostring.js.default jsc-layout-tests.yaml/js/script-tests/resolve-arguments-from-scope.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-int52-change-format.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/fast/regex/script-tests/repeat-match-waldemar.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-array-pop-side-effects.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/intl-numberformat.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-iterate-backwards.js.layout jsc-layout-tests.yaml/js/script-tests/function-toString-vs-name.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/comparefn-sort-stability.js.layout-ftl-eager-no-cjit ChakraCore.yaml/ChakraCore/test/Operators/equals.js.default ChakraCore.yaml/ChakraCore/test/typedarray/dataview.js.default jsc-layout-tests.yaml/js/script-tests/regexp-unicode.js.layout-ftl-eager-no-cjit ChakraCore.yaml/ChakraCore/test/strict/23.reservedWords_sm.js.default jsc-layout-tests.yaml/js/script-tests/array-iterate-backwards.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-proven-sqrt-backwards-propagation.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-use-from-all-the-places-broken.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/fast/regex/script-tests/ecma-regex-examples.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-int32.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-check-function-change-structure.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/typedarray-zero-size.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-use-directly-from-inlined-code.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/weakref-microtasks-dont-collect.js.layout jsc-layout-tests.yaml/js/script-tests/parser-syntax-check.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regexp-alternatives.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/string-capitalization.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regexp-sticky.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-indexing.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/typedarray-zero-size.js.layout jsc-layout-tests.yaml/js/script-tests/dfg-string-stricteq.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regress-146029.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/statement-list-item-syntax-errors.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-cfg-simplify-redundant-dead-get-local.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/fast/regex/script-tests/assertion.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-float64array.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regress-140579.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-iterators.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-of.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/reserved-words-strict.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-use-from-getter.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-slow-put.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-array-pop-value-clearing.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/sort-large-array.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-uint32array.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-uint32-to-number-skip-then-exit.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-to-string-on-cell.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-abs-backwards-propagation.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-arguments-mutated-structure.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-convert-this-dom-window.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/date-constructor.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/sort-randomly.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/get-by-pname.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-reset-changetype.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-min-backwards-propagation.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-ensure-array-storage-on-string.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/weakref-microtasks-dont-collect.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-abs-backwards-propagation.js.layout ChakraCore.yaml/ChakraCore/test/strict/23.reservedWords.js.default jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-use-from-uninlined-code.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/arrowfunction-syntax-errors.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-dead-variable-on-exit.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-array-pop-side-effects.js.layout jsc-layout-tests.yaml/js/script-tests/array-unscopables-properties.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/weakref-weakset-consistency.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-arrayify-elimination.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-join.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object.js.layout-ftl-eager-no-cjit ChakraCore.yaml/ChakraCore/test/Miscellaneous/HasOnlyWritableDataPropertiesCache.js.default ChakraCore.yaml/ChakraCore/test/UnifiedRegex/class-case.js.default jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-escape.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/object-literal-duplicate-properties.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-simple.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regexp-unicode-properties.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/typedarray-zero-size.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/comparison-operators.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-array-push-bad-time.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-arguments-cross-code-origin.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-arguments-mutated-structure.js.layout jsc-layout-tests.yaml/js/script-tests/dfg-arguments-mutated-structure.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-length-shortening.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regress-151279.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/apply-varargs.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/arrowfunction-lexical-bind-arguments-strict.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/function-apply-many-args.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-array-pop-value-clearing.js.layout jsc-layout-tests.yaml/js/script-tests/intl-collator.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regress-150220.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/sort-with-side-effecting-comparisons.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-create-inlined-arguments-in-closure-inline.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-branch-not-fail.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-convert-this-dom-window.js.layout jsc-layout-tests.yaml/js/script-tests/dfg-to-string-on-value.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/object-slow-put.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-sort-reentrance.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/arraybuffer-wrappers.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dictionary-no-cache.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/arrowfunction-lexical-bind-arguments-non-strict.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/comparison-operators-greater.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/comparison-operators-less.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/setPrototypeOf.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-ensure-array-storage-on-string.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-put-scoped-var-backward-flow.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/arguments-bad-index.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/basic-set.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-arguments-alias-escape.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regexp-in-and-foreach-handling.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-enumerators-functions.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-redundant-load-of-captured-variable-proven-constant.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/fast/regex/script-tests/dotstar.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/symbol-abstract-relational-comparison.js.layout-ftl-eager-no-cjit ChakraCore.yaml/ChakraCore/test/UnifiedRegex/WOOB1138949.js.default jsc-layout-tests.yaml/js/script-tests/array-sort-small-sparse-array-with-large-length.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-ensure-contiguous-on-string.js.layout jsc-layout-tests.yaml/js/script-tests/dfg-sqrt-backwards-propagation.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/basic-map.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/weakref-weakset-consistency.js.layout jsc-layout-tests.yaml/js/script-tests/string-sort.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-side-effect-assignment-osr-exit.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-bad-time.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/weakref-async-is-collected.js.layout jsc-layout-tests.yaml/js/script-tests/function-dot-arguments.js.layout-ftl-eager-no-cjit ChakraCore.yaml/ChakraCore/test/Array/array_slice.js.default jsc-layout-tests.yaml/js/script-tests/basic-for-of.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/sort-stability.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/date-set-to-nan.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/intl.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-int32array.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-get-by-val-clobber.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/repeat-cached-vm-reentry.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regress-151279.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regexp-many-brackets.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/weakref-microtasks-dont-collect.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/reserved-words.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-int32array-overflow-values.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/weakref-weakset-consistency.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-inline-arguments-use-from-all-the-places.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-cfg-simplify-redundant-dead-get-local.js.layout-ftl-no-cjit jsc-layout-tests.yaml/js/script-tests/array-reduceRight.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/integer-division-neg2tothe32-by-neg1.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-double-vote-fuzz.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/get-by-pname-that-looks-like-a-patchable-get-by-val.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/regress-150513.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/intl-pluralrules.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/for-in-modify-in-loop.js.layout-ftl-no-cjit jsc-layout-tests.yaml/fast/regex/script-tests/parentheses.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-filter.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/array-from.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-inline-identity.js.layout-ftl-eager-no-cjit jsc-layout-tests.yaml/js/script-tests/dfg-array-push-bad-time.js.layout apiTests
Justin Michaud
Comment 12
2024-04-08 13:37:11 PDT
Closing old bugs assigned to me
Justin Michaud
Comment 13
2024-04-08 13:37:33 PDT
Closing old bugs assigned to me
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug