Closed mtbrandy closed 11 years ago
After we have an implementation of this routine, the following commits should be reverted (such that the code uses EmitECMATruncate rather than the temporary helper functions):
13f13aeb9 GenerateStoreExternalArray: implement missing double to int conversion 54a545f2d Add FloatingPointHelper::ConvertDoubleToInt/ConvertDoubleToUnsignedInt for use by GenerateStoreExternalArray.
I'll take this one. Here is one test case to start with:
out/ppc.debug/d8 test/mjsunit/mjsunit.js test/mjsunit/array-indexing.js
Hit ARM opcode: 64(FAKE_OPCODE defined in constant-ppc.h)
#
Implemented EmitECMATruncate in 080a5d47778d123479b8e14343452c32416675b3. Will address GenerateStoreExternalArray and ConvertDoubleToInt in next fix.
Now, array-indexing.js passes in simulator mode, but time-out in native-ppc (not sure if it's related to this fix or not, will track it separately).
Fixed a bug in native-ppc mapping (c83bf2860dd6559438c8ed1938bd51f776d0b238), now array-indexing.js is passing.
Also replace the use of ConvertDoubleToInt(UnsignedInt) in GenerateStoreExternalArray with EmitECMATruncate (which handles the overflow/underflow/infinity condition according to ECMA rules) 746de9d75999f008d30e1a293c1fdfc228a00272
This is the current point of failure for 37 tests.