Author: [EMAIL PROTECTED]
Date: Fri Sep 26 16:14:43 2008
New Revision: 389
Modified:
branches/bleeding_edge/src/checks.h
Log:
Fix failing test caused by extra precision in register allocated fp values.
Review URL: http://codereview.chromium.org/5019
Modified: branches/bleeding_edge/src/checks.h
==============================================================================
--- branches/bleeding_edge/src/checks.h (original)
+++ branches/bleeding_edge/src/checks.h Fri Sep 26 16:14:43 2008
@@ -164,11 +164,18 @@
double expected,
const char* value_source,
double value) {
- if (expected != value) {
+ // Force values to 64 bit memory to truncate 80 bit precision on IA32.
+ volatile double* exp = new double[1];
+ *exp = expected;
+ volatile double* val = new double[1];
+ *val = value;
+ if (*exp != *val) {
V8_Fatal(file, line,
"CHECK_EQ(%s, %s) failed\n# Expected: %f\n# Found: %f",
- expected_source, value_source, expected, value);
+ expected_source, value_source, *exp, *val);
}
+ delete[] exp;
+ delete[] val;
}
--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---