v8/test/cctest
ahaas de369129d2 [wasm] Detect unrepresentability in the float32-to-int32 conversion correctly on arm.
In the current implementation of wasm an unrepresentable input of the
float32-to-int32 conversion is detected by first truncating the input, then
converting the truncated input to int32 and back to float32, and then checking
whether the result is the same as the truncated input.

This input check does not work on arm and arm64 for an input of (INT32_MAX + 1)
because on these platforms the float32-to-int32 conversion results in INT32_MAX
if the input is greater than INT32_MAX.  When INT32_MAX is converted back to
float32, then the result is (INT32_MAX + 1) again because INT32_MAX cannot be
represented precisely as float32, and rounding-to-nearest results in (INT32_MAX
+ 1). Since (INT32_MAX + 1) equals the truncated input value, the input appears
to be representable.

With the changes in this CL, the result of the float32-to-int32 conversion is
incremented by 1 if the original result was INT32_MAX. Thereby the detection of
unrepresenable inputs in wasm works. Note that since INT32_MAX cannot be
represented precisely in float32, it can also never be a valid result of the
float32-to-int32 conversion.

@v8-mips-ports, can you do a similar implementation for mips?

R=titzer@chromium.org, Rodolph.Perfetta@arm.com

Review-Url: https://codereview.chromium.org/2105313002
Cr-Commit-Position: refs/heads/master@{#37448}
2016-06-30 14:30:44 +00:00
..
compiler [wasm] Detect unrepresentability in the float32-to-int32 conversion correctly on arm. 2016-06-30 14:30:44 +00:00
heap [heap] Reland uncommit unused large object page memory. 2016-06-29 09:38:45 +00:00
interpreter Provide a convenience array buffer allocator 2016-06-29 07:42:40 +00:00
libsampler Reland: Create libsampler as V8 sampler library. 2016-05-26 02:14:50 +00:00
wasm [wasm] Detect unrepresentability in the float32-to-int32 conversion correctly on arm. 2016-06-30 14:30:44 +00:00
BUILD.gn [gn] Use one source of truth for test source files. 2016-06-28 13:24:08 +00:00
cctest_exe.isolate [Swarming] Isolate perf tests. 2016-02-15 11:17:18 +00:00
cctest.cc [icu] Support loading data file from default location 2016-06-08 12:11:34 +00:00
cctest.gyp Remove position info from relocation info. 2016-06-29 13:49:50 +00:00
cctest.h Expose a lower bound of malloc'd memory via heap statistics 2016-04-01 10:01:56 +00:00
cctest.isolate [Interpreter] Refactor bytecode generator test suite. 2016-02-25 12:07:19 +00:00
cctest.status [turbofan] Fix non-termination in RedundancyElimination. 2016-06-29 11:58:03 +00:00
DEPS Add DEPS files and run checkdeps in presubmit check 2014-06-03 13:39:42 +00:00
expression-type-collector-macros.h Make typing-asm match spec more closely around load/store, add more tests. 2015-11-30 21:11:47 +00:00
expression-type-collector.cc Remove Expression::bounds_, in order to conserve memory during parsing. 2016-05-12 22:24:30 +00:00
expression-type-collector.h Remove Expression::bounds_, in order to conserve memory during parsing. 2016-05-12 22:24:30 +00:00
gay-fixed.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
gay-fixed.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-precision.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
gay-precision.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-shortest.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
gay-shortest.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
log-eq-of-logging-and-traversal.js Fix test-log/EquivalenceOfLoggingAndTraversal 2013-08-26 14:56:23 +00:00
OWNERS S390: Check in OWNER file on to s390 directory 2016-03-15 14:25:38 +00:00
print-extension.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
print-extension.h Remove deprecated functions the smaller half of the remaing tests 2015-11-17 12:42:44 +00:00
profiler-extension.cc Unflake CPU profiler tests. 2016-02-08 18:12:20 +00:00
profiler-extension.h Unflake CPU profiler tests. 2016-02-08 18:12:20 +00:00
test-access-checks.cc Optionally invoke an interceptor on failed access checks 2016-06-27 11:49:09 +00:00
test-accessors.cc Interceptors expect the receiver to always be an JSReceiver. 2016-05-12 11:06:11 +00:00
test-api-accessors.cc Generalize 'fast accessor' tests to work with --always-opt. 2016-01-14 14:25:02 +00:00
test-api-fast-accessor-builder.cc [crankshaft] Replace stub cache harvesting with a bit of type propagation 2016-02-15 15:22:00 +00:00
test-api-interceptors.cc [ic] Don't compile load interceptor handlers for LoadGlobalIC. 2016-06-23 16:51:14 +00:00
test-api.cc Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
test-api.h Reland of place all remaining Oddball checks with new function (patchset #1 id:1 of https://codereview.chromium.org/2060213002/ ) 2016-06-14 10:09:38 +00:00
test-array-list.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-asm-validator.cc [wasm] Making compare and conditionals more correct. 2016-06-28 23:50:14 +00:00
test-assembler-arm64.cc [arm64] Make sure that memory allocated for assembler tests is executable. 2016-02-29 10:52:34 +00:00
test-assembler-arm.cc [arm] Clean up handling of usat. 2016-05-12 18:20:30 +00:00
test-assembler-ia32.cc [ia32] Fixes a wrong use of Operand in a test. 2016-06-29 08:53:55 +00:00
test-assembler-mips64.cc MIPS: Fix unbounded label counter. 2016-04-28 11:01:12 +00:00
test-assembler-mips.cc MIPS: Fix unbounded label counter. 2016-04-28 11:01:12 +00:00
test-assembler-ppc.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-assembler-s390.cc PPC: [build] Fix a clang warning 2016-05-25 15:29:15 +00:00
test-assembler-x64.cc [x64] Fix invalid REX prefix for pslld, psrld and friends. 2016-06-01 07:59:56 +00:00
test-assembler-x87.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-ast-expression-visitor.cc Remove Expression::bounds_, in order to conserve memory during parsing. 2016-05-12 22:24:30 +00:00
test-ast.cc Move RelocInfo::kNoPosition. 2016-06-30 09:29:30 +00:00
test-atomicops.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-bignum-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-bignum.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-bit-vector.cc Expose a lower bound of malloc'd memory via heap statistics 2016-04-01 10:01:56 +00:00
test-circular-queue.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-cache.cc This commit is the first step towards emitting unwinding information in 2016-06-27 15:10:41 +00:00
test-code-layout.cc This commit is the first step towards emitting unwinding information in 2016-06-27 15:10:41 +00:00
test-code-stub-assembler.cc [stubs] Implementing CodeStubAssembler::GetOwnProperty(). 2016-06-27 12:27:42 +00:00
test-code-stubs-arm64.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-arm.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-ia32.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-mips64.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-mips.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-x64.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs-x87.cc [RegisterConfiguration] Streamline access to arch defaults, simplify Registers. 2016-06-27 15:31:31 +00:00
test-code-stubs.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs.h Introduce x87 port 2014-05-23 16:37:27 +00:00
test-compiler.cc Move of the type feedback vector to the closure. 2016-05-27 08:10:51 +00:00
test-constantpool.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-conversions.cc Remove SealHandleScope from TryNumberToSize conversion 2016-06-29 10:29:16 +00:00
test-cpu-profiler.cc [Reland] Refactor CpuProfiler. 2016-06-22 16:45:51 +00:00
test-date.cc Only count legacy parser usage if legacy parser had effect. 2016-06-22 18:07:47 +00:00
test-debug.cc [wasm] Enable wasm frame inspection for debugging 2016-06-29 10:23:09 +00:00
test-decls.cc Remove support for legacy const, part 1 2016-03-22 17:52:13 +00:00
test-deoptimization.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-dictionary.cc [keys] support shadowing keys in the KeyAccumulator 2016-06-28 13:33:31 +00:00
test-disasm-arm64.cc Add {lda,stl}x?r{,b,h} instructions to ARM64 assembler/disassembler 2016-05-19 20:10:05 +00:00
test-disasm-arm.cc Add ldrex and strex instructions to ARM assembler/disassmbler 2016-05-19 19:13:12 +00:00
test-disasm-ia32.cc [ic] Split LoadIC into LoadGlobalIC and LoadIC. 2016-06-14 13:21:28 +00:00
test-disasm-mips64.cc Implement byte swapping instructions on MIPS32 and MIPS64. 2016-06-27 14:36:40 +00:00
test-disasm-mips.cc Implement byte swapping instructions on MIPS32 and MIPS64. 2016-06-27 14:36:40 +00:00
test-disasm-ppc.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-disasm-s390.cc S390: Initial test changes and files checkin. 2016-03-15 18:09:36 +00:00
test-disasm-x64.cc [x64] Small fixes in the assembler and disassembler. 2016-06-17 09:28:47 +00:00
test-disasm-x87.cc [ic] Split LoadIC into LoadGlobalIC and LoadIC. 2016-06-14 13:21:28 +00:00
test-diy-fp.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-double.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-eh-frame-hdr.cc This commit is the first step towards emitting unwinding information in 2016-06-27 15:10:41 +00:00
test-elements-kind.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-experimental-extra.js Add experimental, non-snapshotted V8 extras 2015-08-20 00:01:14 +00:00
test-extra.js [bootstrapper] extra natives must not use natives syntax. 2016-02-05 12:33:55 +00:00
test-fast-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-feedback-vector.cc [ic] Split LoadIC into LoadGlobalIC and LoadIC. 2016-06-14 13:21:28 +00:00
test-feedback-vector.h The metadata part of TypeFeedbackVector is extracted to TypeFeedbackMetadata array. 2015-10-07 10:33:32 +00:00
test-field-type-tracking.cc Reland of place all remaining Oddball checks with new function (patchset #1 id:1 of https://codereview.chromium.org/2060213002/ ) 2016-06-14 10:09:38 +00:00
test-fixed-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-flags.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-func-name-inference.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-fuzz-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-global-handles.cc Introduce a new phantom weakness type without finalization callback. 2016-05-09 07:18:00 +00:00
test-global-object.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-hashing.cc S390: Initial test changes and files checkin. 2016-03-15 18:09:36 +00:00
test-hashmap.cc Move hashmap into src/base. 2016-06-09 18:00:31 +00:00
test-heap-profiler.cc Move hashmap into src/base. 2016-06-09 18:00:31 +00:00
test-hydrogen-types.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-identity-map.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-inobject-slack-tracking.cc Refactor Object.prototype.toString() to use the instance type instead of class_name(). 2016-06-23 14:40:47 +00:00
test-javascript-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-js-arm64-variables.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-list.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-liveedit.cc Expose a lower bound of malloc'd memory via heap statistics 2016-04-01 10:01:56 +00:00
test-lockers.cc S390: Initial test changes and files checkin. 2016-03-15 18:09:36 +00:00
test-log-stack-tracer.cc [builtins] New frame type for exits to C++ builtins 2016-06-30 06:58:23 +00:00
test-log.cc Revert of [heap] Do not invoke GC to make heap iterable. (patchset #3 id:40001 of https://codereview.chromium.org/1992913004/ ) 2016-05-31 17:43:15 +00:00
test-macro-assembler-arm.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-macro-assembler-ia32.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-macro-assembler-mips64.cc Implement byte swapping instructions on MIPS32 and MIPS64. 2016-06-27 14:36:40 +00:00
test-macro-assembler-mips.cc Implement byte swapping instructions on MIPS32 and MIPS64. 2016-06-27 14:36:40 +00:00
test-macro-assembler-x64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-macro-assembler-x87.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-mementos.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-parsing.cc Allow trailing commas in function parameter lists 2016-06-29 01:39:10 +00:00
test-platform-linux.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-platform-win32.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-platform.cc [gn] Add cctest 2016-06-01 14:16:27 +00:00
test-profile-generator.cc [Reland] Refactor CpuProfiler. 2016-06-22 16:45:51 +00:00
test-random-number-generator.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-receiver-check-hidden-prototype.cc Fix the receiver check in the HandleFastApiCall builtin. 2016-01-14 12:24:04 +00:00
test-regexp.cc Remove all harmony runtime flags which shipped in M51 2016-06-24 01:13:10 +00:00
test-representation.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-run-wasm-relocation-arm64.cc V8: Fix OS X build of ARM 64 test. 2016-05-09 17:30:56 +00:00
test-run-wasm-relocation-arm.cc Add new relocation type WASM_MEMORY_SIZE_REFERENCE, use relocatable pointers to update wasm memory size references in generated code. 2016-05-04 20:20:50 +00:00
test-run-wasm-relocation-ia32.cc Add new relocation type WASM_MEMORY_SIZE_REFERENCE, use relocatable pointers to update wasm memory size references in generated code. 2016-05-04 20:20:50 +00:00
test-run-wasm-relocation-x64.cc Add new relocation type WASM_MEMORY_SIZE_REFERENCE, use relocatable pointers to update wasm memory size references in generated code. 2016-05-04 20:20:50 +00:00
test-run-wasm-relocation-x87.cc X87: Add new relocation type WASM_MEMORY_SIZE_REFERENCE, use relocatable pointers to update wasm memory size references in generated code. 2016-05-06 07:31:04 +00:00
test-sampler-api.cc S390: Initial test changes and files checkin. 2016-03-15 18:09:36 +00:00
test-serialize.cc [builtins] Unify Cosh, Sinh and Tanh as exports from flibm 2016-06-30 08:44:46 +00:00
test-simd.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-slots-buffer.cc [heap] Harden heap-related cctests 2016-05-20 13:32:50 +00:00
test-strings.cc Reland of place all remaining Oddball checks with new function (patchset #1 id:1 of https://codereview.chromium.org/2060213002/ ) 2016-06-14 10:09:38 +00:00
test-strtod.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-symbols.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-thread-termination.cc [json] check and handle interrupts. 2016-06-07 11:44:42 +00:00
test-threads.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-trace-event.cc [Tracing] Remove deprecated AddTraceEvent 2016-03-01 21:20:48 +00:00
test-transitions.cc Don't include field-type.h/field-index.h into property.h 2016-02-16 13:28:47 +00:00
test-typedarrays.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-types.cc Expose a lower bound of malloc'd memory via heap statistics 2016-04-01 10:01:56 +00:00
test-unbound-queue.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-unboxed-doubles.cc [heap] Harden heap-related cctests 2016-05-20 13:32:50 +00:00
test-unique.cc Expose a lower bound of malloc'd memory via heap statistics 2016-04-01 10:01:56 +00:00
test-unscopables-hidden-prototype.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-usecounters.cc add use counters for __defineGetter__ failing 2016-06-24 22:05:03 +00:00
test-utils-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-utils-arm64.h [test] Test expectations in cctest should use CHECK and not DCHECK. 2015-12-07 05:37:15 +00:00
test-utils.cc [serializer] split up src/snapshot/serialize.* 2016-03-01 14:44:08 +00:00
test-version.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-weakmaps.cc [heap] Harden heap-related cctests 2016-05-20 13:32:50 +00:00
test-weaksets.cc [heap] Harden heap-related cctests 2016-05-20 13:32:50 +00:00
testcfg.py [test] Fix deterministic test shards. 2016-03-31 07:38:22 +00:00
trace-extension.cc [build] Fix a clang warning 2016-05-24 10:47:24 +00:00
trace-extension.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
types-fuzz.h Remove the template magic from types.(h|cc), remove types-inl.h. 2016-02-02 07:26:06 +00:00