Title: [220471] trunk/Source/_javascript_Core
Revision
220471
Author
commit-qu...@webkit.org
Date
2017-08-09 11:31:24 -0700 (Wed, 09 Aug 2017)

Log Message

Make JSC_validateExceptionChecks=1 succeed on JSTests/stress/v8-deltablue-strict.js.
https://bugs.webkit.org/show_bug.cgi?id=175358

Patch by Robin Morisset <rmoris...@apple.com> on 2017-08-09
Reviewed by Mark Lam.

* jit/JITOperations.cpp:
* runtime/JSObjectInlines.h:
(JSC::JSObject::putInlineForJSObject):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (220470 => 220471)


--- trunk/Source/_javascript_Core/ChangeLog	2017-08-09 18:24:25 UTC (rev 220470)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-08-09 18:31:24 UTC (rev 220471)
@@ -1,3 +1,14 @@
+2017-08-09  Robin Morisset  <rmoris...@apple.com>
+
+        Make JSC_validateExceptionChecks=1 succeed on JSTests/stress/v8-deltablue-strict.js.
+        https://bugs.webkit.org/show_bug.cgi?id=175358
+
+        Reviewed by Mark Lam.
+
+        * jit/JITOperations.cpp:
+        * runtime/JSObjectInlines.h:
+        (JSC::JSObject::putInlineForJSObject):
+
 2017-08-09  Ryan Haddad  <ryanhad...@apple.com>
 
         Unreviewed, rolling out r220457.

Modified: trunk/Source/_javascript_Core/jit/JITOperations.cpp (220470 => 220471)


--- trunk/Source/_javascript_Core/jit/JITOperations.cpp	2017-08-09 18:24:25 UTC (rev 220470)
+++ trunk/Source/_javascript_Core/jit/JITOperations.cpp	2017-08-09 18:31:24 UTC (rev 220471)
@@ -956,7 +956,6 @@
         JSObject* error = functionExecutable->prepareForExecution<FunctionExecutable>(*vm, callee, scope, kind, *codeBlockSlot);
         ASSERT(throwScope.exception() == reinterpret_cast<Exception*>(error));
         if (error) {
-            throwException(exec, throwScope, error);
             return encodeResult(
                 vm->getCTIStub(throwExceptionFromCallSlowPathGenerator).code().executableAddress(),
                 reinterpret_cast<void*>(KeepTheFrame));
@@ -1014,11 +1013,9 @@
         RELEASE_ASSERT(isCall(kind) || functionExecutable->constructAbility() != ConstructAbility::CannotConstruct);
         
         JSObject* error = functionExecutable->prepareForExecution<FunctionExecutable>(*vm, callee, scope, kind, codeBlock);
-        ASSERT(throwScope.exception() == reinterpret_cast<Exception*>(error));
-        if (error) {
-            throwException(exec, throwScope, error);
+        ASSERT_UNUSED(throwScope, throwScope.exception() == reinterpret_cast<Exception*>(error));
+        if (error)
             return;
-        }
         ArityCheckMode arity;
         unsigned argumentStackSlots = callLinkInfo->maxNumArguments();
         if (argumentStackSlots < static_cast<size_t>(codeBlock->numParameters()))
@@ -1061,8 +1058,8 @@
 
         CodeBlock** codeBlockSlot = execCallee->addressOfCodeBlock();
         JSObject* error = functionExecutable->prepareForExecution<FunctionExecutable>(*vm, function, scope, kind, *codeBlockSlot);
+        ASSERT(throwScope.exception() == reinterpret_cast<Exception*>(error));
         if (error) {
-            throwException(exec, throwScope, error);
             return encodeResult(
                 vm->getCTIStub(throwExceptionFromCallSlowPathGenerator).code().executableAddress(),
                 reinterpret_cast<void*>(KeepTheFrame));

Modified: trunk/Source/_javascript_Core/runtime/JSObjectInlines.h (220470 => 220471)


--- trunk/Source/_javascript_Core/runtime/JSObjectInlines.h	2017-08-09 18:24:25 UTC (rev 220470)
+++ trunk/Source/_javascript_Core/runtime/JSObjectInlines.h	2017-08-09 18:31:24 UTC (rev 220471)
@@ -218,6 +218,7 @@
         return true;
     }
 
+    scope.release();
     return thisObject->putInlineSlow(exec, propertyName, value, slot);
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to