diff options
author | Gaming4JC <g4jc@hyperbola.info> | 2019-12-14 09:22:32 -0500 |
---|---|---|
committer | Gaming4JC <g4jc@hyperbola.info> | 2019-12-17 06:25:28 -0500 |
commit | 580dfb2afbef15764b56714f3eb690a67f0af9c1 (patch) | |
tree | 7f60e914b45f30a9e4e585b884cd5ca2d5827055 /js/src/jit/IonBuilder.cpp | |
parent | ef44324d916b89b95fa0ea77a3d91eafb4359bf8 (diff) | |
download | UXP-580dfb2afbef15764b56714f3eb690a67f0af9c1.tar UXP-580dfb2afbef15764b56714f3eb690a67f0af9c1.tar.gz UXP-580dfb2afbef15764b56714f3eb690a67f0af9c1.tar.lz UXP-580dfb2afbef15764b56714f3eb690a67f0af9c1.tar.xz UXP-580dfb2afbef15764b56714f3eb690a67f0af9c1.zip |
Bug 1331092 - Part 8: Support JSOP_TOASYNCITER in JIT.
Tag #1287
Diffstat (limited to 'js/src/jit/IonBuilder.cpp')
-rw-r--r-- | js/src/jit/IonBuilder.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/js/src/jit/IonBuilder.cpp b/js/src/jit/IonBuilder.cpp index 171518d38..1e12f5dbe 100644 --- a/js/src/jit/IonBuilder.cpp +++ b/js/src/jit/IonBuilder.cpp @@ -2133,6 +2133,9 @@ IonBuilder::inspectOpcode(JSOp op) case JSOP_TOASYNCGEN: return jsop_toasyncgen(); + case JSOP_TOASYNCITER: + return jsop_toasynciter(); + case JSOP_TOID: return jsop_toid(); @@ -13213,6 +13216,20 @@ IonBuilder::jsop_toasyncgen() } bool +IonBuilder::jsop_toasynciter() +{ + MDefinition* unwrapped = current->pop(); + MOZ_ASSERT(unwrapped->type() == MIRType::Object); + + MToAsyncIter* ins = MToAsyncIter::New(alloc(), unwrapped); + + current->add(ins); + current->push(ins); + + return resumeAfter(ins); +} + +bool IonBuilder::jsop_toid() { // No-op if the index is an integer. |