Revision: 18708
Author: [email protected]
Date: Tue Jan 21 12:41:25 2014 UTC
Log: Add infrastructure for skipping tests in GC stress mode.
Also move the GC stress configuration from the buildbot to the test runner.
BUG=
[email protected], [email protected]
Review URL: https://codereview.chromium.org/141653008
http://code.google.com/p/v8/source/detail?r=18708
Modified:
/branches/bleeding_edge/test/mjsunit/allocation-site-info.js
/branches/bleeding_edge/test/mjsunit/array-constructor-feedback.js
/branches/bleeding_edge/test/mjsunit/array-feedback.js
/branches/bleeding_edge/test/mjsunit/array-literal-feedback.js
/branches/bleeding_edge/test/mjsunit/d8-performance-now.js
/branches/bleeding_edge/test/mjsunit/elements-kind.js
/branches/bleeding_edge/test/mjsunit/fast-prototype.js
/branches/bleeding_edge/test/mjsunit/mjsunit.status
/branches/bleeding_edge/test/mjsunit/opt-elements-kind.js
/branches/bleeding_edge/test/mjsunit/osr-elements-kind.js
/branches/bleeding_edge/test/mjsunit/regress/regress-165637.js
/branches/bleeding_edge/tools/run-deopt-fuzzer.py
/branches/bleeding_edge/tools/run-tests.py
=======================================
--- /branches/bleeding_edge/test/mjsunit/allocation-site-info.js Tue Jan 7
15:58:25 2014 UTC
+++ /branches/bleeding_edge/test/mjsunit/allocation-site-info.js Tue Jan 21
12:41:25 2014 UTC
@@ -35,11 +35,6 @@
// in this test case. Depending on whether smi-only arrays are actually
// enabled, this test takes the appropriate code path to check smi-only
arrays.
-// Reset the GC stress mode to be off. Needed because AllocationMementos
only
-// live for one gc, so a gc that happens in certain fragile areas of the
test
-// can break assumptions.
-%SetFlags("--gc-interval=-1")
-
// support_smi_only_arrays = %HasFastSmiElements(new
Array(1,2,3,4,5,6,7,8));
support_smi_only_arrays = true;
=======================================
--- /branches/bleeding_edge/test/mjsunit/array-constructor-feedback.js Tue
Jan 7 15:58:25 2014 UTC
+++ /branches/bleeding_edge/test/mjsunit/array-constructor-feedback.js Tue
Jan 21 12:41:25 2014 UTC
@@ -35,11 +35,6 @@
// in this test case. Depending on whether smi-only arrays are actually
// enabled, this test takes the appropriate code path to check smi-only
arrays.
-// Reset the GC stress mode to be off. Needed because AllocationMementos
only
-// live for one gc, so a gc that happens in certain fragile areas of the
test
-// can break assumptions.
-%SetFlags("--gc-interval=-1")
-
// support_smi_only_arrays = %HasFastSmiElements(new
Array(1,2,3,4,5,6,7,8));
support_smi_only_arrays = true;
=======================================
--- /branches/bleeding_edge/test/mjsunit/array-feedback.js Fri Jan 17
11:24:36 2014 UTC
+++ /branches/bleeding_edge/test/mjsunit/array-feedback.js Tue Jan 21
12:41:25 2014 UTC
@@ -35,11 +35,6 @@
// in this test case. Depending on whether smi-only arrays are actually
// enabled, this test takes the appropriate code path to check smi-only
arrays.
-// Reset the GC stress mode to be off. Needed because AllocationMementos
only
-// live for one gc, so a gc that happens in certain fragile areas of the
test
-// can break assumptions.
-%SetFlags("--gc-interval=-1")
-
// support_smi_only_arrays = %HasFastSmiElements(new
Array(1,2,3,4,5,6,7,8));
support_smi_only_arrays = true;
=======================================
--- /branches/bleeding_edge/test/mjsunit/array-literal-feedback.js Tue Jan
7 15:58:25 2014 UTC
+++ /branches/bleeding_edge/test/mjsunit/array-literal-feedback.js Tue Jan
21 12:41:25 2014 UTC
@@ -35,11 +35,6 @@
// in this test case. Depending on whether smi-only arrays are actually
// enabled, this test takes the appropriate code path to check smi-only
arrays.
-// Reset the GC stress mode to be off. Needed because AllocationMementos
only
-// live for one gc, so a gc that happens in certain fragile areas of the
test
-// can break assumptions.
-%SetFlags("--gc-interval=-1")
-
// support_smi_only_arrays = %HasFastSmiElements(new
Array(1,2,3,4,5,6,7,8));
support_smi_only_arrays = true;
=======================================
--- /branches/bleeding_edge/test/mjsunit/d8-performance-now.js Fri Jan 10
12:07:29 2014 UTC
+++ /branches/bleeding_edge/test/mjsunit/d8-performance-now.js Tue Jan 21
12:41:25 2014 UTC
@@ -30,11 +30,6 @@
// Test the performance.now() function of d8. This test only makes sense
with
// d8.
-// Don't run this test in gc stress mode. Time differences may be long
-// due to garbage collections.
-%SetFlags("--gc-interval=-1");
-%SetFlags("--nostress-compaction");
-
if (this.performance && performance.now) {
(function run() {
var start_test = performance.now();
=======================================
--- /branches/bleeding_edge/test/mjsunit/elements-kind.js Mon Jan 13
17:11:36 2014 UTC
+++ /branches/bleeding_edge/test/mjsunit/elements-kind.js Tue Jan 21
12:41:25 2014 UTC
@@ -25,8 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-// Flags: --allow-natives-syntax --smi-only-arrays --expose-gc
-// Flags: --nostress-opt --nostress-compaction --gc-interval=-1
+// Flags: --allow-natives-syntax --smi-only-arrays --expose-gc
--nostress-opt
// Test element kind of objects.
// Since --smi-only-arrays affects builtins, its default setting at compile
=======================================
--- /branches/bleeding_edge/test/mjsunit/fast-prototype.js Thu Nov 7
12:20:45 2013 UTC
+++ /branches/bleeding_edge/test/mjsunit/fast-prototype.js Tue Jan 21
12:41:25 2014 UTC
@@ -26,11 +26,6 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
// Flags: --allow-natives-syntax --expose-gc
-
-// TODO(mstarzinger): This test does not succeed when GCs happen in
-// between prototype transitions, we disable GC stress for now.
-%SetFlags("--gc-interval=-1")
-
// Flags: --noincremental-marking
// Check that objects that are used for prototypes are in the fast mode.
=======================================
--- /branches/bleeding_edge/test/mjsunit/mjsunit.status Tue Jan 21 07:58:54
2014 UTC
+++ /branches/bleeding_edge/test/mjsunit/mjsunit.status Tue Jan 21 12:41:25
2014 UTC
@@ -104,13 +104,23 @@
# Tests verifying CHECK and ASSERT.
'verify-check-false': [FAIL, NO_VARIANTS],
'verify-assert-false': [NO_VARIANTS, ['mode == release', PASS], ['mode
== debug', FAIL]],
+}], # ALWAYS
- # TODO(machenbach): Temporarily marked as flaky until there is
infrastructure
- # to disable these tests on GC stress.
- 'elements-kind': [PASS, ['mode == debug and system == linux', FLAKY]],
- 'osr-elements-kind': [PASS, ['mode == debug and system == linux',
FLAKY]],
- 'array-literal-feedback': [PASS, ['mode == debug and system == linux',
FLAKY]],
-}], # ALWAYS
+##############################################################################
+['gc_stress == True', {
+ # Skip tests not suitable for GC stress.
+ 'allocation-site-info': [SKIP],
+ 'array-constructor-feedback': [SKIP],
+ 'array-feedback': [SKIP],
+ 'array-literal-feedback': [SKIP],
+ 'd8-performance-now': [SKIP],
+ 'elements-kind': [SKIP],
+ 'fast-prototype': [SKIP],
+ 'opt-elements-kind': [SKIP],
+ 'osr-elements-kind': [SKIP],
+ 'regress/regress-165637': [SKIP],
+ 'regress/regress-2249': [SKIP],
+}], # 'gc_stress == True'
##############################################################################
['arch == arm or arch == android_arm', {
=======================================
--- /branches/bleeding_edge/test/mjsunit/opt-elements-kind.js Tue Jan 7
15:58:25 2014 UTC
+++ /branches/bleeding_edge/test/mjsunit/opt-elements-kind.js Tue Jan 21
12:41:25 2014 UTC
@@ -39,11 +39,6 @@
// in this test case. Depending on whether smi-only arrays are actually
// enabled, this test takes the appropriate code path to check smi-only
arrays.
-// Reset the GC stress mode to be off. Needed because AllocationMementos
only
-// live for one gc, so a gc that happens in certain fragile areas of the
test
-// can break assumptions.
-%SetFlags("--gc-interval=-1")
-
support_smi_only_arrays = %HasFastSmiElements(new Array(1,2,3,4,5,6,7,8));
if (support_smi_only_arrays) {
=======================================
--- /branches/bleeding_edge/test/mjsunit/osr-elements-kind.js Tue Jan 7
15:58:25 2014 UTC
+++ /branches/bleeding_edge/test/mjsunit/osr-elements-kind.js Tue Jan 21
12:41:25 2014 UTC
@@ -39,11 +39,6 @@
// in this test case. Depending on whether smi-only arrays are actually
// enabled, this test takes the appropriate code path to check smi-only
arrays.
-// Reset the GC stress mode to be off. Needed because AllocationMementos
only
-// live for one gc, so a gc that happens in certain fragile areas of the
test
-// can break assumptions.
-%SetFlags("--gc-interval=-1")
-
support_smi_only_arrays = %HasFastSmiElements(new Array(1,2,3,4,5,6,7,8));
if (support_smi_only_arrays) {
=======================================
--- /branches/bleeding_edge/test/mjsunit/regress/regress-165637.js Wed Feb
6 13:21:28 2013 UTC
+++ /branches/bleeding_edge/test/mjsunit/regress/regress-165637.js Tue Jan
21 12:41:25 2014 UTC
@@ -44,10 +44,6 @@
return Date.now() - start;
}
-
-// Reset the GC stress mode to be off. Needed so that the runtime of this
test
-// stays within bounds even if we run in GC stress mode.
-%SetFlags("--gc-interval=-1 --noforce-marking-deque-overflows");
// Should never take more than 3 seconds (if the bug is fixed, the test
takes
// considerably less time than 3 seconds).
=======================================
--- /branches/bleeding_edge/tools/run-deopt-fuzzer.py Fri Sep 20 13:13:57
2013 UTC
+++ /branches/bleeding_edge/tools/run-deopt-fuzzer.py Tue Jan 21 12:41:25
2014 UTC
@@ -363,12 +363,13 @@
# Find available test suites and read test cases from them.
variables = {
- "mode": mode,
"arch": arch,
- "system": utils.GuessOS(),
+ "deopt_fuzzer": True,
+ "gc_stress": False,
"isolates": options.isolates,
- "deopt_fuzzer": True,
+ "mode": mode,
"no_i18n": False,
+ "system": utils.GuessOS(),
}
all_tests = []
num_tests = 0
=======================================
--- /branches/bleeding_edge/tools/run-tests.py Thu Dec 5 12:37:24 2013 UTC
+++ /branches/bleeding_edge/tools/run-tests.py Tue Jan 21 12:41:25 2014 UTC
@@ -67,6 +67,11 @@
"--debug-code", "--verify-heap"],
"release" : ["--nobreak-on-abort", "--nodead-code-elimination",
"--nofold-constants"]}
+
+GC_STRESS_FLAGS = ["--gc-interval=500", "--stress-compaction",
+ "--concurrent-recompilation-queue-length=64",
+ "--concurrent-recompilation-delay=500",
+ "--concurrent-recompilation"]
SUPPORTED_ARCHS = ["android_arm",
"android_ia32",
@@ -108,6 +113,9 @@
result.add_option("--pass-fail-tests",
help="Regard pass|fail tests (run|skip|dontcare)",
default="dontcare")
+ result.add_option("--gc-stress",
+ help="Switch on GC stress mode",
+ default=False, action="store_true")
result.add_option("--command-prefix",
help="Prepended to each shell command used to run a
test",
default="")
@@ -220,6 +228,10 @@
options.no_network = True
options.command_prefix = shlex.split(options.command_prefix)
options.extra_flags = shlex.split(options.extra_flags)
+
+ if options.gc_stress:
+ options.extra_flags += GC_STRESS_FLAGS
+
if options.j == 0:
options.j = multiprocessing.cpu_count()
@@ -373,12 +385,13 @@
# Find available test suites and read test cases from them.
variables = {
- "mode": mode,
"arch": arch,
- "system": utils.GuessOS(),
+ "deopt_fuzzer": False,
+ "gc_stress": options.gc_stress,
"isolates": options.isolates,
- "deopt_fuzzer": False,
+ "mode": mode,
"no_i18n": options.no_i18n,
+ "system": utils.GuessOS(),
}
all_tests = []
num_tests = 0
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.