]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - jit/JITOpcodes.cpp
JavaScriptCore-7600.1.4.15.12.tar.gz
[apple/javascriptcore.git] / jit / JITOpcodes.cpp
index de8adc45ca2c0d04dd20633a52ec2ba67a9dad74..25a843fcbade8e0dcf41b3b5285ad84da89c500e 100644 (file)
@@ -626,6 +626,11 @@ void JIT::emit_op_push_name_scope(Instruction* currentInstruction)
 
 void JIT::emit_op_catch(Instruction* currentInstruction)
 {
+    // Gotta restore the tag registers. We could be throwing from FTL, which may
+    // clobber them.
+    move(TrustedImm64(TagTypeNumber), tagTypeNumberRegister);
+    move(TrustedImm64(TagMask), tagMaskRegister);
+    
     move(TrustedImmPtr(m_vm), regT3);
     load64(Address(regT3, VM::callFrameForThrowOffset()), callFrameRegister);