v8/test/cctest
bmeurer ef661b0804 [turbofan] Reland "Add new JSFrameSpecialization reducer." and "Perform OSR deconstruction early and remove type propagation.".
We have to reland these two commits at once, because the first breaks
some asm.js benchmarks without the second. The change was reverted
because of bogus checks in the verifier, which will not work in the
presence of OSR (and where hidden because of the type back propagation
hack in OSR so far). Original messages are below:

[turbofan] Add new JSFrameSpecialization reducer.

The JSFrameSpecialization specializes an OSR graph to the current
unoptimized frame on which we will perform the on-stack replacement.
This is used for asm.js functions, where we cannot reuse the OSR
code object anyway because of context specialization, and so we could as
well specialize to the max instead.

It works by replacing all OsrValues in the graph with their values
in the JavaScriptFrame.

The idea is that using this trick we get better performance without
doing the unsound backpropagation of types to OsrValues later. This
is the first step towards fixing OSR for TurboFan.

[turbofan] Perform OSR deconstruction early and remove type propagation.

This way we don't have to deal with dead pre-OSR code in the graph
and risk optimizing the wrong code, especially we don't make
optimistic assumptions in the dead code that leaks into the OSR code
(i.e. deopt guards are in dead code, but the types propagate to OSR
code via the OsrValue type back propagation).

