diff options
author | Gaming4JC <g4jc@hyperbola.info> | 2019-12-14 09:13:04 -0500 |
---|---|---|
committer | Gaming4JC <g4jc@hyperbola.info> | 2019-12-17 06:25:27 -0500 |
commit | bbd1fef7840d97801307f9ace021b52d94c5f61f (patch) | |
tree | 129d13b0e9b84264e1ceb2e4bf1e8d096abfc0e0 /js/src/jit/CodeGenerator.cpp | |
parent | 8e2f6a75990b2eb0df4c5e5af46162b8b1013a04 (diff) | |
download | UXP-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/CodeGenerator.cpp')
-rw-r--r-- | js/src/jit/CodeGenerator.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp index 205812942..128947e5e 100644 --- a/js/src/jit/CodeGenerator.cpp +++ b/js/src/jit/CodeGenerator.cpp @@ -41,6 +41,7 @@ #include "jit/RangeAnalysis.h" #include "jit/SharedICHelpers.h" #include "vm/AsyncFunction.h" +#include "vm/AsyncIteration.h" #include "vm/MatchPairs.h" #include "vm/RegExpObject.h" #include "vm/RegExpStatics.h" @@ -10213,6 +10214,17 @@ CodeGenerator::visitToAsync(LToAsync* lir) callVM(ToAsyncInfo, lir); } +typedef JSObject* (*ToAsyncGenFn)(JSContext*, HandleFunction); +static const VMFunction ToAsyncGenInfo = + FunctionInfo<ToAsyncGenFn>(js::WrapAsyncGenerator, "ToAsyncGen"); + +void +CodeGenerator::visitToAsyncGen(LToAsyncGen* lir) +{ + pushArg(ToRegister(lir->unwrapped())); + callVM(ToAsyncGenInfo, lir); +} + typedef bool (*ToIdFn)(JSContext*, HandleScript, jsbytecode*, HandleValue, MutableHandleValue); static const VMFunction ToIdInfo = FunctionInfo<ToIdFn>(ToIdOperation, "ToIdOperation"); |