| Index: src/conversions.cc
|
| ===================================================================
|
| --- src/conversions.cc (revision 6635)
|
| +++ src/conversions.cc (working copy)
|
| @@ -702,26 +702,12 @@
|
|
|
|
|
| const char* DoubleToCString(double v, Vector<char> buffer) {
|
| - StringBuilder builder(buffer.start(), buffer.length());
|
| -
|
| switch (fpclassify(v)) {
|
| - case FP_NAN:
|
| - builder.AddString("NaN");
|
| - break;
|
| -
|
| - case FP_INFINITE:
|
| - if (v < 0.0) {
|
| - builder.AddString("-Infinity");
|
| - } else {
|
| - builder.AddString("Infinity");
|
| - }
|
| - break;
|
| -
|
| - case FP_ZERO:
|
| - builder.AddCharacter('0');
|
| - break;
|
| -
|
| + case FP_NAN: return "NaN";
|
| + case FP_INFINITE: return (v < 0.0 ? "-Infinity" : "Infinity");
|
| + case FP_ZERO: return "0";
|
| default: {
|
| + StringBuilder builder(buffer.start(), buffer.length());
|
| int decimal_point;
|
| int sign;
|
| const int kV8DtoaBufferCapacity = kBase10MaximalLength + 1;
|
| @@ -764,9 +750,9 @@
|
| if (exponent < 0) exponent = -exponent;
|
| builder.AddFormatted("%d", exponent);
|
| }
|
| + return builder.Finalize();
|
| }
|
| }
|
| - return builder.Finalize();
|
| }
|
|
|
|
|
|
|