BUG=v8:4273
LOG=n
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29486}
2015-07-06 11:11:26 +00:00
..
compiler [turbofan] Reland "Add new JSFrameSpecialization reducer." and "Perform OSR deconstruction early and remove type propagation.". 2015-07-06 11:11:26 +00:00
cctest.cc Pass ArrayBuffer::Allocator via Isolate::CreateParams 2015-04-29 09:54:43 +00:00
cctest.gyp [turbofan] Proper dead code elimination as regular reducer. 2015-06-19 12:07:26 +00:00
cctest.h Put getter functions on Script line-endings objects 2015-06-26 14:59:07 +00:00
cctest.status [turbofan] Add CalleeSavedFPRegisters to CallDescriptor. 2015-06-30 13:22:50 +00:00
DEPS Add DEPS files and run checkdeps in presubmit check 2014-06-03 13:39:42 +00:00
gay-fixed.cc Cosmetic changes to tests to make it easier to concatenate them. 2015-06-01 22:47:08 +00:00
gay-fixed.h Dtoa for fixed notation. 2010-05-05 13:51:27 +00:00
gay-precision.cc Cosmetic changes to tests to make it easier to concatenate them. 2015-06-01 22:47:08 +00:00
gay-precision.h Added precision mode to fast-dtoa. 2010-09-20 09:18:00 +00:00
gay-shortest.cc Cosmetic changes to tests to make it easier to concatenate them. 2015-06-01 22:47:08 +00:00
gay-shortest.h Dtoa for fixed notation. 2010-05-05 13:51:27 +00:00
log-eq-of-logging-and-traversal.js Fix test-log/EquivalenceOfLoggingAndTraversal 2013-08-26 14:56:23 +00:00
OWNERS Update cctest OWNERS file for mips committers. 2014-09-18 17:33:24 +00:00
print-extension.cc Cosmetic changes to tests to make it easier to concatenate them. 2015-06-01 22:47:08 +00:00
print-extension.h Use full include paths everywhere 2014-06-03 08:12:43 +00:00
profiler-extension.cc Cosmetic changes to tests to make it easier to concatenate them. 2015-06-01 22:47:08 +00:00
profiler-extension.h Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-accessors.cc Update all callsites of the TryCatch ctor to pass an Isolate 2015-05-28 12:49:41 +00:00
test-alloc.cc Do more to avoid last-resort stop-the-world GC 2015-04-27 14:10:05 +00:00
test-api-interceptors.cc Remove deprecated v8::Object::TurnOnAccessCheck() from the V8 API. 2015-07-02 09:05:48 +00:00
test-api.cc unicode-decoder: fix out-of-band write in utf16 2015-07-06 11:00:12 +00:00
test-api.h split interceptor tests off of test-api 2015-02-06 12:08:07 +00:00
test-array-list.cc Retain maps embedded in optimized code for several garbage collections. 2015-03-06 12:36:32 +00:00
test-assembler-arm64.cc Removed src/{isolate,property-details,utils}-inl.h 2015-04-21 10:21:37 +00:00
test-assembler-arm.cc Replace OFFSET_OF with offsetof as far as possible. 2015-06-17 09:06:56 +00:00
test-assembler-ia32.cc Removed src/{isolate,property-details,utils}-inl.h 2015-04-21 10:21:37 +00:00
test-assembler-mips64.cc MIPS: Implemented PC-relative instructions for R6. 2015-06-19 11:06:14 +00:00
test-assembler-mips.cc MIPS: disabling rsqrt and recip for mips32r1 2015-07-01 16:15:42 +00:00
test-assembler-ppc.cc Replace OFFSET_OF with offsetof as far as possible. 2015-06-17 09:06:56 +00:00
test-assembler-x64.cc Removed src/{isolate,property-details,utils}-inl.h 2015-04-21 10:21:37 +00:00
test-assembler-x87.cc Removed src/{isolate,property-details,utils}-inl.h 2015-04-21 10:21:37 +00:00
test-ast.cc Remove the dependency of Zone on Isolate 2015-01-23 15:20:00 +00:00
test-atomicops.cc Move atomic ops and related files to base library 2014-06-05 12:14:47 +00:00
test-bignum-dtoa.cc Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.". 2015-01-30 09:29:41 +00:00
test-bignum.cc Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.". 2015-01-30 09:29:41 +00:00
test-bit-vector.cc Remove the dependency of Zone on Isolate 2015-01-23 15:20:00 +00:00
test-circular-queue.cc Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.". 2015-01-30 09:29:41 +00:00
test-code-stubs-arm64.cc ARM64: Enable shorten-64-to-32 warning 2015-05-15 05:13:11 +00:00
test-code-stubs-arm.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs-ia32.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs-mips64.cc MIPS64: Reland 'Enable shorten-64-to-32 warning.' 2015-06-15 12:05:19 +00:00
test-code-stubs-mips.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs-x64.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs-x87.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs.cc Fix the test-code-stubs tests. 2015-01-30 13:36:13 +00:00
test-code-stubs.h Introduce x87 port 2014-05-23 16:37:27 +00:00
test-compiler.cc [turbofan] Implement sharing of context-independent code. 2015-06-26 09:07:45 +00:00
test-constantpool.cc Add support for Embedded Constant Pools for PPC and Arm 2015-06-04 14:44:15 +00:00
test-conversions.cc fix special index parsing 2015-03-30 11:41:15 +00:00
test-cpu-profiler.cc Make CPU profiler do not hog 100% of CPU. 2015-05-04 22:53:28 +00:00
test-date.cc Serializer: move to a subfolder and clean up includes. 2015-03-27 15:29:07 +00:00
test-debug.cc Put getter functions on Script line-endings objects 2015-06-26 14:59:07 +00:00
test-decls.cc Minor performance improvements to the LookupIterator 2015-07-01 12:20:10 +00:00
test-deoptimization.cc [turbofan] Enable deoptimization for non-asm.js TurboFan code. 2015-05-21 11:33:25 +00:00
test-dictionary.cc Reland "Merge old data and pointer space." 2015-04-07 11:32:10 +00:00
test-disasm-arm64.cc Fixed various simulator-related space leaks. 2015-05-20 05:55:45 +00:00
test-disasm-arm.cc [turbofan] Add backend support for float32 operations. 2015-03-30 07:34:04 +00:00
test-disasm-ia32.cc [x86] Introduce vandps/vandpd/vxorps/vxorpd. 2015-04-11 00:58:38 +00:00
test-disasm-mips64.cc MIPS: Disassembler enhancement. Disassembled branch instruction displays branch target absolute address. 2015-07-03 10:32:03 +00:00
test-disasm-mips.cc MIPS: Disassembler enhancement. Disassembled branch instruction displays branch target absolute address. 2015-07-03 10:32:03 +00:00
test-disasm-ppc.cc Serializer: move to a subfolder and clean up includes. 2015-03-27 15:29:07 +00:00
test-disasm-x64.cc [x86] Introduce vandps/vandpd/vxorps/vxorpd. 2015-04-11 00:58:38 +00:00
test-disasm-x87.cc Serializer: move to a subfolder and clean up includes. 2015-03-27 15:29:07 +00:00
test-diy-fp.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-double.cc Remove deprecated v8::base::OS::nan_value(). 2015-01-21 14:38:58 +00:00
test-dtoa.cc Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.". 2015-01-30 09:29:41 +00:00
test-extra.js Add extras test for calling into runtime. 2015-06-11 12:19:50 +00:00
test-fast-dtoa.cc Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.". 2015-01-30 09:29:41 +00:00
test-feedback-vector.cc Refactor lexical home object binding 2015-06-04 16:22:41 +00:00
test-fixed-dtoa.cc Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.". 2015-01-30 09:29:41 +00:00
test-flags.cc Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.". 2015-01-30 09:29:41 +00:00
test-func-name-inference.cc Refactor BreakLocationIterator. 2015-03-04 13:15:34 +00:00
test-fuzz-arm64.cc ARM64: Enable shorten-64-to-32 warning 2015-05-15 05:13:11 +00:00
test-gc-tracer.cc re-land: Track history of events in GCTracer. 2014-07-24 11:16:01 +00:00
test-global-handles.cc Rename ASSERT* to DCHECK*. 2014-08-04 11:34:54 +00:00
test-global-object.cc Cosmetic changes to tests to make it easier to concatenate them. 2015-06-01 22:47:08 +00:00
test-hashing.cc Move hash code from hidden string to a private symbol 2015-05-26 11:26:36 +00:00
test-hashmap.cc Add basic API support for Map & Set 2015-05-26 17:37:01 +00:00
test-heap-profiler.cc Reland "Remove the weak list of views from array buffers" 2015-04-27 09:27:53 +00:00
test-heap.cc Record code slots that may point to evacuation candidate objects after deoptimizing them. 2015-07-03 12:13:57 +00:00
test-hydrogen-types.cc Cosmetic changes to tests to make it easier to concatenate them. 2015-06-01 22:47:08 +00:00
test-identity-map.cc Implement IdentityMap<V>, a robust, GC-safe object-identity HashMap. 2015-05-06 12:40:29 +00:00
test-javascript-arm64.cc Serializer: move to a subfolder and clean up includes. 2015-03-27 15:29:07 +00:00
test-js-arm64-variables.cc Serializer: move to a subfolder and clean up includes. 2015-03-27 15:29:07 +00:00
test-list.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-liveedit.cc Remove the dependency of Zone on Isolate 2015-01-23 15:20:00 +00:00
test-lockers.cc Pass ArrayBuffer::Allocator via Isolate::CreateParams 2015-04-29 09:54:43 +00:00
test-log-stack-tracer.cc Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.". 2015-01-30 09:29:41 +00:00
test-log.cc Update all callsites of the TryCatch ctor to pass an Isolate 2015-05-28 12:49:41 +00:00
test-macro-assembler-arm.cc Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.". 2015-01-30 09:29:41 +00:00
test-macro-assembler-ia32.cc Serializer: move to a subfolder and clean up includes. 2015-03-27 15:29:07 +00:00
test-macro-assembler-mips64.cc Add mips64 port. 2014-07-09 11:08:26 +00:00
test-macro-assembler-mips.cc MIPS: Use signaling NaN for holes in fixed double arrays. 2015-01-22 06:15:02 +00:00
test-macro-assembler-x64.cc Serializer: move to a subfolder and clean up includes. 2015-03-27 15:29:07 +00:00
test-macro-assembler-x87.cc Serializer: move to a subfolder and clean up includes. 2015-03-27 15:29:07 +00:00
test-mark-compact.cc Pass ArrayBuffer::Allocator via Isolate::CreateParams 2015-04-29 09:54:43 +00:00
test-mementos.cc Reland Force full GCwhenever CollectAllGarbage is meant to trigger a full GC. 2015-04-23 08:37:05 +00:00
test-microtask-delivery.cc Cosmetic changes to tests to make it easier to concatenate them. 2015-06-01 22:47:08 +00:00
test-migrations.cc Map::ReconfigureProperty() should mark map as unstable when it returns a different map. 2015-06-23 11:30:58 +00:00
test-object-observe.cc Reland Force full GCwhenever CollectAllGarbage is meant to trigger a full GC. 2015-04-23 08:37:05 +00:00
test-parsing.cc Allow numeric literals to be checked for a decimal point. 2015-06-30 21:12:20 +00:00
test-platform-linux.cc Refactor unit tests for the base library to use GTest. 2014-08-06 09:35:21 +00:00
test-platform-win32.cc Refactor unit tests for the base library to use GTest. 2014-08-06 09:35:21 +00:00
test-platform.cc Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.". 2015-01-30 09:29:41 +00:00
test-profile-generator.cc Prepare profiler test for try-catch being optimizable. 2015-07-02 09:22:56 +00:00
test-random-number-generator.cc Pass ArrayBuffer::Allocator via Isolate::CreateParams 2015-04-29 09:54:43 +00:00
test-regexp.cc Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.". 2015-01-30 09:29:41 +00:00
test-reloc-info.cc Add support for Embedded Constant Pools for PPC and Arm 2015-06-04 14:44:15 +00:00
test-representation.cc Check alpha-sorting of includes during presubmit. 2014-06-20 08:40:11 +00:00
test-sampler-api.cc Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.". 2015-01-30 09:29:41 +00:00
test-serialize.cc Serializer: clear next link in weak cells. 2015-06-24 14:26:42 +00:00
test-spaces.cc Increase code space allowance for first page size. 2015-06-30 07:48:34 +00:00
test-strings.cc Update all callsites of the TryCatch ctor to pass an Isolate 2015-05-28 12:49:41 +00:00
test-strtod.cc Revert of Remove obsolete V8_INFINITY macro. (patchset #3 id:40001 of https://codereview.chromium.org/798413003/) 2014-12-20 13:17:35 +00:00
test-symbols.cc Reland Force full GCwhenever CollectAllGarbage is meant to trigger a full GC. 2015-04-23 08:37:05 +00:00
test-thread-termination.cc Update all callsites of the TryCatch ctor to pass an Isolate 2015-05-28 12:49:41 +00:00
test-threads.cc Cosmetic changes to tests to make it easier to concatenate them. 2015-06-01 22:47:08 +00:00
test-transitions.cc Reland: Simplify and compact transitions storage 2015-03-06 14:08:47 +00:00
test-typedarrays.cc Also allocate small typed arrays on heap when initialized from an array-like 2015-06-03 07:41:38 +00:00
test-types.cc Reland 'Additional HandleScopes to limit Handle consumption.' 2015-06-26 10:58:23 +00:00
test-unbound-queue.cc Check alpha-sorting of includes during presubmit. 2014-06-20 08:40:11 +00:00
test-unboxed-doubles.cc [strong] Refactor ObjectStrength into a replacement for strong boolean args 2015-06-08 12:18:15 +00:00
test-unique.cc Remove the dependency of Zone on Isolate 2015-01-23 15:20:00 +00:00
test-unscopables-hidden-prototype.cc Enable ES6 unscopables 2014-08-08 11:42:59 +00:00
test-utils-arm64.cc Rename ASSERT* to DCHECK*. 2014-08-04 11:34:54 +00:00
test-utils-arm64.h ARM64: Enable shorten-64-to-32 warning 2015-05-15 05:13:11 +00:00
test-utils.cc Removed src/{isolate,property-details,utils}-inl.h 2015-04-21 10:21:37 +00:00
test-version.cc Cosmetic changes to tests to make it easier to concatenate them. 2015-06-01 22:47:08 +00:00
test-weakmaps.cc Cosmetic changes to tests to make it easier to concatenate them. 2015-06-01 22:47:08 +00:00
test-weaksets.cc Cosmetic changes to tests to make it easier to concatenate them. 2015-06-01 22:47:08 +00:00
testcfg.py Fix test serialization path for windows. 2014-03-26 07:40:32 +00:00
trace-extension.cc Cosmetic changes to tests to make it easier to concatenate them. 2015-06-01 22:47:08 +00:00
trace-extension.h Use full include paths everywhere 2014-06-03 08:12:43 +00:00
types-fuzz.h Remove Type::Array bit and replace with Type::GlobalObject 2015-04-10 13:29:39 +00:00