diff options
author | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-03-25 17:00:47 +0200 |
---|---|---|
committer | janekptacijarabaci <janekptacijarabaci@seznam.cz> | 2018-03-25 17:00:47 +0200 |
commit | 727c27a30d10a811d5a3fe04e2407cd7b3993b5e (patch) | |
tree | ffca6abc0cae35533a84df6f19b88f31ca3ad97b /js/src/jit/MIR.h | |
parent | b311e8fa718e2a32805c25847781cc8a6a0541bd (diff) | |
download | UXP-727c27a30d10a811d5a3fe04e2407cd7b3993b5e.tar UXP-727c27a30d10a811d5a3fe04e2407cd7b3993b5e.tar.gz UXP-727c27a30d10a811d5a3fe04e2407cd7b3993b5e.tar.lz UXP-727c27a30d10a811d5a3fe04e2407cd7b3993b5e.tar.xz UXP-727c27a30d10a811d5a3fe04e2407cd7b3993b5e.zip |
Bug 1342553 - Part 0.2: Support JSOP_CHECKISCALLABLE in JIT
Issue #74
Diffstat (limited to 'js/src/jit/MIR.h')
-rw-r--r-- | js/src/jit/MIR.h | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h index 3caa7e357..2de91e2df 100644 --- a/js/src/jit/MIR.h +++ b/js/src/jit/MIR.h @@ -13455,8 +13455,9 @@ class MCheckIsObj { uint8_t checkKind_; - explicit MCheckIsObj(MDefinition* toCheck, uint8_t checkKind) - : MUnaryInstruction(toCheck), checkKind_(checkKind) + MCheckIsObj(MDefinition* toCheck, uint8_t checkKind) + : MUnaryInstruction(toCheck), + checkKind_(checkKind) { setResultType(MIRType::Value); setResultTypeSet(toCheck->resultTypeSet()); @@ -13475,6 +13476,33 @@ class MCheckIsObj } }; +class MCheckIsCallable + : public MUnaryInstruction, + public BoxInputsPolicy::Data +{ + uint8_t checkKind_; + + MCheckIsCallable(MDefinition* toCheck, uint8_t checkKind) + : MUnaryInstruction(toCheck), + checkKind_(checkKind) + { + setResultType(MIRType::Value); + setResultTypeSet(toCheck->resultTypeSet()); + setGuard(); + } + + public: + INSTRUCTION_HEADER(CheckIsCallable) + TRIVIAL_NEW_WRAPPERS + NAMED_OPERANDS((0, checkValue)) + + uint8_t checkKind() const { return checkKind_; } + + AliasSet getAliasSet() const override { + return AliasSet::None(); + } +}; + class MCheckObjCoercible : public MUnaryInstruction, public BoxInputsPolicy::Data |