v8/test/js-perf-test/JSTests.json
Sigurd Schneider 5e18f84953 [turbofan] Add benchmarks for String.indexOf
Bug: v8:7127, v8:6270
Change-Id: Ic35a9b7a5145115736934b0c7de6ace26e9c0e51
Reviewed-on: https://chromium-review.googlesource.com/832966
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50191}
2017-12-19 10:54:37 +00:00

662 lines
20 KiB
JSON

{
"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"],
"flags": ["--harmony-function-sent"],
"results_regexp": "^Generators\\-Generators\\(Score\\): (.+)$"
},
{
"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": ["--mark_shared_functions_for_tier_up"],
"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"],
"main": "run.js",
"resources": ["harmony-string.js", "string-indexof.js"],
"results_regexp": "^%s\\-Strings\\(Score\\): (.+)$",
"run_count": 1,
"timeout": 240,
"timeout_arm": 420,
"tests": [
{"name": "StringFunctions"},
{"name": "StringIndexOfConstant"},
{"name": "StringIndexOfNonConstant"}
]
},
{
"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": "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": "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": "Sort",
"main": "run.js",
"resources": ["sort.js"],
"test_flags": ["sort"]
},
{
"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"
],
"flags": [
"--allow-natives-syntax"
],
"results_regexp": "^%s\\-Array\\(Score\\): (.+)$",
"tests": [
{"name": "NaiveFilterReplacement"},
{"name": "DoubleFilter"},
{"name": "SmiFilter"},
{"name": "FastFilter"},
{"name": "GenericFilter"},
{"name": "OptFastFilter"},
{"name": "NaiveMapReplacement"},
{"name": "DoubleMap"},
{"name": "SmiMap"},
{"name": "FastMap"},
{"name": "GenericMap"},
{"name": "OptFastMap"},
{"name": "DoubleEvery"},
{"name": "SmiEvery"},
{"name": "FastEvery"},
{"name": "OptFastEvery"},
{"name": "SmiJoin"},
{"name": "StringJoin"},
{"name": "SparseSmiJoin"},
{"name": "SparseStringJoin"},
{"name": "DoubleSome"},
{"name": "SmiSome"},
{"name": "FastSome"},
{"name": "OptFastSome"},
{"name": "DoubleReduce"},
{"name": "SmiReduce"},
{"name": "FastReduce"},
{"name": "OptFastReduce"},
{"name": "DoubleReduceRight"},
{"name": "SmiReduceRight"},
{"name": "FastReduceRight"},
{"name": "OptFastReduceRight"},
{"name": "SmiToString"},
{"name": "StringToString"},
{"name": "SparseSmiToString"},
{"name": "SparseStringToString"},
{"name": "NaiveFindReplacement"},
{"name": "DoubleFind"},
{"name": "SmiFind"},
{"name": "FastFind"},
{"name": "GenericFind"},
{"name": "OptFastFind"},
{"name": "NaiveFindIndexReplacement"},
{"name": "DoubleFindIndex"},
{"name": "SmiFindIndex"},
{"name": "FastFindIndex"},
{"name": "GenericFindIndex"},
{"name": "OptFastFindIndex"}
]
},
{
"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"],
"results_regexp": "^%s\\-Parsing\\(Score\\): (.+)$",
"tests": [
{"name": "OneLineComment"},
{"name": "OneLineComments"},
{"name": "MultiLineComment"}
]
}
]
}