Modified: trunk/LayoutTests/js/script-tests/stack-overflow-arrity-catch.js (203066 => 203067)
--- trunk/LayoutTests/js/script-tests/stack-overflow-arrity-catch.js 2016-07-11 16:33:53 UTC (rev 203066)
+++ trunk/LayoutTests/js/script-tests/stack-overflow-arrity-catch.js 2016-07-11 17:04:14 UTC (rev 203067)
@@ -1,10 +1,13 @@
description('Test that if an arrity check causes a stack overflow, the exception goes to the right catch');
-function funcWith20Args(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8,
+function funcWith40Args(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8,
arg9, arg10, arg11, arg12, arg13, arg14, arg15,
- arg16, arg17, arg18, arg19, arg20)
+ arg16, arg17, arg18, arg19, arg20,
+ arg21, arg22, arg23, arg24, arg25, arg26, arg27, arg28,
+ arg29, arg30, arg31, arg32, arg33, arg34, arg35,
+ arg36, arg37, arg38, arg39, arg40)
{
- debug("ERROR: Shouldn't arrive in 20 arg function!");
+ debug("ERROR: Shouldn't arrive in 40 arg function!");
}
var gotRightCatch = false, gotWrongCatch1 = false, gotWrongCatch2 = false;
@@ -23,7 +26,7 @@
}
try {
- funcWith20Args(1, 2, 3);
+ funcWith40Args(1, 2, 3);
} catch (err2) {
gotRightCatch = true;
}
@@ -44,7 +47,7 @@
// Should get here because of stack overflow,
// now cause a stack overflow exception due to arrity processing
try {
- funcWith20Args(1, 2, 3, 4, 5, 6);
+ funcWith40Args(1, 2, 3, 4, 5, 6);
} catch (err2) {
gotRightCatch = true;
}
Modified: trunk/Tools/Scripts/run-jsc-stress-tests (203066 => 203067)
--- trunk/Tools/Scripts/run-jsc-stress-tests 2016-07-11 16:33:53 UTC (rev 203066)
+++ trunk/Tools/Scripts/run-jsc-stress-tests 2016-07-11 17:04:14 UTC (rev 203067)
@@ -1,6 +1,6 @@
#!/usr/bin/env ruby
-# Copyright (C) 2013-2015 Apple Inc. All rights reserved.
+# Copyright (C) 2013-2016 Apple Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
@@ -426,7 +426,8 @@
$numFailures = 0
$numPasses = 0
-BASE_OPTIONS = ["--useFTLJIT=false", "--useFunctionDotArguments=true"]
+# We force all tests to use a smaller (1.5M) stack so that stack overflow tests can run faster.
+BASE_OPTIONS = ["--useFTLJIT=false", "--useFunctionDotArguments=true", "--maxPerThreadStackUsage=1572864"]
EAGER_OPTIONS = ["--thresholdForJITAfterWarmUp=10", "--thresholdForJITSoon=10", "--thresholdForOptimizeAfterWarmUp=20", "--thresholdForOptimizeAfterLongWarmUp=20", "--thresholdForOptimizeSoon=20", "--thresholdForFTLOptimizeAfterWarmUp=20", "--thresholdForFTLOptimizeSoon=20", "--maximumEvalCacheableSourceLength=150000"]
NO_CJIT_OPTIONS = ["--useConcurrentJIT=false", "--thresholdForJITAfterWarmUp=100"]
FTL_OPTIONS = ["--useFTLJIT=true"]
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py (203066 => 203067)
--- trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py 2016-07-11 16:33:53 UTC (rev 203066)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py 2016-07-11 17:04:14 UTC (rev 203067)
@@ -1,6 +1,6 @@
# Copyright (C) 2010 Google Inc. All rights reserved.
# Copyright (C) 2010 Gabor Rapcsanyi ([email protected]), University of Szeged
-# Copyright (C) 2011 Apple Inc. All rights reserved.
+# Copyright (C) 2011, 2016 Apple Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
@@ -74,6 +74,10 @@
return EXCEPTIONAL_EXIT_STATUS
try:
+ # Force all tests to use a smaller stack so that stack overflow tests can run faster.
+ stackSizeInBytes = 1.5 * 1024 * 1024
+ options.additional_env_var.append('JSC_maxPerThreadStackUsage=' + str(stackSizeInBytes))
+ options.additional_env_var.append('__XPC_JSC_maxPerThreadStackUsage=' + str(stackSizeInBytes))
run_details = run(port, options, args, stderr)
if run_details.exit_code != -1 and not run_details.initial_results.keyboard_interrupted:
bot_printer = buildbot_results.BuildBotPrinter(stdout, options.debug_rwt_logging)