summaryrefslogtreecommitdiff
path: root/js/src/jit/CodeGenerator.cpp
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2022-05-21 16:38:37 +0000
committerMoonchild <moonchild@palemoon.org>2022-05-21 16:38:37 +0000
commit2694995e52a0bd767acac74f2306767d0a3720c9 (patch)
treed2a1198ccd0b8eab1b0b589b6900845aa3b87d5b /js/src/jit/CodeGenerator.cpp
parentf532bbd7af98d2cb543bf86b93b0e0e9fa1e9b2a (diff)
parent00c51f75fa4845f348708a796d552ca281f8210a (diff)
downloaduxp-2694995e52a0bd767acac74f2306767d0a3720c9.tar.gz
Merge branch 'master' into 12101210
Diffstat (limited to 'js/src/jit/CodeGenerator.cpp')
-rw-r--r--js/src/jit/CodeGenerator.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp
index ec3d35ff0b..66e8e25ddf 100644
--- a/js/src/jit/CodeGenerator.cpp
+++ b/js/src/jit/CodeGenerator.cpp
@@ -11518,6 +11518,24 @@ CodeGenerator::visitIsObjectAndBranch(LIsObjectAndBranch* ins)
}
void
+CodeGenerator::visitIsNullOrUndefined(LIsNullOrUndefined* ins)
+{
+ Register output = ToRegister(ins->output());
+ ValueOperand value = ToValue(ins, LIsNullOrUndefined::Input);
+
+ Label isNotNull, done;
+ masm.branchTestNull(Assembler::NotEqual, value, &isNotNull);
+
+ masm.move32(Imm32(1), output);
+ masm.jump(&done);
+
+ masm.bind(&isNotNull);
+ masm.testUndefinedSet(Assembler::Equal, value, output);
+
+ masm.bind(&done);
+}
+
+void
CodeGenerator::loadOutermostJSScript(Register reg)
{
// The "outermost" JSScript means the script that we are compiling