| { | 
 |   "owners": ["jarin@chromium.org", "mvstanton@chromium.org"], | 
 |   "name": "JSTests", | 
 |   "run_count": 3, | 
 |   "run_count_arm": 1, | 
 |   "run_count_arm64": 1, | 
 |   "timeout": 120, | 
 |   "timeout_arm64": 240, | 
 |   "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": "IsExtensibleWithoutTrap"}, | 
 |         {"name": "IsExtensibleWithTrap"}, | 
 |         {"name": "PreventExtensionsWithoutTrap"}, | 
 |         {"name": "PreventExtensionsWithTrap"}, | 
 |         {"name": "GetPrototypeOfWithoutTrap"}, | 
 |         {"name": "GetPrototypeOfWithTrap"}, | 
 |         {"name": "SetPrototypeOfWithoutTrap"}, | 
 |         {"name": "SetPrototypeOfWithTrap"} | 
 |       ] | 
 |     }, | 
 |     { | 
 |       "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": "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": "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": "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": "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": "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": "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"} | 
 |       ] | 
 |     } | 
 |   ] | 
 | } |