| { |
| "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-Iteration"}, |
| {"name": "Map-Iterator"}, |
| {"name": "Set-Smi"}, |
| {"name": "Set-String"}, |
| {"name": "Set-Object"}, |
| {"name": "Set-Iteration"}, |
| {"name": "Set-Iterator"}, |
| {"name": "WeakMap"}, |
| {"name": "WeakSet"} |
| ] |
| }, |
| { |
| "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"], |
| "results_regexp": "^%s\\-Strings\\(Score\\): (.+)$", |
| "run_count": 1, |
| "timeout": 240, |
| "timeout_arm": 420, |
| "tests": [ |
| {"name": "StringFunctions"} |
| ] |
| }, |
| { |
| "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": "Sort", |
| "main": "run.js", |
| "resources": ["sort.js"], |
| "test_flags": ["sort"] |
| } |
| ] |
| }, |
| { |
| "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" |
| ], |
| "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": "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\\): (.+)$", |
| "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"], |
| "results_regexp": "^%s\\-Inspector\\(Score\\): (.+)$", |
| "tests": [ |
| {"name": "Debugger.paused"}, |
| {"name": "Runtime.evaluate(String16Cstor)"}, |
| {"name": "Debugger.getPossibleBreakpoints"} |
| ] |
| }, |
| { |
| "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"} |
| ] |
| } |
| ] |
| } |