summaryrefslogtreecommitdiffstats
path: root/js/src/jit/IonBuilder.cpp
diff options
context:
space:
mode:
authorGaming4JC <g4jc@hyperbola.info>2019-12-14 09:13:04 -0500
committerGaming4JC <g4jc@hyperbola.info>2019-12-17 06:25:27 -0500
commitbbd1fef7840d97801307f9ace021b52d94c5f61f (patch)
tree129d13b0e9b84264e1ceb2e4bf1e8d096abfc0e0 /js/src/jit/IonBuilder.cpp
parent8e2f6a75990b2eb0df4c5e5af46162b8b1013a04 (diff)
downloadUXP-bbd1fef7840d97801307f9ace021b52d94c5f61f.tar
UXP-bbd1fef7840d97801307f9ace021b52d94c5f61f.tar.gz
UXP-bbd1fef7840d97801307f9ace021b52d94c5f61f.tar.lz
UXP-bbd1fef7840d97801307f9ace021b52d94c5f61f.tar.xz
UXP-bbd1fef7840d97801307f9ace021b52d94c5f61f.zip
Bug 1331092 - Part 6: Support JSOP_TOASYNCGEN in JIT.
Tag #1287
Diffstat (limited to 'js/src/jit/IonBuilder.cpp')
-rw-r--r--js/src/jit/IonBuilder.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/js/src/jit/IonBuilder.cpp b/js/src/jit/IonBuilder.cpp
index af4ca0657..171518d38 100644
--- a/js/src/jit/IonBuilder.cpp
+++ b/js/src/jit/IonBuilder.cpp
@@ -2130,6 +2130,9 @@ IonBuilder::inspectOpcode(JSOp op)
case JSOP_TOASYNC:
return jsop_toasync();
+ case JSOP_TOASYNCGEN:
+ return jsop_toasyncgen();
+
case JSOP_TOID:
return jsop_toid();
@@ -13196,6 +13199,20 @@ IonBuilder::jsop_toasync()
}
bool
+IonBuilder::jsop_toasyncgen()
+{
+ MDefinition* unwrapped = current->pop();
+ MOZ_ASSERT(unwrapped->type() == MIRType::Object);
+
+ MToAsyncGen* ins = MToAsyncGen::New(alloc(), unwrapped);
+
+ current->add(ins);
+ current->push(ins);
+
+ return resumeAfter(ins);
+}
+
+bool
IonBuilder::jsop_toid()
{
// No-op if the index is an integer.