Title: [183928] trunk/Source/_javascript_Core
- Revision
- 183928
- Author
- akl...@apple.com
- Date
- 2015-05-07 08:56:40 -0700 (Thu, 07 May 2015)
Log Message
Special-case Int32 values in JSON.stringify().
<https://webkit.org/b/144731>
Reviewed by Michael Saboff.
Add a fast path for serializing Int32 values to JSON. This is far faster than dragging
simple integers through the full-blown dtoa() machinery.
~50% speedup on Kraken/json-stringify-tinderbox.
* runtime/JSONObject.cpp:
(JSC::Stringifier::appendStringifiedValue):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (183927 => 183928)
--- trunk/Source/_javascript_Core/ChangeLog 2015-05-07 14:12:17 UTC (rev 183927)
+++ trunk/Source/_javascript_Core/ChangeLog 2015-05-07 15:56:40 UTC (rev 183928)
@@ -1,3 +1,18 @@
+2015-05-07 Andreas Kling <akl...@apple.com>
+
+ Special-case Int32 values in JSON.stringify().
+ <https://webkit.org/b/144731>
+
+ Reviewed by Michael Saboff.
+
+ Add a fast path for serializing Int32 values to JSON. This is far faster than dragging
+ simple integers through the full-blown dtoa() machinery.
+
+ ~50% speedup on Kraken/json-stringify-tinderbox.
+
+ * runtime/JSONObject.cpp:
+ (JSC::Stringifier::appendStringifiedValue):
+
2015-05-06 Ryosuke Niwa <rn...@webkit.org>
ToT WebKit crashes while loading ES6 compatibility table
Modified: trunk/Source/_javascript_Core/runtime/JSONObject.cpp (183927 => 183928)
--- trunk/Source/_javascript_Core/runtime/JSONObject.cpp 2015-05-07 14:12:17 UTC (rev 183927)
+++ trunk/Source/_javascript_Core/runtime/JSONObject.cpp 2015-05-07 15:56:40 UTC (rev 183928)
@@ -390,11 +390,15 @@
}
if (value.isNumber()) {
- double number = value.asNumber();
- if (!std::isfinite(number))
- builder.appendLiteral("null");
- else
- builder.appendECMAScriptNumber(number);
+ if (value.isInt32())
+ builder.appendNumber(value.asInt32());
+ else {
+ double number = value.asNumber();
+ if (!std::isfinite(number))
+ builder.appendLiteral("null");
+ else
+ builder.appendECMAScriptNumber(number);
+ }
return StringifySucceeded;
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes