We have ASSERT which only fires when DOM object is wrongly implemented to catch wrong ones. We are using ASSERT in JSC side since we don't know all the DOM objects are correctly implemented. If it is not correctly implemented, in Release build, JSC is returning sub-optimal results. But in Debug build, we can catch the wrong ones, which allows us to fix the wrong thing while avoiding catastrophic crashes in release build. However, the test is assuming that ASSERT is not enabled if it is not Debug build. Release & Debug builds work, but Release+Assert does not meet this assumption. So, skip this based on `$vm.assertEnabled()`.
Created attachment 397713 [details] Patch
Created attachment 397715 [details] Patch
Comment on attachment 397715 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=397715&action=review r=me with suggestion > JSTests/stress/incorrect-put-could-generate-invalid-ic-involving-dictionary-flatten.js:19 > +if (!$vm.assertEnabled()) { Why not `if (!$vm.assertEnabled()) quit()`
Comment on attachment 397715 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=397715&action=review >> JSTests/stress/incorrect-put-could-generate-invalid-ic-involving-dictionary-flatten.js:19 >> +if (!$vm.assertEnabled()) { > > Why not `if (!$vm.assertEnabled()) quit()` Sounds good!
Committed r260784: <https://trac.webkit.org/changeset/260784>
<rdar://problem/62468324>