Title: [157955] branches/safari-537.73-branch/Source/_javascript_Core
Revision
157955
Author
[email protected]
Date
2013-10-24 14:28:39 -0700 (Thu, 24 Oct 2013)

Log Message

Merged r154303.  <rdar://problem/15109405>

Modified Paths

Diff

Modified: branches/safari-537.73-branch/Source/_javascript_Core/ChangeLog (157954 => 157955)


--- branches/safari-537.73-branch/Source/_javascript_Core/ChangeLog	2013-10-24 21:23:04 UTC (rev 157954)
+++ branches/safari-537.73-branch/Source/_javascript_Core/ChangeLog	2013-10-24 21:28:39 UTC (rev 157955)
@@ -1,3 +1,65 @@
+2013-10-24  Lucas Forschler  <[email protected]>
+
+        Merge r154303
+
+    2013-08-18  Gavin Barraclough  <[email protected]>
+
+            https://bugs.webkit.org/show_bug.cgi?id=119995
+            Start removing custom implementations of getOwnPropertyDescriptor
+
+            Reviewed by Oliver Hunt.
+
+            This can now typically implemented in terms of getOwnPropertySlot.
+            Add a macro to PropertyDescriptor to define an implementation of GOPD in terms of GOPS.
+            Switch over most classes in JSC & the WebCore bindings generator to use this.
+
+            * API/JSCallbackObjectFunctions.h:
+            * debugger/DebuggerActivation.cpp:
+            * runtime/Arguments.cpp:
+            * runtime/ArrayConstructor.cpp:
+            * runtime/ArrayPrototype.cpp:
+            * runtime/BooleanPrototype.cpp:
+            * runtime/DateConstructor.cpp:
+            * runtime/DatePrototype.cpp:
+            * runtime/ErrorPrototype.cpp:
+            * runtime/JSActivation.cpp:
+            * runtime/JSArray.cpp:
+            * runtime/JSArrayBuffer.cpp:
+            * runtime/JSArrayBufferView.cpp:
+            * runtime/JSCell.cpp:
+            * runtime/JSDataView.cpp:
+            * runtime/JSDataViewPrototype.cpp:
+            * runtime/JSFunction.cpp:
+            * runtime/JSGenericTypedArrayViewInlines.h:
+            * runtime/JSNotAnObject.cpp:
+            * runtime/JSONObject.cpp:
+            * runtime/JSObject.cpp:
+            * runtime/NamePrototype.cpp:
+            * runtime/NumberConstructor.cpp:
+            * runtime/NumberPrototype.cpp:
+            * runtime/ObjectConstructor.cpp:
+                - Implement getOwnPropertySlot in terms of GET_OWN_PROPERTY_DESCRIPTOR_IMPL.
+            * runtime/PropertyDescriptor.h:
+                - Added GET_OWN_PROPERTY_DESCRIPTOR_IMPL macro.
+            * runtime/PropertySlot.h:
+            (JSC::PropertySlot::isValue):
+            (JSC::PropertySlot::isGetter):
+            (JSC::PropertySlot::isCustom):
+            (JSC::PropertySlot::isCacheableValue):
+            (JSC::PropertySlot::isCacheableGetter):
+            (JSC::PropertySlot::isCacheableCustom):
+            (JSC::PropertySlot::attributes):
+            (JSC::PropertySlot::getterSetter):
+                - Add accessors necessary to convert PropertySlot to descriptor.
+            * runtime/RegExpConstructor.cpp:
+            * runtime/RegExpMatchesArray.cpp:
+            * runtime/RegExpMatchesArray.h:
+            * runtime/RegExpObject.cpp:
+            * runtime/RegExpPrototype.cpp:
+            * runtime/StringConstructor.cpp:
+            * runtime/StringObject.cpp:
+                - Implement getOwnPropertySlot in terms of GET_OWN_PROPERTY_DESCRIPTOR_IMPL.
+
 2013-10-24  Oliver Hunt  <[email protected]>
 
         <https://webkit.org/b/119860> Crash during exception unwinding

Modified: branches/safari-537.73-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp (157954 => 157955)


--- branches/safari-537.73-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp	2013-10-24 21:23:04 UTC (rev 157954)
+++ branches/safari-537.73-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp	2013-10-24 21:28:39 UTC (rev 157955)
@@ -1106,6 +1106,10 @@
 
     switch (info.registerFormat()) {
     case DataFormatNone: {
+        if (info.spillFormat() == DataFormatInteger || info.spillFormat() == DataFormatDouble) {
+            terminateSpeculativeExecution(Uncountable, JSValueRegs(), 0);
+            return allocate();
+        }
 
         if (edge->hasConstant()) {
             JSValue jsValue = valueOfJSConstant(edge.node());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to