blob: 685ecec417ef3adaf47bc0c87ea59899b61b6ad7 [file] [log] [blame]
// |reftest| skip
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
//-----------------------------------------------------------------------------
var BUGNUMBER = 475971;
var summary = 'js_CheckRedeclaration should unlock object on failures';
var actual = '';
var expect = '';
//-----------------------------------------------------------------------------
test();
//-----------------------------------------------------------------------------
function test()
{
enterFunc ('test');
printBugNumber(BUGNUMBER);
printStatus (summary);
if (typeof scatter != 'function')
{
print(expect = actual =
'Test skipped - requires threaded build with scatter');
}
else
{
function x() { return 1; };
// g must run sufficiently long to ensure that the global scope is accessed
// from the parallel threads.
function g()
{
var sum = 0;
try {
for (var i = 0; i != 10000; ++i) {
sum += x();
}
} catch (e) { }
}
scatter([g, g]);
try {
eval("const x = 1");
} catch (e) { }
scatter([g, g]);
print("Done");
}
reportCompare(expect, actual, summary);
exitFunc ('test');
}