Modified: releases/WebKitGTK/webkit-2.18/Source/_javascript_Core/ChangeLog (220646 => 220647)
--- releases/WebKitGTK/webkit-2.18/Source/_javascript_Core/ChangeLog 2017-08-14 07:10:17 UTC (rev 220646)
+++ releases/WebKitGTK/webkit-2.18/Source/_javascript_Core/ChangeLog 2017-08-14 07:13:22 UTC (rev 220647)
@@ -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 Oleksandr Skachkov <gskach...@gmail.com>
REGRESSION: 2 test262/test/language/statements/async-function failures
Modified: releases/WebKitGTK/webkit-2.18/Source/_javascript_Core/jit/JITOperations.cpp (220646 => 220647)
--- releases/WebKitGTK/webkit-2.18/Source/_javascript_Core/jit/JITOperations.cpp 2017-08-14 07:10:17 UTC (rev 220646)
+++ releases/WebKitGTK/webkit-2.18/Source/_javascript_Core/jit/JITOperations.cpp 2017-08-14 07:13:22 UTC (rev 220647)
@@ -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: releases/WebKitGTK/webkit-2.18/Source/_javascript_Core/runtime/JSObjectInlines.h (220646 => 220647)
--- releases/WebKitGTK/webkit-2.18/Source/_javascript_Core/runtime/JSObjectInlines.h 2017-08-14 07:10:17 UTC (rev 220646)
+++ releases/WebKitGTK/webkit-2.18/Source/_javascript_Core/runtime/JSObjectInlines.h 2017-08-14 07:13:22 UTC (rev 220647)
@@ -218,6 +218,7 @@
return true;
}
+ scope.release();
return thisObject->putInlineSlow(exec, propertyName, value, slot);
}