Unreviewed, fix 32bit and scope release
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 21 May 2018 16:45:35 +0000 (16:45 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 21 May 2018 16:45:35 +0000 (16:45 +0000)
https://bugs.webkit.org/show_bug.cgi?id=185682

* jit/JITOperations.cpp:
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emitSlow_op_in_by_id):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232017 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/jit/JITOperations.cpp
Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp

index 399fa28..a6dc21c 100644 (file)
@@ -1,3 +1,12 @@
+2018-05-21  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Unreviewed, fix 32bit and scope release
+        https://bugs.webkit.org/show_bug.cgi?id=185682
+
+        * jit/JITOperations.cpp:
+        * jit/JITPropertyAccess32_64.cpp:
+        (JSC::JIT::emitSlow_op_in_by_id):
+
 2018-05-20  Filip Pizlo  <fpizlo@apple.com>
 
         Revert the B3 compiler pipeline's treatment of taildup
index 76d72e2..fa456fa 100644 (file)
@@ -398,6 +398,7 @@ EncodedJSValue JIT_OPERATION operationInById(ExecState* exec, StructureStubInfo*
 
     LOG_IC((ICEvent::OperationInById, baseObject->classInfo(vm), ident));
 
+    scope.release();
     PropertySlot slot(baseObject, PropertySlot::InternalMethodType::HasProperty);
     return JSValue::encode(jsBoolean(baseObject->getPropertySlot(exec, ident, slot)));
 }
@@ -421,6 +422,7 @@ EncodedJSValue JIT_OPERATION operationInByIdGeneric(ExecState* exec, EncodedJSVa
 
     LOG_IC((ICEvent::OperationInByIdGeneric, baseObject->classInfo(vm), ident));
 
+    scope.release();
     PropertySlot slot(baseObject, PropertySlot::InternalMethodType::HasProperty);
     return JSValue::encode(jsBoolean(baseObject->getPropertySlot(exec, ident, slot)));
 }
@@ -444,6 +446,7 @@ EncodedJSValue JIT_OPERATION operationInByIdOptimize(ExecState* exec, StructureS
 
     LOG_IC((ICEvent::OperationInByIdOptimize, baseObject->classInfo(vm), ident));
 
+    scope.release();
     PropertySlot slot(baseObject, PropertySlot::InternalMethodType::HasProperty);
     bool found = baseObject->getPropertySlot(exec, ident, slot);
     if (stubInfo->considerCaching(exec->codeBlock(), baseObject->structure(vm)))
index 6041bc4..4ab9031 100644 (file)
@@ -801,7 +801,7 @@ void JIT::emitSlow_op_in_by_id(Instruction* currentInstruction, Vector<SlowCaseE
 
     Label coldPathBegin = label();
 
-    Call call = callOperationWithProfile(operationInByIdOptimize, resultVReg, gen.stubInfo(), JSValueRegs(regT1, regT0), ident->impl());
+    Call call = callOperation(operationInByIdOptimize, resultVReg, gen.stubInfo(), JSValueRegs(regT1, regT0), ident->impl());
 
     gen.reportSlowPathCall(coldPathBegin, call);
 }