diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-04-06 13:24:25 -0400 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-06-07 04:02:17 +0200 |
commit | ff901dc5267903b165c53139ddcff5f31bbf6964 (patch) | |
tree | ab177a9db308073fc699417b857841f4ca6eebba /js/src/jit/shared | |
parent | 12e3ee76966664ca0330738a07c7afb9fd754857 (diff) | |
download | UXP-ff901dc5267903b165c53139ddcff5f31bbf6964.tar UXP-ff901dc5267903b165c53139ddcff5f31bbf6964.tar.gz UXP-ff901dc5267903b165c53139ddcff5f31bbf6964.tar.lz UXP-ff901dc5267903b165c53139ddcff5f31bbf6964.tar.xz UXP-ff901dc5267903b165c53139ddcff5f31bbf6964.zip |
Change inlining of intrinsics.
Diffstat (limited to 'js/src/jit/shared')
-rw-r--r-- | js/src/jit/shared/LIR-shared.h | 23 | ||||
-rw-r--r-- | js/src/jit/shared/LOpcodes-shared.h | 1 |
2 files changed, 24 insertions, 0 deletions
diff --git a/js/src/jit/shared/LIR-shared.h b/js/src/jit/shared/LIR-shared.h index 9dcb527c5..f4adcc63c 100644 --- a/js/src/jit/shared/LIR-shared.h +++ b/js/src/jit/shared/LIR-shared.h @@ -7867,6 +7867,29 @@ class LHasClass : public LInstructionHelper<1, 1, 0> } }; +class LGuardToClass : public LInstructionHelper<1, 1, 1> +{ + public: + LIR_HEADER(GuardToClass); + explicit LGuardToClass(const LAllocation& lhs, const LDefinition& temp) + { + setOperand(0, lhs); + setTemp(0, temp); + } + + const LAllocation* lhs() { + return getOperand(0); + } + + const LDefinition* temp() { + return getTemp(0); + } + + MGuardToClass* mir() const { + return mir_->toGuardToClass(); + } +}; + template<size_t Defs, size_t Ops> class LWasmSelectBase : public LInstructionHelper<Defs, Ops, 0> { diff --git a/js/src/jit/shared/LOpcodes-shared.h b/js/src/jit/shared/LOpcodes-shared.h index 3eea1b449..fe2ab5ea3 100644 --- a/js/src/jit/shared/LOpcodes-shared.h +++ b/js/src/jit/shared/LOpcodes-shared.h @@ -386,6 +386,7 @@ _(IsObject) \ _(IsObjectAndBranch) \ _(HasClass) \ + _(GuardToClass) \ _(RecompileCheck) \ _(MemoryBarrier) \ _(AssertRangeI) \ |