From: floitschV8@gmail.com Date: Mon, 18 Oct 2010 16:37:19 +0000 (+0000) Subject: Disable double strtod in ARM-simulator. X-Git-Tag: upstream/4.7.83~21073 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=705a57266a45c56d240a324de7fb5ff81369c795;p=platform%2Fupstream%2Fv8.git Disable double strtod in ARM-simulator. The ARM simulator is compiled for 32bits. On Linux the floating-point operations are hence invalid for the simulator too. Fixes build-breakage. Review URL: http://codereview.chromium.org/3813009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/strtod.cc b/src/strtod.cc index 9af2fc3..ae278bd 100644 --- a/src/strtod.cc +++ b/src/strtod.cc @@ -152,11 +152,13 @@ uint64_t ReadUint64(Vector buffer) { static bool DoubleStrtod(Vector trimmed, int exponent, double* result) { -#if defined(V8_TARGET_ARCH_IA32) && !defined(WIN32) +#if (defined(V8_TARGET_ARCH_IA32) || defined(USE_SIMULATOR)) && !defined(WIN32) // On x86 the floating-point stack can be 64 or 80 bits wide. If it is // 80 bits wide (as is the case on Linux) then double-rounding occurs and the // result is not accurate. // We know that Windows32 uses 64 bits and is therefore accurate. + // Note that the ARM simulator is compiled for 32bits. It therefore exhibits + // the same problem. return false; #endif if (trimmed.length() <= kMaxExactDoubleIntegerDecimalDigits) {