• Jakob Linke's avatar
    Revert "[interpreter] Optimize strict equal boolean" · 3b772a23
    Jakob Linke authored
    This reverts commit 62632c08.
    
    Reason for revert: Performance regressions crbug.com/1315724
    
    Original change's description:
    > [interpreter] Optimize strict equal boolean
    >
    > For strict equal boolean literal like "a===true"
    > or "a===false", we could generate TestReferenceEqual
    > rather than TestStrictEqual. And in `execution_result()->IsTest()`
    > case, we could directly emit JumpIfTrue/JumpIfFalse.
    >
    > E.g.
    > ```
    > a === true
    > ```
    > Generated Bytecode From:
    > ```
    > LdaGlobal
    > Star1
    > LdaTrue
    > TestEqualStrict
    > ```
    > To:
    > ```
    > LdaGlobal
    > Star1
    > LdaTrue
    > TestReferenceEqual
    > ```
    >
    > E.g.
    > ```
    > if (a === true)
    > ```
    > Generated Bytecode From:
    > ```
    > LdaGlobal
    > Star1
    > LdaTrue
    > TestEqualStrict
    > JumpIfFalse
    > ```
    > To
    > ```
    > LdaGlobal
    > JumpIfTrue
    > Jump
    > ```
    >
    >
    > Bug: v8:6403
    > Change-Id: Ieaca147acd2d523ac0d2466e7861afb2d29a1310
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3568923
    > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
    > Commit-Queue: 王澳 <wangao.james@bytedance.com>
    > Cr-Commit-Position: refs/heads/main@{#79935}
    
    Bug: v8:6403, chromium:1315724
    Change-Id: I65c520590093724e838f738c795d229687efb9de
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3592752Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
    Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Commit-Queue: Jakob Linke <jgruber@chromium.org>
    Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
    Cr-Commit-Position: refs/heads/main@{#80010}
    3b772a23
bytecode-generator.h 22.9 KB