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/IonBuilder.cpp | |
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/IonBuilder.cpp')
-rw-r--r-- | js/src/jit/IonBuilder.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/js/src/jit/IonBuilder.cpp b/js/src/jit/IonBuilder.cpp index 26bba0656..ed09fb504 100644 --- a/js/src/jit/IonBuilder.cpp +++ b/js/src/jit/IonBuilder.cpp @@ -2183,6 +2183,9 @@ IonBuilder::inspectOpcode(JSOp op) case JSOP_CHECKISOBJ: return jsop_checkisobj(GET_UINT8(pc)); + case JSOP_CHECKISCALLABLE: + return jsop_checkiscallable(GET_UINT8(pc)); + case JSOP_CHECKOBJCOERCIBLE: return jsop_checkobjcoercible(); @@ -10900,6 +10903,15 @@ IonBuilder::jsop_checkisobj(uint8_t kind) } bool +IonBuilder::jsop_checkiscallable(uint8_t kind) +{ + MCheckIsCallable* check = MCheckIsCallable::New(alloc(), current->pop(), kind); + current->add(check); + current->push(check); + return true; +} + +bool IonBuilder::jsop_checkobjcoercible() { MDefinition* toCheck = current->peek(-1); |