DescriptionMIPS: Fix NaN value inconsistency with snapshots (alternate implementation).
The NaN values from roots and global object NaN property are incorrect
for MIPS HW when snapshot generated on simulator is used. This due to
difference in qNaN encoding on MIPS and ia32 architectures.
This version uses Erik's suggestion to find and replace all NaN heap
objects at serialization time, when performance is not an issue.
This must patch the bits without using type 'double', or debug (-O0)
builds will quiet the ia32 sNaN (same value as mips qNaN), which then
corrupts the bit pattern for mips.
BUG=
TEST=cctest/test-api/QuietSignalingNaNs, mjsunit/harmony/collections.js
Patch Set 1 #
Total comments: 2
Patch Set 2 : Rebased on r11222, removed unnessary function wrapper. #Patch Set 3 : Reverted previous approach, now implementing in serializer. #Patch Set 4 : Fix debug build, by removing use of HeapNumber::set_value() #Messages
Total messages: 14 (0 generated)
|