v8/test/cctest
jarin c83b21ab75 [turbofan] Insert dummy values when changing from None type.
Currently we choose the MachineRepresentation::kNone representation for
values of Type::None, and when converting values from the kNone representation
we use "impossible" conversions that will crash at runtime. This
assumes that the impossible conversions should never be hit (the only
way to produce the impossible values is to perform an always-failing
runtime check on a value, such as Smi-checking a string). Note that
this assumes that the runtime check is executed before the impossible
convesrion.

Introducing BitwiseOr type feedback broke this in two ways:

- we always pick Word32 representation for bitwise-or, so the
  impossible conversion does not trigger (it only triggers with
  None representation), and we could end up with unsupported
  conversions from Word32.

- even if we inserted impossible conversions, they are pure conversions.
  Since untagging, bitwise-or operations are also pure, we could hoist
  all these before the smi check of the inputs and we could hit the
  impossible conversions before we get to the smi check.

This CL addresses this by just providing dummy values for conversions
from the Type::None type. It also removes the impossible-to-* conversions.

BUG=chromium:638132

Review-Url: https://codereview.chromium.org/2266823002
Cr-Commit-Position: refs/heads/master@{#38883}
2016-08-25 06:06:58 +00:00
..
asmjs [Asm.js] Prevents assignments to immutables. 2016-08-23 18:08:42 +00:00
compiler [turbofan] Insert dummy values when changing from None type. 2016-08-25 06:06:58 +00:00
heap [heap] Tracer: Handle incremental marking scopes 2016-08-23 15:13:50 +00:00
interpreter [interpreter] Make the binary op with Smi bytecode handlers collect type feedback. 2016-08-23 14:59:33 +00:00
libplatform [Tracing] Minor bugs fix. 2016-08-10 21:07:48 +00:00
libsampler Move SimulatorHelper into V8 out of profiler clients. 2016-08-10 17:12:27 +00:00
wasm [v8][wasm] Handles finally in try/finally blocks. 2016-08-23 22:14:52 +00:00
BUILD.gn [gn] add missing suppressions for linker warnings on windows 2016-08-22 16:50:34 +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 [v8][wasm] Handles finally in try/finally blocks. 2016-08-23 22:14:52 +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 [test] Skip flaky sampler and cpu-profiler tests on windows. 2016-08-12 08:34:11 +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
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 [wasm] Drop old typing-asm and its tests. 2016-07-14 00:06:34 +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 Introduce v8::CpuProfiler::New and v8::CpuProfiler::Dispose API. 2016-07-08 15:01:10 +00:00
profiler-extension.h Introduce v8::CpuProfiler::New and v8::CpuProfiler::Dispose API. 2016-07-08 15:01:10 +00:00
test-access-checks.cc Add API to create a "remote" instance of a given FunctionTemplate 2016-07-19 12:22:37 +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 Fix FastAccessorToSmi CCTest to use ptr type 2016-08-24 17:05:00 +00:00
test-api-interceptors.cc [test] Remove unused dependency. 2016-08-22 12:49:58 +00:00
test-api.cc [Interpreter] Avoid dereferencing handles on BytecodeGenerator for AST operations. 2016-08-10 09:33:20 +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-assembler-arm64.cc [arm64] Avoid signed arithmetic in AddWithCarry. 2016-07-20 09:15:35 +00:00
test-assembler-arm.cc [arm] Clean up the use of UNALIGNED_ACCESSES. 2016-07-27 13:28:02 +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] fixed "vmovups reg, mem" 2016-07-19 03:14:10 +00:00
test-assembler-x87.cc X87: [ia32] Fixes a wrong use of Operand in a test. 2016-07-04 04:23:19 +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 [builtins] support exception handling in TFJ builtins 2016-08-22 15:58:13 +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 Fix cctest/test-code-stubs-mips64/ConvertDToI failure on big-endian architectures 2016-07-25 13:26:56 +00:00
test-code-stubs.h Introduce x87 port 2014-05-23 16:37:27 +00:00
test-compiler.cc [interpreter] Allow mixed stacks if bytecode is preserved. 2016-08-23 07:41:01 +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 unused isolate parameter from NumberToSize and TryNumberToSize 2016-08-08 15:56:47 +00:00
test-cpu-profiler.cc [turbofan] Fix TickEvents cctest typo. 2016-08-09 12:08:45 +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 [debugger] separate break point info from code instrumentation. 2016-08-12 06:06:49 +00:00
test-decls.cc cctest: put some types into anonymous namespace. 2016-08-10 16:46:33 +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 [Turbofan] Add ia32 support for 4 and 16 byte moves and swaps. 2016-07-13 13:54:39 +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]: add cmpps/cmppd instructions 2016-08-03 15:25:28 +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-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 [Interpreter] Assign feedback slots for binary operations and use them in ignition. 2016-08-08 01:16:40 +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 Include only stuff you need, part 4: ast, scopes + fallout. 2016-08-23 12:35:36 +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 [interpreter] VisitForTest for bytecode generator 2016-08-15 13:10:59 +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 Do not mark dependent_code arrays as weak in heap snapshot. 2016-08-02 15:20:44 +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 Replace SmartPointer<T> with unique_ptr<T> 2016-07-25 11:14:34 +00:00
test-log-stack-tracer.cc Expose TickSample and its APIs in v8-profiler.h 2016-07-06 18:40:31 +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 MIPS: [compiler] [wasm] Introduce Word32/64ReverseBytes as TF Optional Opcode. 2016-08-16 13:07:37 +00:00
test-macro-assembler-mips.cc MIPS: [compiler] [wasm] Introduce Word32/64ReverseBytes as TF Optional Opcode. 2016-08-16 13:07:37 +00:00
test-macro-assembler-x64.cc [x64] add Absps/d and Negps/d macro 2016-07-21 11:02:42 +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-object.cc Move NoSideEffectToString to C++ 2016-08-03 12:22:23 +00:00
test-parsing.cc Disallow 'yield' in async arrow parameter lists inside generators 2016-08-23 22:17:38 +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 S390:Update inline asm constraint in test-platform 2016-07-16 15:36:45 +00:00
test-profile-generator.cc Introduce v8::CpuProfiler::New and v8::CpuProfiler::Dispose API. 2016-07-08 15:01:10 +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 Replace SmartArrayPointer<T> with unique_ptr<T[]> 2016-07-25 10:27:47 +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 Include only stuff you need, part 4: ast, scopes + fallout. 2016-08-23 12:35:36 +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 Move Error methods to C++ 2016-07-20 13:05:47 +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] Untangle Marking and friends from heap dependencies. 2016-07-12 15:10:52 +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 [build] Fix header-hygiene warnings for arm64 2016-07-25 18:16:26 +00:00
test-utils-arm64.h [build] Fix header-hygiene warnings for arm64 2016-07-25 18:16:26 +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 Expose TickSample and its APIs in v8-profiler.h 2016-07-06 18:40:31 +00:00
trace-extension.h Expose TickSample and its APIs in v8-profiler.h 2016-07-06 18:40:31 +00:00
types-fuzz.h [turbofan] Remove representation axis for float64 fields. 2016-08-17 11:15:40 +00:00