From c2c2d8e69cc4023abae07637464d0be43a89b724 Mon Sep 17 00:00:00 2001 From: rmcilroy Date: Fri, 6 May 2016 07:03:02 -0700 Subject: [PATCH] [Interpreter]: Unskip some tests which pass with --ignition and group other failures. Some tests which fail with '--ignition --turbo --turbo-from-bytecode' pass with just '--ignition'. Unskip these tests. Also group other tests with related bugs. BUG=v8:4680 LOG=N Review-Url: https://codereview.chromium.org/1944413002 Cr-Commit-Position: refs/heads/master@{#36083} --- test/cctest/cctest.status | 40 +++--------------- .../elided-instruction-no-ignition.js | 2 +- test/mjsunit/ignition/elided-instruction.js | 2 +- test/mjsunit/mjsunit.status | 42 +++++-------------- 4 files changed, 17 insertions(+), 69 deletions(-) diff --git a/test/cctest/cctest.status b/test/cctest/cctest.status index a9ca3d3ca7..41c050e67a 100644 --- a/test/cctest/cctest.status +++ b/test/cctest/cctest.status @@ -136,17 +136,13 @@ ############################################################################ # Ignition - # TODO(rmcilroy,4680): Check failed: !function->shared()->is_compiled() || function->IsOptimized(). + # TODO(rmcilroy,4680): Related to lack of code flushing. Check failed: !function->shared()->is_compiled() || function->IsOptimized(). 'test-heap/TestCodeFlushingPreAged': [PASS, NO_IGNITION], 'test-heap/TestCodeFlushingIncrementalScavenge': [PASS, NO_IGNITION], 'test-heap/TestCodeFlushing': [PASS, NO_IGNITION], 'test-heap/TestCodeFlushingIncremental': [PASS, NO_IGNITION], 'test-heap/TestCodeFlushingIncrementalAbort': [PASS, ['mode == debug or dcheck_always_on == True', NO_IGNITION]], - # TODO(rmcilroy,4766): Requires BytecodeGraphBuilder to track source position - # on nodes (behind --turbo_source_positions flag). - 'test-cpu-profiler/TickLinesOptimized': [PASS, NO_IGNITION], - # TODO(rmcilroy,4680): Fails to find the correct function name for the # anonymous function. Fails without ignition but with --no-lazy also, so seems # to be an issue when eagerly parsing. @@ -176,38 +172,12 @@ # TODO(mvstanton,4900): CHECK(!g_function->is_compiled()); 'test-heap/TestUseOfIncrementalBarrierOnCompileLazy': [PASS, NO_IGNITION], - # TODO(rmcilroy,4837): We don't set a LoadContextSlot for a function as - # immutable in the BytecodeGraphBuilder, therefore no inlining happens. - 'test-run-inlining/InlineLoopGuardedTwice': [PASS, NO_IGNITION], - 'test-run-inlining/InlineSurplusArgumentsDeopt': [PASS, NO_IGNITION], - 'test-run-inlining/InlineTwice': [PASS, NO_IGNITION], - 'test-run-inlining/InlineSurplusArgumentsObject': [PASS, NO_IGNITION], - 'test-run-inlining/InlineTwiceDependentDiamond': [PASS, NO_IGNITION], - 'test-run-inlining/InlineWithArguments': [PASS, NO_IGNITION], - 'test-run-inlining/InlineLoopUnguardedTwice': [PASS, NO_IGNITION], - 'test-run-inlining/InlineOmitArgumentsObject': [PASS, NO_IGNITION], - 'test-run-inlining/InlineLoopUnguardedOnce': [PASS, NO_IGNITION], - 'test-run-inlining/InlineOmitArgumentsDeopt': [PASS, NO_IGNITION], - 'test-run-inlining/InlineTwiceDependentDiamondDifferent': [PASS, NO_IGNITION], - 'test-run-inlining/SimpleInliningContext': [PASS, NO_IGNITION], - 'test-run-inlining/InlineMutuallyRecursive': [PASS, NO_IGNITION], - 'test-run-inlining/InlineLoopGuardedEmpty': [PASS, NO_IGNITION], - 'test-run-inlining/InlineLoopGuardedOnce': [PASS, NO_IGNITION], - 'test-run-inlining/InlineOmitArguments': [PASS, NO_IGNITION], - 'test-run-inlining/SimpleInlining': [PASS, NO_IGNITION], - 'test-run-inlining/InlineLoopUnguardedEmpty': [PASS, NO_IGNITION], - 'test-run-inlining/InlineNestedBuiltin': [PASS, NO_IGNITION], - 'test-run-inlining/InlineSurplusArguments': [PASS, NO_IGNITION], - 'test-run-inlining/InlineBuiltin': [PASS, NO_IGNITION], - 'test-run-inlining/InlineTwiceDependent': [PASS, NO_IGNITION], - 'test-run-inlining/SimpleInliningContextDeopt': [PASS, NO_IGNITION], + # BUG(rmcilroy,4680): Function is optimized without type feedback and so immediately deopts again, causing check failure in the test. + 'test-heap/ResetSharedFunctionInfoCountersDuringIncrementalMarking': [PASS, NO_IGNITION], + 'test-heap/ResetSharedFunctionInfoCountersDuringMarkSweep': [PASS, NO_IGNITION], # BUG(4751). Flaky with ignition and tsan. 'test-cpu-profiler/JsNativeJsSample': [PASS, ['tsan', NO_IGNITION]], - - 'test-cpu-profiler/Inlining': [PASS, NO_IGNITION], - 'test-heap/ResetSharedFunctionInfoCountersDuringIncrementalMarking': [PASS, NO_IGNITION], - 'test-heap/ResetSharedFunctionInfoCountersDuringMarkSweep': [PASS, NO_IGNITION], }], # ALWAYS ############################################################################## @@ -571,7 +541,7 @@ ############################################################################## ['ignition or ignition_turbofan', { - # TODO(rmcilroy,4680): Check failed: !function->shared()->is_compiled() || function->IsOptimized(). + # TODO(rmcilroy,4680): Related to lack of code flushing. Check failed: !function->shared()->is_compiled() || function->IsOptimized(). 'test-heap/TestCodeFlushingPreAged': [FAIL], 'test-heap/TestCodeFlushingIncrementalScavenge': [FAIL], 'test-heap/TestCodeFlushing': [FAIL], diff --git a/test/mjsunit/ignition/elided-instruction-no-ignition.js b/test/mjsunit/ignition/elided-instruction-no-ignition.js index d31150b6d3..50ad5281fc 100644 --- a/test/mjsunit/ignition/elided-instruction-no-ignition.js +++ b/test/mjsunit/ignition/elided-instruction-no-ignition.js @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Flags: --expose-debug-as debug +// Flags: --no-ignition --expose-debug-as debug Debug = debug.Debug diff --git a/test/mjsunit/ignition/elided-instruction.js b/test/mjsunit/ignition/elided-instruction.js index 807974bbc1..a047f41d63 100644 --- a/test/mjsunit/ignition/elided-instruction.js +++ b/test/mjsunit/ignition/elided-instruction.js @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Flags: --expose-debug-as debug +// Flags: --ignition --expose-debug-as debug Debug = debug.Debug diff --git a/test/mjsunit/mjsunit.status b/test/mjsunit/mjsunit.status index be9bc8d888..c9603b3ddb 100644 --- a/test/mjsunit/mjsunit.status +++ b/test/mjsunit/mjsunit.status @@ -309,6 +309,7 @@ # TODO(mythria, 4764): lack of osr support. 'regress/regress-2618': [PASS, NO_IGNITION], + # TODO(mythria, 4764): lack of osr support. The tests waits in a loop # till it is optimized. So test timeouts. 'array-literal-transitions': [PASS, NO_IGNITION], @@ -323,14 +324,10 @@ # platforms the stack limit is different and the exception doesn't fire. 'regress/regress-crbug-589472': [PASS, NO_IGNITION], - # Debugger test cases that pass with ignition, but not full-codegen. - # These differences between full-codegen and ignition are deliberate. - 'ignition/elided-instruction-no-ignition': [PASS, NO_IGNITION], - - 'wasm/asm-wasm-f32': [PASS, ['arch in [arm64]', NO_IGNITION]], - 'wasm/asm-wasm-f64': [PASS, ['arch in [arm64]', NO_IGNITION]], - + # TODO(4680): Test doesn't know about three tier compiler pipeline. 'assert-opt-and-deopt': [PASS, NO_IGNITION], + + # BUG(rmcilroy,4989): Function is optimized without type feedback and so immediately deopts again, causing check failure in the test. 'compiler/deopt-inlined-from-call': [PASS, NO_IGNITION], 'compiler/increment-typefeedback': [PASS, NO_IGNITION], 'compiler/manual-concurrent-recompile': [PASS, NO_IGNITION], @@ -343,18 +340,14 @@ 'elements-transition-hoisting': [PASS, NO_IGNITION], 'es6/block-let-crankshaft': [PASS, NO_IGNITION], 'es6/block-let-crankshaft-sloppy': [PASS, NO_IGNITION], - 'es6/new-target': [PASS, ['no_snap and mode == debug', NO_IGNITION]], 'getters-on-elements': [PASS, NO_IGNITION], 'harmony/do-expressions': [PASS, NO_IGNITION], - 'ignition/elided-instruction': [PASS, NO_IGNITION], - 'ignition/optimized-debug-frame': [PASS, NO_IGNITION], 'math-floor-of-div-minus-zero': [PASS, NO_IGNITION], 'regress/regress-2132': [PASS, NO_IGNITION], 'regress/regress-2339': [PASS, NO_IGNITION], 'regress/regress-3176': [PASS, NO_IGNITION], 'regress/regress-3709': [PASS, NO_IGNITION], 'regress/regress-385565': [PASS, NO_IGNITION], - 'regress/regress-3969': [PASS, NO_IGNITION], 'regress/regress-crbug-594183': [PASS, NO_IGNITION], 'regress/regress-embedded-cons-string': [PASS, NO_IGNITION], 'regress/regress-map-invalidation-2': [PASS, NO_IGNITION], @@ -365,7 +358,6 @@ 'smi-mul-const': [PASS, NO_IGNITION], 'smi-mul': [PASS, NO_IGNITION], 'unary-minus-deopt': [PASS, NO_IGNITION], - }], # ALWAYS ['novfp3 == True', { @@ -375,6 +367,12 @@ 'asm/embenchen/lua_binarytrees': [SKIP], }], # novfp3 == True +############################################################################## +['no_snap == True and mode == debug', { + # TODO(rmcilroy,4928): Issue with --mstackalign. + 'es6/new-target': [PASS, NO_IGNITION], +}], # 'no_snap == True and mode == debug' + ############################################################################## ['gc_stress == True', { # Skip tests not suitable for GC stress. @@ -445,10 +443,6 @@ # BUG(v8:4779): Crashes flakily with stress mode on arm64. 'array-splice': [PASS, SLOW, ['arch == arm64', FAST_VARIANTS]], - - # TODO(oth,4680): failures from the bots. - 'ignition/elided-instruction': [PASS, NO_IGNITION], - 'regress/regress-269': [PASS, NO_IGNITION], }], # 'gc_stress == True' ############################################################################## @@ -906,10 +900,6 @@ # platforms the stack limit is different and the exception doesn't fire. 'regress/regress-crbug-589472': [SKIP], - # Debugger test cases that pass with ignition, but not full-codegen. - # These differences between full-codegen and ignition are deliberate. - 'ignition/elided-instruction-no-ignition': [FAIL], - 'wasm/asm-wasm-f32': [PASS, ['arch in [arm64]', SKIP]], 'wasm/asm-wasm-f64': [PASS, ['arch in [arm64]', SKIP]], @@ -947,18 +937,6 @@ 'es6/tail-call-megatest*': [SKIP], }], # (ignition or ignition_turbofan) and msan -['(ignition or ignition_turbofan) and gc_stress == True', { - # TODO(oth,4680): failures from the bots. - 'ignition/elided-instruction': [SKIP], - 'regress/regress-269': [SKIP], -}], # (ignition or ignition_turbofan) and gc_stress == True - -['ignition == False and ignition_turbofan == False', { - # Debugger test cases that pass with full-codegen, but not ignition. - # These differences between full-codegen and ignition are deliberate. - 'ignition/elided-instruction': [FAIL], -}], # ignition == False and ignition_turbofan == False - ############################################################################## ['gcov_coverage', { # Tests taking too long.