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(); |
} |