Ignore:
Timestamp:
Dec 14, 2021, 5:23:39 PM (3 years ago)
Author:
Ross Kirsling
Message:

[JSC] OpInstanceofCustom should be in CommonSlowPaths
https://bugs.webkit.org/show_bug.cgi?id=234316

Reviewed by Alexey Shvayka.

No tier has a fast path for OpInstanceofCustom and this is unlikely to change anytime soon.
As such, we should not be having LLInt and Baseline implement *separate* slow paths for this operation;
this patch straightforwardly makes use of CommonSlowPaths instead.

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_instanceof_custom): Deleted.
(JSC::JIT::emitSlow_op_instanceof_custom): Deleted.

  • llint/LLIntSlowPaths.cpp:
  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::JSC_DEFINE_COMMON_SLOW_PATH):

  • runtime/CommonSlowPaths.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/JIT.cpp

    r286424 r287058  
    314314        DEFINE_SLOW_OP(greater)
    315315        DEFINE_SLOW_OP(greatereq)
     316        DEFINE_SLOW_OP(instanceof_custom)
    316317        DEFINE_SLOW_OP(is_callable)
    317318        DEFINE_SLOW_OP(is_constructor)
     
    397398        DEFINE_OP(op_overrides_has_instance)
    398399        DEFINE_OP(op_instanceof)
    399         DEFINE_OP(op_instanceof_custom)
    400400        DEFINE_OP(op_is_empty)
    401401        DEFINE_OP(op_typeof_is_undefined)
     
    602602        DEFINE_SLOWCASE_OP(op_check_private_brand)
    603603        DEFINE_SLOWCASE_OP(op_instanceof)
    604         DEFINE_SLOWCASE_OP(op_instanceof_custom)
    605604        DEFINE_SLOWCASE_OP(op_jless)
    606605        DEFINE_SLOWCASE_OP(op_jlesseq)
Note: See TracChangeset for help on using the changeset viewer.