v8/test/js-perf-test/JSTests.json
peterwmwong f8f742700f [js-perf-test] Add TypedArray#join micro-benchmarks
This patch adds micro-benchmarks for TypedArray#join with and without a separator.
The benchmark can be used to measure any TypedArray#join optimizations we implement in the future.

Test:

  tools/run_perf.py --binary-override-path=out/x64.release/d8 \
    --filter JSTests/TypedArrays/Join \
    test/js-perf-test/JSTests.json

Bug: v8:7624
Change-Id: I526af50da0eff400d21b807ba30a9de2c3d87476
Reviewed-on: https://chromium-review.googlesource.com/c/1369333
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org>
Commit-Queue: Peter Wong <peter.wm.wong@gmail.com>
Cr-Commit-Position: refs/heads/master@{#58163}
2018-12-11 16:06:48 +00:00

1358 lines
42 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": "ArrayLiteralInitialSpreadSmallDoublePacked",
"path": ["ArrayLiteralInitialSpreadSmallDoublePacked"],
"main": "run.js",
"resources": [],
"results_regexp": "^%s\\-ArrayLiteralInitialSpreadSmallDoublePacked\\(Score\\): (.+)$",
"tests": [
{"name": "Spread"},
{"name": "ForLength"},
{"name": "ForLengthEmpty"},
{"name": "Slice"},
{"name": "Slice0"},
{"name": "ConcatReceive"},
{"name": "ConcatArg"},
{"name": "ForOfPush"},
{"name": "MapId"}
]
},
{
"name": "ArrayLiteralInitialSpreadLargeDoublePacked",
"path": ["ArrayLiteralInitialSpreadLargeDoublePacked"],
"main": "run.js",
"resources": [],
"results_regexp": "^%s\\-ArrayLiteralInitialSpreadLargeDoublePacked\\(Score\\): (.+)$",
"tests": [
{"name": "Spread"},
{"name": "ForLength"},
{"name": "ForLengthEmpty"},
{"name": "Slice"},
{"name": "Slice0"},
{"name": "ConcatReceive"},
{"name": "ConcatArg"}
]
},
{
"name": "ArrayLiteralInitialSpreadSmallDoubleHoley",
"path": ["ArrayLiteralInitialSpreadSmallDoubleHoley"],
"main": "run.js",
"resources": [],
"results_regexp": "^%s\\-ArrayLiteralInitialSpreadSmallDoubleHoley\\(Score\\): (.+)$",
"tests": [
{"name": "Spread"},
{"name": "ForLength"},
{"name": "ForLengthEmpty"},
{"name": "Slice"},
{"name": "Slice0"},
{"name": "ConcatReceive"},
{"name": "ConcatArg"},
{"name": "ForOfPush"},
{"name": "MapId"}
]
},
{
"name": "ArrayLiteralInitialSpreadLargeDoubleHoley",
"path": ["ArrayLiteralInitialSpreadLargeDoubleHoley"],
"main": "run.js",
"resources": [],
"results_regexp": "^%s\\-ArrayLiteralInitialSpreadLargeDoubleHoley\\(Score\\): (.+)$",
"tests": [
{"name": "Spread"},
{"name": "ForLength"},
{"name": "ForLengthEmpty"},
{"name": "Slice"},
{"name": "Slice0"},
{"name": "ConcatReceive"},
{"name": "ConcatArg"}
]
},
{
"name": "ArrayLiteralInitialSpreadSmallSmiMap",
"path": ["ArrayLiteralInitialSpreadSmallSmiMap"],
"main": "run.js",
"resources": [],
"results_regexp": "^%s\\-ArrayLiteralInitialSpreadSmallSmiMap\\(Score\\): (.+)$",
"tests": [
{"name": "ForOfKeys"},
{"name": "ForOfValues"},
{"name": "SpreadKeys"},
{"name": "SpreadValues"}
]
},
{
"name": "ArrayLiteralInitialSpreadLargeSmiMap",
"path": ["ArrayLiteralInitialSpreadLargeSmiMap"],
"main": "run.js",
"resources": [],
"results_regexp": "^%s\\-ArrayLiteralInitialSpreadLargeSmiMap\\(Score\\): (.+)$",
"tests": [
{"name": "ForOfKeys"},
{"name": "ForOfValues"},
{"name": "SpreadKeys"},
{"name": "SpreadValues"}
]
},
{
"name": "ArrayLiteralInitialSpreadSmallSmiSet",
"path": ["ArrayLiteralInitialSpreadSmallSmiSet"],
"main": "run.js",
"resources": [],
"results_regexp": "^%s\\-ArrayLiteralInitialSpreadSmallSmiSet\\(Score\\): (.+)$",
"tests": [
{"name": "ForOf"},
{"name": "ForOfKeys"},
{"name": "ForOfValues"},
{"name": "Spread"},
{"name": "SpreadKeys"},
{"name": "SpreadValues"}
]
},
{
"name": "ArrayLiteralInitialSpreadLargeSmiSet",
"path": ["ArrayLiteralInitialSpreadLargeSmiSet"],
"main": "run.js",
"resources": [],
"results_regexp": "^%s\\-ArrayLiteralInitialSpreadLargeSmiSet\\(Score\\): (.+)$",
"tests": [
{"name": "ForOf"},
{"name": "ForOfKeys"},
{"name": "ForOfValues"},
{"name": "Spread"},
{"name": "SpreadKeys"},
{"name": "SpreadValues"}
]
},
{
"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": "StringLocaleCompare",
"main": "run.js",
"resources": [ "string-localeCompare.js" ],
"test_flags": [ "string-localeCompare" ],
"results_regexp": "^%s\\-Strings\\(Score\\): (.+)$",
"run_count": 1,
"tests": [
{"name": "StringLocaleCompare"}
]
},
{
"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": "JoinBigIntTypes",
"main": "run.js",
"resources": ["base.js", "join.js", "join-bigint.js"],
"test_flags": ["join-bigint"]
},
{
"name": "JoinFloatTypes",
"main": "run.js",
"resources": ["base.js", "join.js", "join-float.js"],
"test_flags": ["join-float"]
},
{
"name": "JoinIntTypes",
"main": "run.js",
"resources": ["base.js", "join.js", "join-int.js"],
"test_flags": ["join-int"]
},
{
"name": "JoinWithSeparatorBigIntTypes",
"main": "run.js",
"resources": ["base.js", "join.js", "join-sep-bigint.js"],
"test_flags": ["join-sep-bigint"]
},
{
"name": "JoinWithSeparatorFloatTypes",
"main": "run.js",
"resources": ["base.js", "join.js", "join-sep-float.js"],
"test_flags": ["join-sep-float"]
},
{
"name": "JoinWithSeparatorIntTypes",
"main": "run.js",
"resources": ["base.js", "join.js", "join-sep-int.js"],
"test_flags": ["join-sep-int"]
},
{
"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": ["base.js", "sort.js", "sort-int.js"],
"test_flags": ["sort-int"]
},
{
"name": "SortBigIntTypes",
"main": "run.js",
"resources": ["base.js", "sort.js", "sort-bigint.js"],
"test_flags": ["sort-bigint"]
},
{
"name": "SortFloatTypes",
"main": "run.js",
"resources": ["base.js", "sort.js", "sort-float.js"],
"test_flags": ["sort-float"]
},
{
"name": "SortCustomCompareFnIntTypes",
"main": "run.js",
"resources": ["base.js", "sort.js", "sort-cmpfn-int.js"],
"test_flags": ["sort-cmpfn-int"]
},
{
"name": "SortCustomCompareFnBigIntTypes",
"main": "run.js",
"resources": ["base.js", "sort.js", "sort-cmpfn-bigint.js"],
"test_flags": ["sort-cmpfn-bigint"]
},
{
"name": "SortCustomCompareFnFloatTypes",
"main": "run.js",
"resources": ["base.js", "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": "SmiCowNoMapFrom"},
{"name": "SmiNonCowNoMapFrom"},
{"name": "SmiNoIteratorFrom"},
{"name": "TransplantedFrom"},
{"name": "DoubleFrom"},
{"name": "DoubleNoMapFrom"},
{"name": "StringFrom"},
{"name": "StringCowNoMapFrom"},
{"name": "StringNonCowNoMapFrom"},
{"name": "MixedFrom"},
{"name": "MixedCowNoMapFrom"},
{"name": "MixedNonCowNoMapFrom"},
{"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": "ArrayIndexOfIncludesPolymorphic",
"path": ["ArrayIndexOfIncludesPolymorphic"],
"main": "run.js",
"resources": ["indexof-includes-polymorphic.js"],
"test_flags": ["indexof-includes-polymorphic"],
"results_regexp": "^%s\\-ArrayIndexOfIncludesPolymorphic\\(Score\\): (.+)$",
"flags": [
"--allow-natives-syntax"
],
"tests": [
{"name": "for loop"},
{"name": "Array#indexOf"},
{"name": "Array#includes"}
]
},
{
"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": "Dates",
"path": ["Dates"],
"main": "run.js",
"resources": ["toLocaleString.js"],
"results_regexp": "^%s\\-Dates\\(Score\\): (.+)$",
"tests": [
{"name": "toLocaleDateString"},
{"name": "toLocaleString"},
{"name": "toLocaleTimeString"}
]
},
{
"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",
"toLocaleString.js"
],
"results_regexp": "^%s\\-Numbers\\(Score\\): (.+)$",
"tests": [
{"name": "Constructor"},
{"name": "UnaryPlus"},
{"name": "ParseFloat"},
{"name": "toLocaleString"}
]
},
{
"name": "TurboFan",
"path": ["TurboFan"],
"main": "run.js",
"flags": [],
"resources": [ "typedLowering.js"],
"results_regexp": "^%s\\-TurboFan\\(Score\\): (.+)$",
"tests": [
{"name": "NumberToString"}
]
}
]
}