Changeset 242649 in webkit


Ignore:
Timestamp:
Mar 8, 2019 11:18:18 AM (5 years ago)
Author:
Tadeu Zagallo
Message:

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):

Location:
trunk
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/JSTests/ChangeLog

    r242626 r242649  
     12019-03-08  Tadeu Zagallo  <tzagallo@apple.com>
     2
     3        op_check_tdz does not def its argument
     4        https://bugs.webkit.org/show_bug.cgi?id=192880
     5        <rdar://problem/46221598>
     6
     7        Reviewed by Saam Barati.
     8
     9        * microbenchmarks/let-for-in.js: Added.
     10        (foo):
     11
    1122019-03-07  Yusuke Suzuki  <ysuzuki@apple.com>
    213
  • trunk/Source/JavaScriptCore/ChangeLog

    r242636 r242649  
     12019-03-08  Tadeu Zagallo  <tzagallo@apple.com>
     2
     3        op_check_tdz does not def its argument
     4        https://bugs.webkit.org/show_bug.cgi?id=192880
     5        <rdar://problem/46221598>
     6
     7        Reviewed by Saam Barati.
     8
     9        This prevented the for-in loop optimization in the bytecode generator, since
     10        the analysis sees a redefinition of the loop variable.
     11
     12        * bytecode/BytecodeUseDef.h:
     13        (JSC::computeDefsForBytecodeOffset):
     14
    1152019-03-07  Yusuke Suzuki  <ysuzuki@apple.com>
    216
  • trunk/Source/JavaScriptCore/bytecode/BytecodeUseDef.h

    r240138 r242649  
    296296    case op_throw:
    297297    case op_throw_static_error:
     298    case op_check_tdz:
    298299    case op_debug:
    299300    case op_ret:
     
    449450    DEFS(OpNewObject, dst)
    450451    DEFS(OpToThis, srcDst)
    451     DEFS(OpCheckTdz, targetVirtualRegister)
    452452    DEFS(OpGetScope, dst)
    453453    DEFS(OpCreateDirectArguments, dst)
Note: See TracChangeset for help on using the changeset viewer.