v8/test/cctest/interpreter
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
..
bytecode_expectations [compiler] Properly guard the speculative optimizations for instanceof. 2016-09-26 12:32:33 +00:00
bytecode-expectations-printer.cc [Interpreter] Add an unsigned immediate operand type 2016-09-13 14:49:10 +00:00
bytecode-expectations-printer.h [Interpreter] Remove constant pool type in tests 2016-09-06 16:11:23 +00:00
generate-bytecode-expectations.cc [Interpreter] Remove constant pool type in tests 2016-09-06 16:11:23 +00:00
interpreter-tester.cc [Interpreter] Make ignition compiler eagerly. 2016-03-24 18:38:24 +00:00
interpreter-tester.h Move of the type feedback vector to the closure. 2016-05-27 08:10:51 +00:00
source-position-matcher.cc Use source position table for unoptimized code. 2016-06-28 05:52:52 +00:00
source-position-matcher.h Use source position table for unoptimized code. 2016-06-28 05:52:52 +00:00
test-bytecode-generator.cc [interpreter] Add fast path for dynamic global lookups 2016-09-20 10:31:52 +00:00
test-interpreter-intrinsics.cc [Interpreter] Avoid accessing Isolate from during bytecode generation. 2016-08-18 13:42:22 +00:00
test-interpreter.cc [interpreter] Fix word32 vs word64 bug in CodeStubAssembler::UpdateFeedback. 2016-09-23 11:41:11 +00:00
test-source-positions.cc Remove unnessary includes of parser.h 2016-09-02 17:48:46 +00:00