6da8e1f993
This reverts commit 34625fdb5a
.
Reason for revert: Test caused timeout, investigating.
Original change's description:
> [Builtins] Array.prototype.forEach perf regression on dictionaries.
>
> An unnecessary call to ToString() on the array index caused trips to
> the runtime. The fix also includes performance micro-benchmarks so
> we'll have a harder time regressing this case in future.
>
> Bug: v8:8112
> Change-Id: Iada5bd2e3c6d2246fb1225e7094f3d9c66ddafbd
> Reviewed-on: https://chromium-review.googlesource.com/1206355
> Commit-Queue: Michael Stanton <mvstanton@chromium.org>
> Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55653}
TBR=mvstanton@chromium.org,tebbi@chromium.org
Change-Id: I21de9b9b33edf03f2173f579c4ba0fc3dfd8ff88
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:8112
Reviewed-on: https://chromium-review.googlesource.com/1209288
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Michael Stanton <mvstanton@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55681}
1150 lines
36 KiB
JSON
1150 lines
36 KiB
JSON
{
|
|
"owners": ["jarin@chromium.org", "mvstanston@chromium.org"],
|
|
"name": "JSTests",
|
|
"run_count": 3,
|
|
"run_count_arm": 1,
|
|
"run_count_arm64": 1,
|
|
"timeout": 120,
|
|
"units": "score",
|
|
"total": true,
|
|
"resources": ["base.js"],
|
|
"tests": [
|
|
{
|
|
"name": "Proxies",
|
|
"path": ["Proxies"],
|
|
"main": "run.js",
|
|
"resources": ["proxies.js"],
|
|
"results_regexp": "^%s\\-Proxies\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "GetStringWithoutTrap"},
|
|
{"name": "GetStringWithTrap"},
|
|
{"name": "GetIndexWithoutTrap"},
|
|
{"name": "GetIndexWithTrap"},
|
|
{"name": "GetSymbolWithoutTrap"},
|
|
{"name": "GetSymbolWithTrap"},
|
|
{"name": "HasStringWithoutTrap"},
|
|
{"name": "HasStringWithTrap"},
|
|
{"name": "HasSymbolWithoutTrap"},
|
|
{"name": "HasSymbolWithTrap"},
|
|
{"name": "SetStringWithoutTrap"},
|
|
{"name": "SetStringWithTrap"},
|
|
{"name": "SetIndexWithoutTrap"},
|
|
{"name": "SetIndexWithTrap"},
|
|
{"name": "SetSymbolWithoutTrap"},
|
|
{"name": "SetSymbolWithTrap"},
|
|
{"name": "HasInIdiom"}
|
|
]
|
|
},
|
|
{
|
|
"name": "AsyncAwait",
|
|
"path": ["AsyncAwait"],
|
|
"main": "run.js",
|
|
"resources": [
|
|
"native.js",
|
|
"baseline-babel-es2017.js",
|
|
"baseline-naive-promises.js"
|
|
],
|
|
"flags": ["--allow-natives-syntax"],
|
|
"results_regexp": "^%s\\-AsyncAwait\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "BaselineES2017"},
|
|
{"name": "BaselineNaivePromises"},
|
|
{"name": "Native"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Generators",
|
|
"path": ["Generators"],
|
|
"main": "run.js",
|
|
"resources": ["generators.js"],
|
|
"results_regexp": "^Generators\\-Generators\\(Score\\): (.+)$"
|
|
},
|
|
{
|
|
"name": "ArrayLiteralInitialSpreadSmallPacked",
|
|
"path": ["ArrayLiteralInitialSpreadSmallPacked"],
|
|
"main": "run.js",
|
|
"resources": [],
|
|
"results_regexp": "^%s\\-ArrayLiteralInitialSpreadSmallPacked\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Spread"},
|
|
{"name": "ForLength"},
|
|
{"name": "ForLengthEmpty"},
|
|
{"name": "Slice"},
|
|
{"name": "Slice0"},
|
|
{"name": "ConcatReceive"},
|
|
{"name": "ConcatArg"},
|
|
{"name": "ForOfPush"},
|
|
{"name": "MapId"}
|
|
]
|
|
},
|
|
{
|
|
"name": "ArrayLiteralInitialSpreadLargePacked",
|
|
"path": ["ArrayLiteralInitialSpreadLargePacked"],
|
|
"main": "run.js",
|
|
"resources": [],
|
|
"results_regexp": "^%s\\-ArrayLiteralInitialSpreadLargePacked\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Spread"},
|
|
{"name": "ForLength"},
|
|
{"name": "ForLengthEmpty"},
|
|
{"name": "Slice"},
|
|
{"name": "Slice0"},
|
|
{"name": "ConcatReceive"},
|
|
{"name": "ConcatArg"}
|
|
]
|
|
},
|
|
{
|
|
"name": "ArrayLiteralInitialSpreadSmallHoley",
|
|
"path": ["ArrayLiteralInitialSpreadSmallHoley"],
|
|
"main": "run.js",
|
|
"resources": [],
|
|
"results_regexp": "^%s\\-ArrayLiteralInitialSpreadSmallHoley\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Spread"},
|
|
{"name": "ForLength"},
|
|
{"name": "ForLengthEmpty"},
|
|
{"name": "Slice"},
|
|
{"name": "Slice0"},
|
|
{"name": "ConcatReceive"},
|
|
{"name": "ConcatArg"},
|
|
{"name": "ForOfPush"},
|
|
{"name": "MapId"}
|
|
]
|
|
},
|
|
{
|
|
"name": "ArrayLiteralInitialSpreadLargeHoley",
|
|
"path": ["ArrayLiteralInitialSpreadLargeHoley"],
|
|
"main": "run.js",
|
|
"resources": [],
|
|
"results_regexp": "^%s\\-ArrayLiteralInitialSpreadLargeHoley\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Spread"},
|
|
{"name": "ForLength"},
|
|
{"name": "ForLengthEmpty"},
|
|
{"name": "Slice"},
|
|
{"name": "Slice0"},
|
|
{"name": "ConcatReceive"},
|
|
{"name": "ConcatArg"}
|
|
]
|
|
},
|
|
{
|
|
"name": "ArrayLiteralSpread",
|
|
"path": ["ArrayLiteralSpread"],
|
|
"main": "run.js",
|
|
"resources": [],
|
|
"results_regexp": "^%s\\-ArrayLiteralSpread\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Babel"},
|
|
{"name": "ForOfPush"},
|
|
{"name": "ForOfSet"},
|
|
{"name": "Spread"}
|
|
]
|
|
},
|
|
{
|
|
"name": "SpreadCallsGeneral",
|
|
"path": ["SpreadCallsGeneral"],
|
|
"main": "run.js",
|
|
"resources": [],
|
|
"results_regexp": "^%s\\-SpreadCallsGeneral\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "ApplySpreadLiteral"},
|
|
{"name": "SpreadCall"},
|
|
{"name": "SpreadCallSpreadLiteral"}
|
|
]
|
|
},
|
|
{
|
|
"name": "RestParameters",
|
|
"path": ["RestParameters"],
|
|
"main": "run.js",
|
|
"resources": ["rest.js"],
|
|
"units": "score",
|
|
"results_regexp": "^%s\\-RestParameters\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Basic1"},
|
|
{"name": "ReturnArgsBabel"},
|
|
{"name": "ReturnArgsNative"}
|
|
]
|
|
},
|
|
{
|
|
"name": "SpreadCalls",
|
|
"path": ["SpreadCalls"],
|
|
"main": "run.js",
|
|
"resources": ["spreadcalls.js"],
|
|
"units": "score",
|
|
"results_regexp": "^%s\\-SpreadCalls\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Call"},
|
|
{"name": "CallMethod"},
|
|
{"name": "CallNew"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Classes",
|
|
"path": ["Classes"],
|
|
"main": "run.js",
|
|
"resources": [
|
|
"super.js",
|
|
"default-constructor.js",
|
|
"leaf-constructors.js"],
|
|
"results_regexp": "^%s\\-Classes\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Super"},
|
|
{"name": "DefaultConstructor"},
|
|
{"name": "LeafConstructors"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Closures",
|
|
"path": ["Closures"],
|
|
"main": "run.js",
|
|
"resources": ["closures.js"],
|
|
"flags": [],
|
|
"results_regexp": "^%s\\-Closures\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Closures"}
|
|
]
|
|
},
|
|
{
|
|
"name": "ClosuresMarkForTierUp",
|
|
"path": ["Closures"],
|
|
"main": "run.js",
|
|
"resources": ["closures.js"],
|
|
"flags": [],
|
|
"results_regexp": "^%s\\-Closures\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Closures"}
|
|
]
|
|
},
|
|
{
|
|
"name": "ManyClosures",
|
|
"path": ["ManyClosures"],
|
|
"main": "run.js",
|
|
"resources": ["create-many-closures.js"],
|
|
"flags": [ "--allow-natives-syntax", "--expose-gc" ],
|
|
"results_regexp": "^%s\\-ManyClosures\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "ManyClosures"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Collections",
|
|
"path": ["Collections"],
|
|
"main": "run.js",
|
|
"resources": [
|
|
"common.js",
|
|
"map.js",
|
|
"run.js",
|
|
"set.js",
|
|
"weakmap.js",
|
|
"weakset.js"
|
|
],
|
|
"results_regexp": "^%s\\-Collections\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Map-Smi"},
|
|
{"name": "Map-String"},
|
|
{"name": "Map-Object"},
|
|
{"name": "Map-Object-Set-Get-Large"},
|
|
{"name": "Map-Double"},
|
|
{"name": "Map-Iteration"},
|
|
{"name": "Map-Iterator"},
|
|
{"name": "Set-Smi"},
|
|
{"name": "Set-String"},
|
|
{"name": "Set-Object"},
|
|
{"name": "Set-Double"},
|
|
{"name": "Set-Iteration"},
|
|
{"name": "Set-Iterator"},
|
|
{"name": "WeakMap"},
|
|
{"name": "WeakMap-Constructor"},
|
|
{"name": "WeakSet"},
|
|
{"name": "WeakSet-Constructor"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Iterators",
|
|
"path": ["Iterators"],
|
|
"main": "run.js",
|
|
"resources": ["forof.js"],
|
|
"results_regexp": "^%s\\-Iterators\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "ForOf"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Strings",
|
|
"path": ["Strings"],
|
|
"run_count": 1,
|
|
"timeout": 240,
|
|
"timeout_arm": 420,
|
|
"units": "score",
|
|
"tests": [
|
|
{
|
|
"name": "StringFunctions",
|
|
"main": "run.js",
|
|
"resources": [ "harmony-string.js" ],
|
|
"test_flags": [ "harmony-string" ],
|
|
"results_regexp": "^%s\\-Strings\\(Score\\): (.+)$",
|
|
"run_count": 1,
|
|
"tests": [
|
|
{"name": "StringRepeat"},
|
|
{"name": "StringStartsWith"},
|
|
{"name": "StringEndsWith"},
|
|
{"name": "StringIncludes"},
|
|
{"name": "StringFromCodePoint"},
|
|
{"name": "StringCodePointAt"},
|
|
{"name": "StringCodePointAtSum"}
|
|
]
|
|
},
|
|
{
|
|
"name": "StringIndexOf",
|
|
"main": "run.js",
|
|
"resources": [ "string-indexof.js" ],
|
|
"test_flags": [ "string-indexof" ],
|
|
"results_regexp": "^%s\\-Strings\\(Score\\): (.+)$",
|
|
"run_count": 1,
|
|
"tests": [
|
|
{"name": "StringIndexOfConstant"},
|
|
{"name": "StringIndexOfNonConstant"}
|
|
]
|
|
},
|
|
{
|
|
"name": "StringSplit",
|
|
"main": "run.js",
|
|
"resources": [ "string-split.js" ],
|
|
"test_flags": [ "string-split" ],
|
|
"results_regexp": "^%s\\-Strings\\(Score\\): (.+)$",
|
|
"run_count": 1,
|
|
"tests": [
|
|
{"name": "ShortSubjectEmptySeparator"},
|
|
{"name": "LongSubjectEmptySeparator"},
|
|
{"name": "ShortTwoBytesSubjectEmptySeparator"},
|
|
{"name": "LongTwoBytesSubjectEmptySeparator"},
|
|
{"name": "ShortSubject"},
|
|
{"name": "LongSubject"},
|
|
{"name": "ShortTwoBytesSubject"},
|
|
{"name": "LongTwoBytesSubject"}
|
|
]
|
|
},
|
|
{
|
|
"name": "StringAt",
|
|
"main": "run.js",
|
|
"resources": [ "string-stringat.js" ],
|
|
"test_flags": [ "string-stringat" ],
|
|
"results_regexp": "^%s\\-Strings\\(Score\\): (.+)$",
|
|
"run_count": 1,
|
|
"tests": [
|
|
{"name": "StringCharCodeAtConstant"},
|
|
{"name": "StringCharCodeAtNonConstant"},
|
|
{"name": "StringCharCodeAtConstantInbounds"},
|
|
{"name": "StringCharCodeAtNonConstantInbounds"},
|
|
{"name": "StringCodePointAtConstant"},
|
|
{"name": "StringCodePointAtNonConstant"},
|
|
{"name": "StringCodePointAtConstantInbounds"},
|
|
{"name": "StringCodePointAtNonConstantInbounds"}
|
|
]
|
|
},
|
|
{
|
|
"name": "StringAtComparison",
|
|
"main": "run.js",
|
|
"resources": [ "string-stringat-comp.js" ],
|
|
"test_flags": [ "string-stringat-comp" ],
|
|
"results_regexp": "^%s\\-Strings\\(Score\\): (.+)$",
|
|
"run_count": 1,
|
|
"tests": [
|
|
{"name": "charCodeAt_const"},
|
|
{"name": "charCodeAt_both"},
|
|
{"name": "charAt_const"},
|
|
{"name": "charAt_never"},
|
|
{"name": "charAt_both"},
|
|
{"name": "stringIndex_const"}
|
|
]
|
|
},
|
|
{
|
|
"name": "StringMatchAll",
|
|
"main": "run.js",
|
|
"resources": [ "string-matchall.js" ],
|
|
"flags": [
|
|
"--harmony-string-matchall"
|
|
],
|
|
"test_flags": [ "string-matchall" ],
|
|
"results_regexp": "^%s\\-Strings\\(Score\\): (.+)$",
|
|
"run_count": 1,
|
|
"tests": [
|
|
{"name": "StringMatchAllBuiltinRegExpIteratorCreation"},
|
|
{"name": "StringMatchAllBuiltinStringIteratorCreation"},
|
|
{"name": "StringMatchAllBuiltinString"},
|
|
{"name": "StringMatchAllManualString"},
|
|
{"name": "StringMatchAllBuiltinRegExp"},
|
|
{"name": "StringMatchAllManualRegExp"},
|
|
{"name": "StringMatchAllBuiltinZeroWidth"},
|
|
{"name": "StringMatchAllBuiltinZeroWidthUnicode"}
|
|
]
|
|
},
|
|
{
|
|
"name": "StringStartsEndsWithComparison",
|
|
"main": "run.js",
|
|
"resources": [ "string-startsendswith-comp.js" ],
|
|
"test_flags": [ "string-startsendswith-comp" ],
|
|
"results_regexp": "^%s\\-Strings\\(Score\\): (.+)$",
|
|
"run_count": 1,
|
|
"tests": [
|
|
{"name": "startsWith"},
|
|
{"name": "startsIndex"},
|
|
{"name": "endsWith"},
|
|
{"name": "endsIndex"}
|
|
]
|
|
},
|
|
{
|
|
"name": "StringSubstring",
|
|
"main": "run.js",
|
|
"resources": [ "string-substring.js" ],
|
|
"test_flags": [ "string-substring" ],
|
|
"results_regexp": "^%s\\-Strings\\(Score\\): (.+)$",
|
|
"run_count": 1,
|
|
"tests": [
|
|
{"name": "StringDropFirstSlice"},
|
|
{"name": "StringDropFirstSubstr"},
|
|
{"name": "StringDropFirstSubstring"},
|
|
{"name": "StringTakeFirstSlice"},
|
|
{"name": "StringTakeFirstSubstr"},
|
|
{"name": "StringTakeFirstSubstring"},
|
|
{"name": "StringDropLastSlice"},
|
|
{"name": "StringDropLastSubstr"},
|
|
{"name": "StringDropLastSubstring"},
|
|
{"name": "StringTakeLastSlice"},
|
|
{"name": "StringTakeLastSubstr"},
|
|
{"name": "StringTakeLastSubstring"},
|
|
{"name": "StringDropFirstSlice"},
|
|
{"name": "StringDropFirstSubstr"},
|
|
{"name": "StringDropFirstSubstring"}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "StringIterators",
|
|
"path": ["StringIterators"],
|
|
"main": "run.js",
|
|
"resources": ["string-iterator.js"],
|
|
"results_regexp": "^%s\\-StringIterators\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Spread_OneByteShort"},
|
|
{"name": "Spread_TwoByteShort"},
|
|
{"name": "Spread_WithSurrogatePairsShort"},
|
|
{"name": "ForOf_OneByteShort"},
|
|
{"name": "ForOf_TwoByteShort"},
|
|
{"name": "ForOf_WithSurrogatePairsShort"},
|
|
{"name": "ForOf_OneByteLong"},
|
|
{"name": "ForOf_TwoByteLong"},
|
|
{"name": "ForOf_WithSurrogatePairsLong"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Templates",
|
|
"path": ["Templates"],
|
|
"main": "run.js",
|
|
"resources": ["templates.js"],
|
|
"units": "score",
|
|
"results_regexp": "^%s\\-Templates\\(Score\\): (.+)$",
|
|
"total": true,
|
|
"tests": [
|
|
{"name": "Untagged"},
|
|
{"name": "LargeUntagged"},
|
|
{"name": "Tagged"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Object",
|
|
"path": ["Object"],
|
|
"main": "run.js",
|
|
"flags": ["--harmony"],
|
|
"resources": [
|
|
"assign.js",
|
|
"create.js",
|
|
"entries.js",
|
|
"values.js"
|
|
],
|
|
"results_regexp": "^%s\\-Object\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Assign"},
|
|
{"name": "Create"},
|
|
{"name": "Entries"},
|
|
{"name": "EntriesMegamorphic"},
|
|
{"name": "Values"},
|
|
{"name": "ValuesMegamorphic"}
|
|
]
|
|
},
|
|
{
|
|
"name": "ObjectLiteralSpread",
|
|
"path": ["ObjectLiteralSpread"],
|
|
"main": "run.js",
|
|
"resources": [],
|
|
"results_regexp": "^%s\\-ObjectLiteralSpread\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Babel"},
|
|
{"name": "BabelAndOverwrite"},
|
|
{"name": "ObjectAssign"},
|
|
{"name": "ObjectAssignAndOverwrite"},
|
|
{"name": "ObjectSpread"},
|
|
{"name": "ObjectSpreadAndOverwrite"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Scope",
|
|
"path": ["Scope"],
|
|
"main": "run.js",
|
|
"resources": ["with.js"],
|
|
"results_regexp": "^%s\\-Scope\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "With"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Exceptions",
|
|
"path": ["Exceptions"],
|
|
"main": "run.js",
|
|
"resources": ["try-catch.js"],
|
|
"results_regexp": "^%s\\-Exceptions\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Try-Catch"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Keys",
|
|
"path": ["Keys"],
|
|
"main": "run.js",
|
|
"resources": ["keys.js"],
|
|
"results_regexp": "^%s\\-Keys\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Object.keys()"},
|
|
{"name": "for-in"},
|
|
{"name": "for-in hasOwnProperty()"},
|
|
{"name": "for (i < Object.keys().length)"},
|
|
{"name": "Object.keys().forEach()"},
|
|
{"name": "for (i < array.length)"},
|
|
{"name": "for (i < length)"}
|
|
]
|
|
},
|
|
{
|
|
"name": "PropertyQueries",
|
|
"path": ["PropertyQueries"],
|
|
"main": "run.js",
|
|
"resources": ["property-queries.js"],
|
|
"results_regexp": "^%s\\-PropertyQueries\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "in--INTERN-prop"},
|
|
{"name": "in--DEINTERN-prop"},
|
|
{"name": "in--NE-INTERN-prop"},
|
|
{"name": "in--NE-DEINTERN-prop"},
|
|
{"name": "in--el"},
|
|
{"name": "in--el-str"},
|
|
{"name": "in--NE-el"},
|
|
{"name": "Object.hasOwnProperty--INTERN-prop"},
|
|
{"name": "Object.hasOwnProperty--DEINTERN-prop"},
|
|
{"name": "Object.hasOwnProperty--NE-INTERN-prop"},
|
|
{"name": "Object.hasOwnProperty--NE-DEINTERN-prop"},
|
|
{"name": "Object.hasOwnProperty--el"},
|
|
{"name": "Object.hasOwnProperty--el-str"},
|
|
{"name": "Object.hasOwnProperty--NE-el"}
|
|
]
|
|
},
|
|
{
|
|
"name": "DataView",
|
|
"path": ["DataView"],
|
|
"main": "run.js",
|
|
"resources": ["dataviewtest.js"],
|
|
"results_regexp": "^DataView\\-%s\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "DataViewTest-DataView-BigEndian"},
|
|
{"name": "DataViewTest-DataView-LittleEndian"},
|
|
{"name": "DataViewTest-DataView-Floats"},
|
|
{"name": "DataViewTest-TypedArray-BigEndian"},
|
|
{"name": "DataViewTest-TypedArray-LittleEndian"},
|
|
{"name": "DataViewTest-TypedArray-Floats"}
|
|
]
|
|
},
|
|
{
|
|
"name": "TypedArrays",
|
|
"path": ["TypedArrays"],
|
|
"results_regexp": "^TypedArrays\\-%s\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{
|
|
"name": "CopyWithin",
|
|
"main": "run.js",
|
|
"resources": ["copywithin.js"],
|
|
"test_flags": ["copywithin"]
|
|
},
|
|
{
|
|
"name": "Constructor",
|
|
"main": "run.js",
|
|
"resources": ["constructor.js"],
|
|
"test_flags": ["constructor"]
|
|
},
|
|
{
|
|
"name": "ConstructWithBuffer",
|
|
"main": "run.js",
|
|
"resources": ["construct-buffer.js"],
|
|
"test_flags": ["construct-buffer"]
|
|
},
|
|
{
|
|
"name": "ConstructArrayLike",
|
|
"main": "run.js",
|
|
"resources": ["construct-arraylike.js"],
|
|
"test_flags": ["construct-arraylike"]
|
|
},
|
|
{
|
|
"name": "ConstructByTypedArray",
|
|
"main": "run.js",
|
|
"resources": ["construct-typedarray.js"],
|
|
"test_flags": ["construct-typedarray"]
|
|
},
|
|
{
|
|
"name": "ConstructBySameTypedArray",
|
|
"main": "run.js",
|
|
"resources": ["construct-same-typedarray.js"],
|
|
"test_flags": ["construct-same-typedarray"]
|
|
},
|
|
{
|
|
"name": "ConstructAllTypedArrays",
|
|
"main": "run.js",
|
|
"resources": ["construct-all-typedarrays.js"],
|
|
"test_flags": ["construct-all-typedarrays"]
|
|
},
|
|
{
|
|
"name": "SetFromArrayLike",
|
|
"main": "run.js",
|
|
"resources": ["set-from-arraylike.js"],
|
|
"test_flags": ["set-from-arraylike"]
|
|
},
|
|
{
|
|
"name": "SetFromDifferentType",
|
|
"main": "run.js",
|
|
"resources": ["set-from-different-type.js"],
|
|
"test_flags": ["set-from-different-type"]
|
|
},
|
|
{
|
|
"name": "SetFromSameType",
|
|
"main": "run.js",
|
|
"resources": ["set-from-same-type.js"],
|
|
"test_flags": ["set-from-same-type"]
|
|
},
|
|
{
|
|
"name": "SliceNoSpecies",
|
|
"main": "run.js",
|
|
"resources": ["slice-nospecies.js"],
|
|
"test_flags": ["slice-nospecies"]
|
|
},
|
|
{
|
|
"name": "SortIntTypes",
|
|
"main": "run.js",
|
|
"resources": ["sort.js", "sort-int.js"],
|
|
"test_flags": ["sort-int"]
|
|
},
|
|
{
|
|
"name": "SortBigIntTypes",
|
|
"main": "run.js",
|
|
"resources": ["sort.js", "sort-bigint.js"],
|
|
"test_flags": ["sort-bigint"]
|
|
},
|
|
{
|
|
"name": "SortFloatTypes",
|
|
"main": "run.js",
|
|
"resources": ["sort.js", "sort-float.js"],
|
|
"test_flags": ["sort-float"]
|
|
},
|
|
{
|
|
"name": "SortCustomCompareFnIntTypes",
|
|
"main": "run.js",
|
|
"resources": ["sort.js", "sort-cmpfn-int.js"],
|
|
"test_flags": ["sort-cmpfn-int"]
|
|
},
|
|
{
|
|
"name": "SortCustomCompareFnBigIntTypes",
|
|
"main": "run.js",
|
|
"resources": ["sort.js", "sort-cmpfn-bigint.js"],
|
|
"test_flags": ["sort-cmpfn-bigint"]
|
|
},
|
|
{
|
|
"name": "SortCustomCompareFnFloatTypes",
|
|
"main": "run.js",
|
|
"resources": ["sort.js", "sort-cmpfn-float.js"],
|
|
"test_flags": ["sort-cmpfn-float"]
|
|
},
|
|
{
|
|
"name": "SubarrayNoSpecies",
|
|
"main": "run.js",
|
|
"resources": ["subarray-nospecies.js"],
|
|
"test_flags": ["subarray-nospecies"]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Array",
|
|
"path": ["Array"],
|
|
"main": "run.js",
|
|
"resources": [
|
|
"filter.js", "map.js", "every.js", "join.js", "some.js", "reduce.js",
|
|
"reduce-right.js", "to-string.js", "find.js", "find-index.js",
|
|
"from.js", "of.js", "for-each.js", "slice.js", "copy-within.js"
|
|
],
|
|
"flags": [
|
|
"--allow-natives-syntax"
|
|
],
|
|
"results_regexp": "^%s\\-Array\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "NaiveForEachReplacement"},
|
|
{"name": "DoubleForEach"},
|
|
{"name": "SmiForEach"},
|
|
{"name": "FastForEach"},
|
|
{"name": "GenericForEach"},
|
|
{"name": "OptFastForEach"},
|
|
{"name": "OptUnreliableForEach"},
|
|
{"name": "NaiveFilterReplacement"},
|
|
{"name": "DoubleFilter"},
|
|
{"name": "SmiFilter"},
|
|
{"name": "FastFilter"},
|
|
{"name": "GenericFilter"},
|
|
{"name": "OptFastFilter"},
|
|
{"name": "OptUnreliableFilter"},
|
|
{"name": "NaiveMapReplacement"},
|
|
{"name": "DoubleMap"},
|
|
{"name": "SmiMap"},
|
|
{"name": "FastMap"},
|
|
{"name": "GenericMap"},
|
|
{"name": "OptFastMap"},
|
|
{"name": "OptUnreliableMap"},
|
|
{"name": "DoubleEvery"},
|
|
{"name": "SmiEvery"},
|
|
{"name": "FastEvery"},
|
|
{"name": "OptFastEvery"},
|
|
{"name": "OptUnreliableEvery"},
|
|
{"name": "SmiJoin"},
|
|
{"name": "StringJoin"},
|
|
{"name": "SparseSmiJoin"},
|
|
{"name": "SparseStringJoin"},
|
|
{"name": "DoubleSome"},
|
|
{"name": "SmiSome"},
|
|
{"name": "FastSome"},
|
|
{"name": "OptFastSome"},
|
|
{"name": "OptUnreliableSome"},
|
|
{"name": "DoubleReduce"},
|
|
{"name": "SmiReduce"},
|
|
{"name": "FastReduce"},
|
|
{"name": "OptFastReduce"},
|
|
{"name": "OptUnreliableReduce"},
|
|
{"name": "DoubleReduceRight"},
|
|
{"name": "SmiReduceRight"},
|
|
{"name": "FastReduceRight"},
|
|
{"name": "OptFastReduceRight"},
|
|
{"name": "OptUnreliableReduceRight"},
|
|
{"name": "SmiToString"},
|
|
{"name": "StringToString"},
|
|
{"name": "SparseSmiToString"},
|
|
{"name": "SparseStringToString"},
|
|
{"name": "NaiveFindReplacement"},
|
|
{"name": "DoubleFind"},
|
|
{"name": "SmiFind"},
|
|
{"name": "FastFind"},
|
|
{"name": "GenericFind"},
|
|
{"name": "OptFastFind"},
|
|
{"name": "OptUnreliableFind"},
|
|
{"name": "NaiveFindIndexReplacement"},
|
|
{"name": "DoubleFindIndex"},
|
|
{"name": "SmiFindIndex"},
|
|
{"name": "FastFindIndex"},
|
|
{"name": "GenericFindIndex"},
|
|
{"name": "OptFastFindIndex"},
|
|
{"name": "OptUnreliableFindIndex"},
|
|
{"name": "EmptyArrayOf"},
|
|
{"name": "SmallSmiArrayOf"},
|
|
{"name": "LargeSmiArrayOf"},
|
|
{"name": "SmallTransplantedArrayOf"},
|
|
{"name": "SmallDoubleArrayOf"},
|
|
{"name": "SmallStringArrayOf"},
|
|
{"name": "SmallMixedArrayOf"},
|
|
{"name": "SmiFrom"},
|
|
{"name": "SmallSmiFrom"},
|
|
{"name": "SmiNoMapFrom"},
|
|
{"name": "SmiNoIteratorFrom"},
|
|
{"name": "TransplantedFrom"},
|
|
{"name": "DoubleFrom"},
|
|
{"name": "StringFrom"},
|
|
{"name": "StringNoMapFrom"},
|
|
{"name": "MixedFrom"},
|
|
{"name": "Array.slice(500)"},
|
|
{"name": "Array.slice(500,999)"},
|
|
{"name": "Array.slice(-500)"},
|
|
{"name": "Array.slice(200,700)"},
|
|
{"name": "Array.slice(200,-300)"},
|
|
{"name": "Array.slice(4,1)"},
|
|
{"name": "Array.slice(500,999)-dict"},
|
|
{"name": "Array.slice(200,700)-dict"},
|
|
{"name": "Array.slice(200,-300)-dict"},
|
|
{"name": "Array.slice(4,1)-dict"},
|
|
{"name": "SmiCopyWithin"},
|
|
{"name": "StringCopyWithin"},
|
|
{"name": "SparseSmiCopyWithin"},
|
|
{"name": "SparseStringCopyWithin"}
|
|
]
|
|
},
|
|
{
|
|
"name": "ArraySort",
|
|
"path": ["ArraySort"],
|
|
"main": "run.js",
|
|
"resources": ["sort-base.js", "sort.js"],
|
|
"test_flags": ["sort"],
|
|
"results_regexp": "^%s\\-ArraySort\\(Score\\): (.+)$",
|
|
"flags": [
|
|
"--allow-natives-syntax"
|
|
],
|
|
"tests": [
|
|
{"name": "PackedSmi"},
|
|
{"name": "PackedDouble"},
|
|
{"name": "PackedElement"},
|
|
{"name": "HoleySmi"},
|
|
{"name": "HoleyDouble"},
|
|
{"name": "HoleyElement"},
|
|
{"name": "Dictionary"}
|
|
]
|
|
},
|
|
{
|
|
"name": "ArraySortCompareFns",
|
|
"path": ["ArraySort"],
|
|
"main": "run.js",
|
|
"resources": ["sort-base.js", "sort-cmpfn.js"],
|
|
"test_flags": ["sort-cmpfn"],
|
|
"results_regexp": "^%s\\-ArraySort\\(Score\\): (.+)$",
|
|
"flags": [
|
|
"--allow-natives-syntax"
|
|
],
|
|
"tests": [
|
|
{"name": "PackedSmi"},
|
|
{"name": "PackedDouble"},
|
|
{"name": "PackedElement"},
|
|
{"name": "HoleySmi"},
|
|
{"name": "HoleyDouble"},
|
|
{"name": "HoleyElement"},
|
|
{"name": "Dictionary"}
|
|
]
|
|
},
|
|
{
|
|
"name": "ArraySortCompareFnKindChange",
|
|
"path": ["ArraySort"],
|
|
"main": "run.js",
|
|
"resources": ["sort-base.js", "sort-cmpfn-kindchange.js"],
|
|
"test_flags": ["sort-cmpfn-kindchange"],
|
|
"results_regexp": "^%s\\-ArraySort\\(Score\\): (.+)$",
|
|
"flags": [
|
|
"--allow-natives-syntax"
|
|
],
|
|
"tests": [
|
|
{"name": "PackedSmiToPackedDouble"},
|
|
{"name": "HoleySmiToHoleyDouble"},
|
|
{"name": "PackedDoubleToHoleyDouble"},
|
|
{"name": "PackedElementToDictionary"},
|
|
{"name": "HoleyElementToDictionary"}
|
|
]
|
|
},
|
|
{
|
|
"name": "ArraySortPreSorted",
|
|
"path": ["ArraySort"],
|
|
"main": "run.js",
|
|
"resources": ["sort-base.js", "sort-presorted.js"],
|
|
"test_flags": ["sort-presorted"],
|
|
"results_regexp": "^%s\\-ArraySort\\(Score\\): (.+)$",
|
|
"flags": [
|
|
"--allow-natives-syntax"
|
|
],
|
|
"tests": [
|
|
{"name": "Random"},
|
|
{"name": "Up"},
|
|
{"name": "Down"},
|
|
{"name": "Saw1000"},
|
|
{"name": "Saw500"},
|
|
{"name": "Saw200"},
|
|
{"name": "Saw200Symmetric"},
|
|
{"name": "Saw200Down"},
|
|
{"name": "UpDown"},
|
|
{"name": "UpUp"},
|
|
{"name": "DownDown"},
|
|
{"name": "DownUp"}
|
|
]
|
|
},
|
|
{
|
|
"name": "ArraySortMegamorphic",
|
|
"path": ["ArraySort"],
|
|
"main": "run.js",
|
|
"resources": ["sort-base.js", "sort-megamorphic.js"],
|
|
"test_flags": ["sort-megamorphic"],
|
|
"results_regexp": "^%s\\-ArraySort\\(Score\\): (.+)$",
|
|
"flags": [
|
|
"--allow-natives-syntax"
|
|
],
|
|
"tests": [
|
|
{"name": "Base"},
|
|
{"name": "MultipleCompareFns"}
|
|
]
|
|
},
|
|
{
|
|
"name": "ArraySortDifferentLengths",
|
|
"path": ["ArraySort"],
|
|
"main": "run.js",
|
|
"resources": ["sort-base.js", "sort-lengths.js"],
|
|
"test_flags": ["sort-lengths"],
|
|
"results_regexp": "^%s\\-ArraySort\\(Score\\): (.+)$",
|
|
"flags": [
|
|
"--allow-natives-syntax"
|
|
],
|
|
"tests": [
|
|
{"name": "Random10"},
|
|
{"name": "Sorted10"},
|
|
{"name": "Random100"},
|
|
{"name": "Sorted100"},
|
|
{"name": "Random1000"},
|
|
{"name": "Sorted1000"},
|
|
{"name": "Random10000"},
|
|
{"name": "Sorted10000"},
|
|
{"name": "Random100000"},
|
|
{"name": "Sorted100000"}
|
|
]
|
|
},
|
|
{
|
|
"name": "ForLoops",
|
|
"path": ["ForLoops"],
|
|
"main": "run.js",
|
|
"resources": [
|
|
"for_loop.js"
|
|
],
|
|
"results_regexp": "^%s\\-ForLoop\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Let-Standard"},
|
|
{"name": "Var-Standard"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Modules",
|
|
"path": ["Modules"],
|
|
"main": "run.js",
|
|
"resources": ["basic-export.js", "basic-import.js", "basic-namespace.js", "value.js"],
|
|
"flags": [
|
|
"--allow-natives-syntax",
|
|
"--harmony-dynamic-import"
|
|
],
|
|
"results_regexp": "^%s\\-Modules\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "BasicExport"},
|
|
{"name": "BasicImport"},
|
|
{"name": "BasicNamespace"}
|
|
]
|
|
},
|
|
{
|
|
"name": "BytecodeHandlers",
|
|
"path": ["BytecodeHandlers"],
|
|
"flags": [ "--no-opt" ],
|
|
"tests": [
|
|
{
|
|
"name": "Compare",
|
|
"main": "run.js",
|
|
"resources": [ "compare.js" ],
|
|
"test_flags": [ "compare" ],
|
|
"results_regexp": "^%s\\-BytecodeHandler\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Smi-StrictEquals-True"},
|
|
{"name": "Smi-StrictEquals-False"},
|
|
{"name": "Number-StrictEquals-True"},
|
|
{"name": "Number-StrictEquals-False"},
|
|
{"name": "String-StrictEquals-True"},
|
|
{"name": "String-StrictEquals-False"},
|
|
{"name": "SmiString-StrictEquals"},
|
|
{"name": "Smi-Equals-True"},
|
|
{"name": "Smi-Equals-False"},
|
|
{"name": "Number-Equals-True"},
|
|
{"name": "Number-Equals-False"},
|
|
{"name": "String-Equals-True"},
|
|
{"name": "String-Equals-False"},
|
|
{"name": "ObjectNull-Equals"},
|
|
{"name": "SmiString-Equals"},
|
|
{"name": "Smi-RelationalCompare"},
|
|
{"name": "Number-RelationalCompare"},
|
|
{"name": "String-RelationalCompare"},
|
|
{"name": "SmiString-RelationalCompare"}
|
|
]
|
|
},
|
|
{
|
|
"name": "StringConcat",
|
|
"main": "run.js",
|
|
"resources": [ "string-concat.js" ],
|
|
"test_flags": [ "string-concat" ],
|
|
"results_regexp": "^%s\\-BytecodeHandler\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "ShortString-StringConcat-2"},
|
|
{"name": "ShortString-StringConcat-3"},
|
|
{"name": "ShortString-StringConcat-5"},
|
|
{"name": "ShortString-StringConcat-10"},
|
|
{"name": "LongString-StringConcat-2"},
|
|
{"name": "LongString-StringConcat-3"},
|
|
{"name": "LongString-StringConcat-5"},
|
|
{"name": "LongString-StringConcat-10"},
|
|
{"name": "NumberString-StringConcat-2"},
|
|
{"name": "NumberString-StringConcat-3"},
|
|
{"name": "NumberString-StringConcat-5"},
|
|
{"name": "NumberString-StringConcat-10"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Arithmetic",
|
|
"main": "run.js",
|
|
"resources": [ "arithmetic.js" ],
|
|
"test_flags": [ "arithmetic" ],
|
|
"results_regexp": "^%s\\-BytecodeHandler\\(Score\\): (.+)$",
|
|
"timeout": 240,
|
|
"tests": [
|
|
{"name": "Smi-Add"},
|
|
{"name": "Number-Add"},
|
|
{"name": "Number-Oddball-Add"},
|
|
{"name": "String-Add"},
|
|
{"name": "Object-Add"},
|
|
{"name": "Number-String-Add"},
|
|
{"name": "Smi-Sub"},
|
|
{"name": "Number-Sub"},
|
|
{"name": "Number-Oddball-Sub"},
|
|
{"name": "Object-Sub"},
|
|
{"name": "Smi-Mul"},
|
|
{"name": "Number-Mul"},
|
|
{"name": "Number-Oddball-Mul"},
|
|
{"name": "Object-Mul"},
|
|
{"name": "Smi-Div"},
|
|
{"name": "Number-Div"},
|
|
{"name": "Number-Oddball-Div"},
|
|
{"name": "Object-Div"},
|
|
{"name": "Smi-Mod"},
|
|
{"name": "Number-Mod"},
|
|
{"name": "Number-Oddball-Mod"},
|
|
{"name": "Object-Mod"},
|
|
{"name": "Smi-Constant-Add"},
|
|
{"name": "Smi-Constant-Sub"},
|
|
{"name": "Smi-Constant-Mul"},
|
|
{"name": "Smi-Constant-Div"},
|
|
{"name": "Smi-Constant-Mod"},
|
|
{"name": "Smi-Increment"},
|
|
{"name": "Number-Increment"},
|
|
{"name": "Smi-Decrement"},
|
|
{"name": "Number-Decrement"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Bitwise",
|
|
"main": "run.js",
|
|
"resources": [ "bitwise.js" ],
|
|
"test_flags": [ "bitwise" ],
|
|
"results_regexp": "^%s\\-BytecodeHandler\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Smi-Or"},
|
|
{"name": "Number-Or"},
|
|
{"name": "Smi-Xor"},
|
|
{"name": "Number-Xor"},
|
|
{"name": "Smi-And"},
|
|
{"name": "Number-And"},
|
|
{"name": "Smi-Constant-Or"},
|
|
{"name": "Smi-Constant-Xor"},
|
|
{"name": "Smi-Constant-And"},
|
|
{"name": "Smi-ShiftLeft"},
|
|
{"name": "Number-ShiftLeft"},
|
|
{"name": "Smi-ShiftRight"},
|
|
{"name": "Number-ShiftRight"},
|
|
{"name": "Smi-ShiftRightLogical"},
|
|
{"name": "Number-ShiftRightLogical"},
|
|
{"name": "Smi-Constant-ShiftLeft"},
|
|
{"name": "Smi-Constant-ShiftRight"},
|
|
{"name": "Smi-Constant-ShiftRightLogical"}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "ExpressionDepth",
|
|
"path": ["ExpressionDepth"],
|
|
"main": "run.js",
|
|
"flags": [ "--no-opt" ],
|
|
"results_regexp": "^%s\\-ExpressionDepth\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Or-Value"},
|
|
{"name": "Or-Test"},
|
|
{"name": "And-Value"},
|
|
{"name": "And-Test"},
|
|
{"name": "Comma-Value"},
|
|
{"name": "Comma-Test"},
|
|
{"name": "Equals-Value"},
|
|
{"name": "Equals-Test"},
|
|
{"name": "StrictEquals-Value"},
|
|
{"name": "StrictEquals-Test"},
|
|
{"name": "GreaterThan-Value"},
|
|
{"name": "GreaterThan-Test"},
|
|
{"name": "Add"},
|
|
{"name": "Sub"},
|
|
{"name": "StringConcat"},
|
|
{"name": "BitwiseOr"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Inspector",
|
|
"path": ["Inspector"],
|
|
"main": "run.js",
|
|
"resources": [ "debugger.js", "runtime.js" ],
|
|
"flags": ["--enable-inspector","--allow-natives-syntax"],
|
|
"results_regexp": "^%s\\-Inspector\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Debugger.paused"},
|
|
{"name": "Runtime.evaluate(String16Cstor)"},
|
|
{"name": "Debugger.getPossibleBreakpoints"},
|
|
{"name": "AsyncStacksInstrumentation"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Parsing",
|
|
"path": ["Parsing"],
|
|
"main": "run.js",
|
|
"flags": ["--no-compilation-cache", "--allow-natives-syntax"],
|
|
"resources": [ "comments.js", "strings.js", "arrowfunctions.js"],
|
|
"results_regexp": "^%s\\-Parsing\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "OneLineComment"},
|
|
{"name": "OneLineComments"},
|
|
{"name": "MultiLineComment"},
|
|
{"name": "SingleLineString"},
|
|
{"name": "SingleLineStrings"},
|
|
{"name": "MultiLineString"},
|
|
{"name": "ArrowFunctionShort"},
|
|
{"name": "ArrowFunctionLong"},
|
|
{"name": "CommaSepExpressionListShort"},
|
|
{"name": "CommaSepExpressionListLong"},
|
|
{"name": "CommaSepExpressionListLate"},
|
|
{"name": "FakeArrowFunction"}
|
|
]
|
|
},
|
|
{
|
|
"name": "Numbers",
|
|
"path": ["Numbers"],
|
|
"main": "run.js",
|
|
"flags": ["--allow-natives-syntax"],
|
|
"resources": [ "toNumber.js"],
|
|
"results_regexp": "^%s\\-Numbers\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "Constructor"},
|
|
{"name": "UnaryPlus"},
|
|
{"name": "ParseFloat"}
|
|
]
|
|
},
|
|
{
|
|
"name": "TurboFan",
|
|
"path": ["TurboFan"],
|
|
"main": "run.js",
|
|
"flags": [],
|
|
"resources": [ "typedLowering.js"],
|
|
"results_regexp": "^%s\\-TurboFan\\(Score\\): (.+)$",
|
|
"tests": [
|
|
{"name": "NumberToString"}
|
|
]
|
|
}
|
|
]
|
|
}
|