{ "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": "StringCharCodeAtConstant"}, {"name": "StringCharCodeAtNonConstant"} ] }, { "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", "of.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": "EmptyArrayOf"}, {"name": "SmallSmiArrayOf"}, {"name": "LargeSmiArrayOf"}, {"name": "SmallTransplantedArrayOf"}, {"name": "SmallDoubleArrayOf"}, {"name": "SmallStringArrayOf"}, {"name": "SmallMixedArrayOf"} ] }, { "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"} ] } ] }