summaryrefslogtreecommitdiffstats
path: root/js/src/jit/MIR.h
diff options
context:
space:
mode:
authorjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-03-25 17:00:47 +0200
committerjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-03-25 17:00:47 +0200
commit727c27a30d10a811d5a3fe04e2407cd7b3993b5e (patch)
treeffca6abc0cae35533a84df6f19b88f31ca3ad97b /js/src/jit/MIR.h
parentb311e8fa718e2a32805c25847781cc8a6a0541bd (diff)
downloadUXP-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.h32
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