v8/test/cctest
bmeurer a0484bc611 [compiler] Properly guard the speculative optimizations for instanceof.
Add a general feedback slot for instanceof similar to what we already have
for for-in, which basically has a fast (indicated by the uninitialized
sentinel) and a slow (indicated by the megamorphic sentinel) mode. Now
we can only take the fast path when the feedback slot says it hasn't
seen any funky inputs and nothing funky appeared in the prototype chain.
In the TurboFan code we also deoptimize whenever we see a funky object
(i.e. a proxy or an object that requires access checks) in the prototype
chain (similar to what Crankshaft already did).

Drive-by-fix: Also make Crankshaft respect the mode and therefore
address the deopt loop in Crankshaft around instanceof.

We might want to introduce an InstanceOfIC mechanism at some point and
track the map of the right-hand side.

BUG=v8:5267
R=mvstanton@chromium.org

Review-Url: https://codereview.chromium.org/2370693002
Cr-Commit-Position: refs/heads/master@{#39718}
2016-09-26 12:32:33 +00:00
..
asmjs [Parser] Don't internalize on-the-fly. 2016-09-20 09:33:01 +00:00
compiler [turbofan] Eliminate uses of representation dimension of Type. 2016-09-22 10:33:25 +00:00
heap [heap] Do more incremental marking work in tasks. 2016-09-12 11:46:30 +00:00
interpreter [compiler] Properly guard the speculative optimizations for instanceof. 2016-09-26 12:32:33 +00:00
libplatform [Tracing] Minor bug fixes related to trace serialization 2016-09-09 20:44:25 +00:00
libsampler Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
parsing [parser] Use Back2() where appropriate. 2016-09-23 13:16:19 +00:00
wasm Revert of [wasm] Master CL for Binary 0xC changes. (patchset #26 id:490001 of https://codereview.chromium.org/2345593003/ ) 2016-09-23 17:58:24 +00:00
ast-types-fuzz.h [turbofan] Nuke class types. 2016-09-05 09:19:16 +00:00
BUILD.gn [gn] Add gn support to gcmole 2016-09-21 11:45:24 +00:00
cctest_exe.isolate [Swarming] Isolate perf tests. 2016-02-15 11:17:18 +00:00
cctest.cc [heap] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +00:00
cctest.gyp [modules] Expand API to allow linking and use it in d8 2016-09-20 23:39:41 +00:00
cctest.h Moved zones and zone related stuff in its own directory. 2016-09-20 16:08:07 +00:00
cctest.isolate [Interpreter] Refactor bytecode generator test suite. 2016-02-25 12:07:19 +00:00
cctest.status [modules] Expand API to allow linking and use it in d8 2016-09-20 23:39:41 +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 [heap] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +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 [runtime] Intercept function declarations. 2016-09-15 15:48:34 +00:00
test-api.cc Add method on Value::IsAsyncFunction to detect async functions 2016-09-23 18:31:33 +00:00
test-api.h Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-array-list.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +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 use of IsSupported and IsEnabled. 2016-09-23 15:29:22 +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: Implement MADD.S, MSUB, MADDF and MSUBF. 2016-09-14 11:37:13 +00:00
test-assembler-mips.cc MIPS: Fix compilation failures due to warnings on mips32r1 2016-09-23 13:23:52 +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-types.cc [turbofan] Nuke class types. 2016-09-05 09:19:16 +00:00
test-ast.cc Moved zones and zone related stuff in its own directory. 2016-09-20 16:08:07 +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 Moved zones and zone related stuff in its own directory. 2016-09-20 16:08:07 +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 Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-code-layout.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-code-stub-assembler.cc [stubs] Fixing loads/stores from arrays by int32 offsets/indices. Step 2. 2016-09-08 10:57:10 +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 [turbofan] Collect invocation counts and compute relative call frequencies. 2016-09-14 10:20:48 +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 Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-cpu-profiler.cc Add two CpuProfileNode API functions to allow thread safe access to the node. 2016-09-09 15:51:02 +00:00
test-date.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-debug.cc [heap] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +00:00
test-decls.cc [runtime] Intercept function declarations. 2016-09-15 15:48:34 +00:00
test-deoptimization.cc [heap] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +00:00
test-dictionary.cc [heap] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +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 [arm] Clean up use of IsSupported and IsEnabled. 2016-09-23 15:29:22 +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 MIPS: Implement MADD.S, MSUB, MADDF and MSUBF. 2016-09-14 11:37:13 +00:00
test-disasm-mips.cc MIPS: Implement MADD.S, MSUB, MADDF and MSUBF. 2016-09-14 11:37:13 +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] supplement SSE insturctions for SIMD.js 2016-09-12 06:25:00 +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 [TypeFeedbackVector] special ic slots for interpreter compare/binary ops. 2016-09-20 13:54:51 +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 [turbofan] put src/types.[h/cc] into src/compiler/types.[h/cc] 2016-09-05 15:58:45 +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 Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +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 [heap] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +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 [turbofan] Don't take into account source size for inlining heuristics. 2016-09-23 16:23:34 +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 Moved zones and zone related stuff in its own directory. 2016-09-20 16:08:07 +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 Remove unnessary includes of parser.h 2016-09-02 17:48:46 +00:00
test-js-arm64-variables.cc Remove unnessary includes of parser.h 2016-09-02 17:48:46 +00:00
test-list.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-liveedit.cc Moved zones and zone related stuff in its own directory. 2016-09-20 16:08:07 +00:00
test-lockers.cc Remove unnessary includes of parser.h 2016-09-02 17:48:46 +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 [heap] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +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 [heap] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +00:00
test-modules.cc [modules] Do path resolution relative to each module file in d8 2016-09-22 21:03:42 +00:00
test-object.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-parsing.cc [modules] Simplify treatment of empty imports. 2016-09-23 19:36:04 +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 Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-random-number-generator.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +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 [turbofan] put src/types.[h/cc] into src/compiler/types.[h/cc] 2016-09-05 15:58:45 +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 Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-serialize.cc PPC [heap]: Increase size of the compiled source object 2016-09-07 14:17:00 +00:00
test-simd.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-strings.cc Reland of "[heap] Switch to 500k pages" 2016-09-07 09:43:33 +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 [heap] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +00:00
test-thread-termination.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-threads.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-trace-event.cc Re-enable TestEventInContext 2016-09-22 16:31:14 +00:00
test-transitions.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +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 [turbofan] Remove the representation dimension from Type. 2016-09-22 18:35:19 +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] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +00:00
test-unique.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +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 Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +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] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +00:00
test-weaksets.cc [heap] Introduce enum of garbage collection reasons. 2016-09-07 10:03:08 +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 Revert "[turbofan] Cleanup: Type only has a semantic dimension." 2016-09-26 12:02:17 +00:00