op_check_tdz does not def its argument
authortzagallo@apple.com <tzagallo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Mar 2019 19:18:18 +0000 (19:18 +0000)
committertzagallo@apple.com <tzagallo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 8 Mar 2019 19:18:18 +0000 (19:18 +0000)
commit1cb71f76aa77e5b81cddf38451a05088016a8829
tree827e7e8c77e4971ab5caf70cddd0b45e06d16d3a
parent4e98cc5cf0690bb8ebdacd3d339a8b47724ca792
op_check_tdz does not def its argument
https://bugs.webkit.org/show_bug.cgi?id=192880
<rdar://problem/46221598>

Reviewed by Saam Barati.

JSTests:

* microbenchmarks/let-for-in.js: Added.
(foo):

Source/JavaScriptCore:

This prevented the for-in loop optimization in the bytecode generator, since
the analysis sees a redefinition of the loop variable.

* bytecode/BytecodeUseDef.h:
(JSC::computeDefsForBytecodeOffset):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242649 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JSTests/ChangeLog
JSTests/microbenchmarks/let-for-in.js [new file with mode: 0644]
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/bytecode/BytecodeUseDef.h