From e3f1d0d10638e46e3a22cf8363c03922200cb158 Mon Sep 17 00:00:00 2001 From: janekptacijarabaci Date: Mon, 19 Mar 2018 15:59:22 +0100 Subject: Part 3: Support JSOP_SETFUNNAME in Baseline and Ion Issue #87 --- js/src/jit/IonBuilder.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'js/src/jit/IonBuilder.cpp') diff --git a/js/src/jit/IonBuilder.cpp b/js/src/jit/IonBuilder.cpp index 1488d7d34..2e7784ff4 100644 --- a/js/src/jit/IonBuilder.cpp +++ b/js/src/jit/IonBuilder.cpp @@ -2122,6 +2122,9 @@ IonBuilder::inspectOpcode(JSOp op) case JSOP_LAMBDA_ARROW: return jsop_lambda_arrow(info().getFunction(pc)); + case JSOP_SETFUNNAME: + return jsop_setfunname(GET_UINT8(pc)); + case JSOP_ITER: return jsop_iter(GET_INT8(pc)); @@ -13339,6 +13342,21 @@ IonBuilder::jsop_lambda_arrow(JSFunction* fun) return resumeAfter(ins); } +bool +IonBuilder::jsop_setfunname(uint8_t prefixKind) +{ + MDefinition* name = current->pop(); + MDefinition* fun = current->pop(); + MOZ_ASSERT(fun->type() == MIRType::Object); + + MSetFunName* ins = MSetFunName::New(alloc(), fun, name, prefixKind); + + current->add(ins); + current->push(fun); + + return resumeAfter(ins); +} + bool IonBuilder::jsop_setarg(uint32_t arg) { -- cgit v1.2.3