зеркало из https://github.com/mozilla/gecko-dev.git
bug 458838 - JavaScript Test by Boris Zbarsky.
This commit is contained in:
Родитель
8e418d82f7
Коммит
a148855b1e
|
@ -4041,6 +4041,26 @@ function testReverseArgTypes() {
|
||||||
testReverseArgTypes.expected = 1;
|
testReverseArgTypes.expected = 1;
|
||||||
test(testReverseArgTypes);
|
test(testReverseArgTypes);
|
||||||
|
|
||||||
|
function testBug458838() {
|
||||||
|
var a = 1;
|
||||||
|
function g() {
|
||||||
|
var b = 0
|
||||||
|
for (var i = 0; i < 10; ++i) {
|
||||||
|
b += a;
|
||||||
|
}
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
return g();
|
||||||
|
}
|
||||||
|
testBug458838.expected = 10;
|
||||||
|
testBug458838.jitstats = {
|
||||||
|
recorderStarted: 1,
|
||||||
|
recorderAborted: 0,
|
||||||
|
traceCompleted: 1
|
||||||
|
};
|
||||||
|
test(testBug458838);
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* *
|
* *
|
||||||
* _____ _ _ _____ ______ _____ _______ *
|
* _____ _ _ _____ ______ _____ _______ *
|
||||||
|
|
|
@ -0,0 +1,96 @@
|
||||||
|
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||||
|
/* ***** BEGIN LICENSE BLOCK *****
|
||||||
|
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
|
*
|
||||||
|
* The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
* http://www.mozilla.org/MPL/
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
* for the specific language governing rights and limitations under the
|
||||||
|
* License.
|
||||||
|
*
|
||||||
|
* The Original Code is JavaScript Engine testing utilities.
|
||||||
|
*
|
||||||
|
* The Initial Developer of the Original Code is
|
||||||
|
* Mozilla Foundation.
|
||||||
|
* Portions created by the Initial Developer are Copyright (C) 2008
|
||||||
|
* the Initial Developer. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Contributor(s): Boris Zbarksy
|
||||||
|
*
|
||||||
|
* Alternatively, the contents of this file may be used under the terms of
|
||||||
|
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||||
|
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||||
|
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||||
|
* of those above. If you wish to allow use of your version of this file only
|
||||||
|
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||||
|
* use your version of this file under the terms of the MPL, indicate your
|
||||||
|
* decision by deleting the provisions above and replace them with the notice
|
||||||
|
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||||
|
* the provisions above, a recipient may use your version of this file under
|
||||||
|
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
|
*
|
||||||
|
* ***** END LICENSE BLOCK ***** */
|
||||||
|
|
||||||
|
var gTestfile = 'regress-458838.js';
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
var BUGNUMBER = 458838;
|
||||||
|
var summary = 'TM: do not fall off trace when nested function accesses var of outer function';
|
||||||
|
var actual = '';
|
||||||
|
var expect = '';
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
test();
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function test()
|
||||||
|
{
|
||||||
|
enterFunc ('test');
|
||||||
|
printBugNumber(BUGNUMBER);
|
||||||
|
printStatus (summary);
|
||||||
|
|
||||||
|
jit(true);
|
||||||
|
|
||||||
|
function f() {
|
||||||
|
var a = 1;
|
||||||
|
function g() {
|
||||||
|
var b = 0
|
||||||
|
for (var i = 0; i < 10; ++i) {
|
||||||
|
b += a;
|
||||||
|
}
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
return g();
|
||||||
|
}
|
||||||
|
|
||||||
|
expect = 10;
|
||||||
|
actual = f();
|
||||||
|
|
||||||
|
var recorderStarted;
|
||||||
|
var recorderAborted;
|
||||||
|
var traceCompleted;
|
||||||
|
|
||||||
|
if (this.tracemonkey)
|
||||||
|
{
|
||||||
|
recorderStarted = this.tracemonkey.recorderStarted;
|
||||||
|
recorderAborted = this.tracemonkey.recorderAborted;
|
||||||
|
traceCompleted = this.tracemonkey.traceCompleted;
|
||||||
|
}
|
||||||
|
|
||||||
|
jit(false);
|
||||||
|
|
||||||
|
reportCompare(expect, actual, summary + ': return value 10');
|
||||||
|
|
||||||
|
if (this.tracemonkey)
|
||||||
|
{
|
||||||
|
expect = 'recorderStarted=1, recorderAborted=0, traceCompleted=1';
|
||||||
|
actual = 'recorderStarted=' + recorderStarted + ', recorderAborted=' + recorderAborted + ', traceCompleted=' + traceCompleted;
|
||||||
|
reportCompare(expect, actual, summary + ': trace');
|
||||||
|
}
|
||||||
|
|
||||||
|
exitFunc ('test');
|
||||||
|
}
|
|
@ -4074,6 +4074,26 @@ function testStringResolve() {
|
||||||
testStringResolve.expected = 3;
|
testStringResolve.expected = 3;
|
||||||
test(testStringResolve);
|
test(testStringResolve);
|
||||||
|
|
||||||
|
function testBug458838() {
|
||||||
|
var a = 1;
|
||||||
|
function g() {
|
||||||
|
var b = 0
|
||||||
|
for (var i = 0; i < 10; ++i) {
|
||||||
|
b += a;
|
||||||
|
}
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
return g();
|
||||||
|
}
|
||||||
|
testBug458838.expected = 10;
|
||||||
|
testBug458838.jitstats = {
|
||||||
|
recorderStarted: 1,
|
||||||
|
recorderAborted: 0,
|
||||||
|
traceCompleted: 1
|
||||||
|
};
|
||||||
|
test(testBug458838);
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* *
|
* *
|
||||||
* _____ _ _ _____ ______ _____ _______ *
|
* _____ _ _ _____ ______ _____ _______ *
|
||||||
|
|
|
@ -811,6 +811,8 @@ TEST_ID=js1_8_1/trace/regress-451974-01.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TES
|
||||||
TEST_ID=js1_8_1/trace/regress-451974-01.js, TEST_BRANCH=1.9.2, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_OPTIONS=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=TM: loops with anon functions should not be slower with jit enabled reason: Expected value 'true', Actual value 'false'
|
TEST_ID=js1_8_1/trace/regress-451974-01.js, TEST_BRANCH=1.9.2, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_OPTIONS=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=TM: loops with anon functions should not be slower with jit enabled reason: Expected value 'true', Actual value 'false'
|
||||||
TEST_ID=js1_8_1/trace/regress-451974-02.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_OPTIONS=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=TM: loops with anon functions should not be slower with jit enabled reason: Expected value 'true', Actual value 'false'
|
TEST_ID=js1_8_1/trace/regress-451974-02.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_OPTIONS=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=TM: loops with anon functions should not be slower with jit enabled reason: Expected value 'true', Actual value 'false'
|
||||||
TEST_ID=js1_8_1/trace/regress-451974-02.js, TEST_BRANCH=1.9.2, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_OPTIONS=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=TM: loops with anon functions should not be slower with jit enabled reason: Expected value 'true', Actual value 'false'
|
TEST_ID=js1_8_1/trace/regress-451974-02.js, TEST_BRANCH=1.9.2, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_OPTIONS=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=TM: loops with anon functions should not be slower with jit enabled reason: Expected value 'true', Actual value 'false'
|
||||||
|
TEST_ID=js1_8_1/trace/regress-458838.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_OPTIONS=-j, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=TM: do not fall off trace when nested function accesses var of outer function: trace reason: Expected value 'recorderStarted=1, recorderAborted=0, traceCompleted=1', Actual value 'recorderStarted=1, recorderAborted=1, traceCompleted=0'
|
||||||
|
TEST_ID=js1_8_1/trace/regress-458838.js, TEST_BRANCH=1.9.2, TEST_REPO=.*, TEST_BUILDTYPE=debug, TEST_TYPE=shell, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=.*, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_OPTIONS=-j, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=TM: do not fall off trace when nested function accesses var of outer function: trace reason: Expected value 'recorderStarted=1, recorderAborted=0, traceCompleted=1', Actual value 'recorderStarted=1, recorderAborted=1, traceCompleted=0'
|
||||||
TEST_ID=js1_8_1/trace/regress-469927.js, TEST_BRANCH=.*, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_OPTIONS=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=TM: jit should not slow down short loop with let reason: Expected value 'true', Actual value 'false'
|
TEST_ID=js1_8_1/trace/regress-469927.js, TEST_BRANCH=.*, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_OPTIONS=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=TM: jit should not slow down short loop with let reason: Expected value 'true', Actual value 'false'
|
||||||
TEST_ID=js1_8_1/trace/regress-470739.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_OPTIONS=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=TM: never abort on == reason: Expected value 'true', Actual value 'false'
|
TEST_ID=js1_8_1/trace/regress-470739.js, TEST_BRANCH=1.9.1, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_OPTIONS=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=TM: never abort on == reason: Expected value 'true', Actual value 'false'
|
||||||
TEST_ID=js1_8_1/trace/regress-470739.js, TEST_BRANCH=1.9.2, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_OPTIONS=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=TM: never abort on == reason: Expected value 'true', Actual value 'false'
|
TEST_ID=js1_8_1/trace/regress-470739.js, TEST_BRANCH=1.9.2, TEST_REPO=.*, TEST_BUILDTYPE=.*, TEST_TYPE=.*, TEST_OS=.*, TEST_KERNEL=.*, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=.*, TEST_CPUSPEED=.*, TEST_TIMEZONE=.*, TEST_OPTIONS=.*, TEST_RESULT=FAILED, TEST_EXITSTATUS=NORMAL, TEST_DESCRIPTION=TM: never abort on == reason: Expected value 'true', Actual value 'false'
|
||||||
|
|
Загрузка…
Ссылка в новой задаче