v8/test/cctest
bmeurer 58ab990aa8 [turbofan] Bailout if LoadBuffer typing assumption doesn't hold.
The LoadBuffer operator that is used for asm.js heap access claims to
return only the appropriate typed array type, but out of bounds access
could make it return undefined. So far we tried to "repair" the graph
later if we see that our assumption was wrong, and for various reasons
that worked for some time. But now that wrong type information that is
propagated earlier is picked up appropriately and thus we generate wrong
code, i.e. we in the repro case we feed NaN into ChangeFloat64Uint32 and
thus get 2147483648 instead of 0 (with proper JS truncation).

This was always considered a temporary hack until we have a proper
asm.js pipeline, but since we still run asm.js through the generic
JavaScript pipeline, we have to address this now. Quickfix is to just
bailout from the pipeline when we see that the LoadBuffer type was
wrong, i.e. the result of LoadBuffer is not properly truncated and thus
undefined or NaN would be observable.

R=mstarzinger@chromium.org, jarin@chromium.org
BUG=chromium:589792
LOG=y

Review URL: https://codereview.chromium.org/1740123002

Cr-Commit-Position: refs/heads/master@{#34322}
2016-02-26 11:06:30 +00:00
..
compiler [turbofan] Bailout if LoadBuffer typing assumption doesn't hold. 2016-02-26 11:06:30 +00:00
heap Reland "Replace slots buffer with remembered set. (patchset #14 id:250001 of https://codereview.chromium.org/1703823002/ )" 2016-02-25 17:29:22 +00:00
interpreter [interpreter] ToObject never yields null. 2016-02-26 08:47:09 +00:00
wasm [wasm] I added comparison operators to the Int64Lowering. 2016-02-25 12:15:54 +00:00
cctest_exe.isolate [Swarming] Isolate perf tests. 2016-02-15 11:17:18 +00:00
cctest.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
cctest.gyp [turbofan] Bailout if LoadBuffer typing assumption doesn't hold. 2016-02-26 11:06:30 +00:00
cctest.h Re-re-land FastAccessorBuilder. 2015-12-11 09:54:00 +00:00
cctest.isolate [Interpreter] Refactor bytecode generator test suite. 2016-02-25 12:07:19 +00:00
cctest.status [Interpreter] Add support for cpu profiler logging. 2016-02-26 11:04:55 +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 Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
expression-type-collector.h Create ast/ and parsing/ subdirectories and move appropriate files 2015-11-26 16:23:07 +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 Fix filename typo in OWNERS. 2016-01-11 20:20:18 +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-accessors.cc Add the data parameter back to the access check callback 2016-02-03 10:02:35 +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 Add the data parameter back to the access check callback 2016-02-03 10:02:35 +00:00
test-api.cc Introduce MicrotasksCompletedCallback. 2016-02-25 19:49:53 +00:00
test-api.h Move heap and CPU profilers into a dedicated directory. 2015-09-28 19:34:18 +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 Allow constant multiply both ways. 2016-02-23 19:04:58 +00:00
test-assembler-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-assembler-arm.cc Added a ReverseBits operator and used it to implement Ctz. 2016-02-16 11:14:28 +00:00
test-assembler-ia32.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-assembler-mips64.cc MIPS: use DAHI/DATH for li macro on mips64r6. 2016-02-20 16:24:37 +00:00
test-assembler-mips.cc Reland of MIPS: Add FPXX support to MIPS32R2 2016-02-08 09:44:19 +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-x64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +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 Fix bug where generators got closed prematurely. 2016-01-27 08:13:24 +00:00
test-ast.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +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 Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +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-stubs-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs-arm.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs-ia32.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs-mips64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs-mips.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs-x64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-stubs-x87.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +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 Revert of Type Feedback Vector lives in the closure (patchset #2 id:40001 of https://codereview.chromium.org/1668103002/ ) 2016-02-05 10:48:35 +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 Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-cpu-profiler.cc [Interpreter] Add support for cpu profiler logging. 2016-02-26 11:04:55 +00:00
test-date.cc [builtins] Refactor the remaining Date builtins. 2016-01-12 10:48:26 +00:00
test-debug.cc Ignore pause on debugger statement when breakpoints are disabled 2016-02-12 20:55:36 +00:00
test-decls.cc Ship ES2015 sloppy-mode const semantics 2016-01-11 23:09:59 +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 Make JSProxies always be in slow mode 2016-01-15 13:03:10 +00:00
test-disasm-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-disasm-arm.cc [Atomics] Add dmb/dsb/isb instructions to ARM 2016-02-17 19:58:04 +00:00
test-disasm-ia32.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-disasm-mips64.cc MIPS64: r6 compact branch optimization. 2016-01-06 13:36:41 +00:00
test-disasm-mips.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +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-x64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-disasm-x87.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +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-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 Revert of Type Feedback Vector lives in the closure (patchset #2 id:40001 of https://codereview.chromium.org/1668103002/ ) 2016-02-05 10:48:35 +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 Don't include field-type.h/field-index.h into property.h 2016-02-16 13:28:47 +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-gc-tracer.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-global-handles.cc Don't NULL-check GlobalHandle::Node::object_ 2016-01-25 13:10:09 +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 Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-hashmap.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-heap-profiler.cc Unsampling for the sampling heap profiler 2016-02-24 08:05:18 +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 Introduce {FAST,SLOW}_STRING_WRAPPER_ELEMENTS 2016-01-29 18:58:04 +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 Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-lockers.cc Add Isolate::DiscardThreadSpecificMetadata method to embedder API. 2015-12-16 15:49:49 +00:00
test-log-stack-tracer.cc [Interpreter] Add support for cpu profiler logging. 2016-02-26 11:04:55 +00:00
test-log.cc [Interpreter] Add support for cpu profiler logging. 2016-02-26 11:04:55 +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 MIPS: Use PC relative instructions on r6. 2016-02-03 13:31:30 +00:00
test-macro-assembler-mips.cc MIPS: Use PC relative instructions on r6. 2016-02-03 13:31:30 +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-microtask-delivery.cc Pass --harmony-object-observe in tests that depend on it 2015-12-09 20:34:16 +00:00
test-object-observe.cc Add the data parameter back to the access check callback 2016-02-03 10:02:35 +00:00
test-parsing.cc Remove strong mode support from Scope and Variable 2016-02-18 17:20:13 +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 Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-profile-generator.cc [Interpreter] Add support for cpu profiler logging. 2016-02-26 11:04:55 +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 [regexp] implement case-insensitive unicode regexps. 2016-01-27 08:25:38 +00:00
test-reloc-info.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-representation.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-sampler-api.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-serialize.cc [serializer] remove some dead code. 2015-12-15 11:01:17 +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 [cctest] Move most heap related tests to test/cctest/heap and clean wrt IWYU 2015-12-09 11:26:15 +00:00
test-strings.cc Revert of [regexp] implement /ui to mirror the implementation for /i. (patchset #2 id:20001 of https://codereview.chromium.org/1641613002/ ) 2016-02-02 11:44:45 +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 Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +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 Revert of Add Scoped Context Info (Isolate) to V8 Traces (patchset #5 id:80001 of https://codereview.chromium.org/1686233002/ ) 2016-02-17 20:30:44 +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 Revert of [compiler] Drop the CompareNilIC. (patchset #4 id:60001 of https://codereview.chromium.org/1722193002/ ) 2016-02-26 00:16:54 +00:00
test-typing-reset.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +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 Reland "Replace slots buffer with remembered set. (patchset #14 id:250001 of https://codereview.chromium.org/1703823002/ )" 2016-02-25 17:29:22 +00:00
test-unique.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +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-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 Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +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] Move to page lookups for SemiSpace, NewSpace, and Heap containment methods 2016-02-10 09:47:16 +00:00
test-weaksets.cc [heap] Move to page lookups for SemiSpace, NewSpace, and Heap containment methods 2016-02-10 09:47:16 +00:00
testcfg.py [test-runner] Move test case processing beyond the multi-process boundary. 2015-11-27 12:52:25 +00:00
trace-extension.cc Add CollectSample API function to CpuProfiler 2016-01-26 20:48:28 +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