Title: [221881] trunk/Source/_javascript_Core
Revision
221881
Author
[email protected]
Date
2017-09-11 15:16:38 -0700 (Mon, 11 Sep 2017)

Log Message

More exception check book-keeping needed found by 32-bit JSC test failures.
https://bugs.webkit.org/show_bug.cgi?id=176742

Reviewed by Michael Saboff and Keith Miller.

* dfg/DFGOperations.cpp:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (221880 => 221881)


--- trunk/Source/_javascript_Core/ChangeLog	2017-09-11 22:09:19 UTC (rev 221880)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-09-11 22:16:38 UTC (rev 221881)
@@ -1,5 +1,14 @@
 2017-09-11  Mark Lam  <[email protected]>
 
+        More exception check book-keeping needed found by 32-bit JSC test failures.
+        https://bugs.webkit.org/show_bug.cgi?id=176742
+
+        Reviewed by Michael Saboff and Keith Miller.
+
+        * dfg/DFGOperations.cpp:
+
+2017-09-11  Mark Lam  <[email protected]>
+
         Make jsc dump the command line if JSC_dumpOption environment variable is set with a non-zero value.
         https://bugs.webkit.org/show_bug.cgi?id=176722
 

Modified: trunk/Source/_javascript_Core/dfg/DFGOperations.cpp (221880 => 221881)


--- trunk/Source/_javascript_Core/dfg/DFGOperations.cpp	2017-09-11 22:09:19 UTC (rev 221880)
+++ trunk/Source/_javascript_Core/dfg/DFGOperations.cpp	2017-09-11 22:16:38 UTC (rev 221881)
@@ -571,13 +571,17 @@
 
     JSValue property = JSValue::decode(encodedProperty);
 
-    if (property.isUInt32())
+    if (property.isUInt32()) {
+        scope.release();
         return getByVal(exec, base, property.asUInt32());
+    }
     if (property.isDouble()) {
         double propertyAsDouble = property.asDouble();
         uint32_t propertyAsUInt32 = static_cast<uint32_t>(propertyAsDouble);
-        if (propertyAsUInt32 == propertyAsDouble)
+        if (propertyAsUInt32 == propertyAsDouble) {
+            scope.release();
             return getByVal(exec, base, propertyAsUInt32);
+        }
     } else if (property.isString()) {
         Structure& structure = *base->structure(vm);
         if (JSCell::canUseFastGetOwnProperty(structure)) {
@@ -590,6 +594,7 @@
 
     auto propertyName = property.toPropertyKey(exec);
     RETURN_IF_EXCEPTION(scope, encodedJSValue());
+    scope.release();
     return JSValue::encode(JSValue(base).get(exec, propertyName));
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to