diff --git a/compiler/codegen.js b/compiler/codegen.js index a2292f95..157c159b 100644 --- a/compiler/codegen.js +++ b/compiler/codegen.js @@ -6432,6 +6432,25 @@ const generateFunc = (scope, decl, forceNoExpr = false) => { }; } + // todo: enable for all block statement bodies, not just main + if (name === '#main') { + // hoist function declarations to the top of AST pre-codegen so + // we can optimize function calls so calls before decl are not indirect + // (without more post-codegen jank) + // plus, more spec-compliant hoisting! + + let b = body.body, j = 0; + + // append after directive if it exists + if (b[0]?.directive) j++; + + for (let i = 0; i < b.length; i++) { + if (b[i].type === 'FunctionDeclaration') { + b.splice(j++, 0, b.splice(i, 1)[0]); + } + } + } + func.identFailEarly = true; let localInd = args.length * 2; for (let i = 0; i < args.length; i++) { diff --git a/test262/history.json b/test262/history.json index 5f7bad41..6a51e737 100644 --- a/test262/history.json +++ b/test262/history.json @@ -1 +1 @@ -[{"results":[50.95,48381,24651,6928,15256,147,329,134,936],"time":1732064269000,"hash":"e895507a5b5ba18c702f502d9344b18e27b638df","title":"codegen: begin hoisting system"},{"results":[50.94,48381,24644,6943,15250,147,329,132,936],"time":1732059307000,"hash":"7d1a97a67541e7cf806e640432f51f926c0015c2","title":"codegen: separate generateIdent's lookup func"},{"results":[50.94,48381,24644,6943,15250,147,329,132,936],"time":1731896063000,"hash":"5063c00da7d8bc535445ae343da0777d2978c394","title":"builtins: use chunked allocation"},{"results":[50.93,48381,24642,6948,15247,147,329,132,936],"time":1731871653000,"hash":"b82ab12a4574e16c71df32bec50bd290373fe527","title":"builtins: use allocate in allocateBytes"},{"results":[50.93,48381,24642,6948,15247,147,329,132,936],"time":1731869098000,"hash":"826271088cc3b4a51e52a2357596b12e7a0f135d","title":"codegen: add COCTC"},{"results":[50.94,48381,24645,6946,15246,147,329,132,936],"time":1731276054000,"hash":"73da51d5284b239787208bcad917a2030cab9e87","title":"codegen: support map in for..of"},{"results":[50.93,48381,24639,6946,15252,147,329,132,936],"time":1731272902000,"hash":"8b1c0d2f4da48965b2dd212a52c87e8b55d2ff09","title":"codegen: add map to iterable types"},{"results":[50.93,48381,24639,6947,15251,147,329,132,936],"time":1731271794000,"hash":"f0e84c995874793ad1fb70ee9725036fd86c20be","title":"test262/harness: deepEqual for iterables"},{"results":[50.93,48381,24639,6947,15251,147,329,132,936],"time":1731268903000,"hash":"7fd0aba2525e0a2f007b252661d9e546eacba87f","title":"builtins/various: minor cleanup"},{"results":[50.93,48381,24639,6947,15251,147,329,132,936],"time":1731265256000,"hash":"ce847db140d5222a2dfc45870bfc29657858cced","title":"builtins: fix allocateBytes"},{"results":[50.89,48381,24621,6888,15328,147,329,132,936],"time":1731259728000,"hash":"e817f8b37d37e5f076f208916d30d16f873b07b7","title":"codegen: cleanup allocator usage"},{"results":[50.89,48381,24621,6888,15328,147,329,132,936],"time":1731167709000,"hash":"be337798af623bcec5bd72cd492b1f53881bed48","title":"builtins/function: add apply"},{"results":[50.77,48381,24562,6876,15399,147,329,132,936],"time":1731048536000,"hash":"81a74619cf24e7a8a69c914a811e73893a163594","title":"Co-authored-by: Oliver Medhurst \r"},{"results":[50.76,48381,24556,6877,15397,150,330,135,936],"time":1730820898000,"hash":"3816b779ed3b3f8baef33784c9198167c5eed518","title":"codegen: known value Function hack"},{"results":[50.62,48381,24492,6847,15492,150,330,134,936],"time":1730783965000,"hash":"61a2d7d540af602305325e933db63a7a85f83c2a","title":"codegen: begin knownValue, use for eval"},{"results":[50.57,48381,24468,6831,15532,150,330,134,936],"time":1730782308000,"hash":"c96eb3b51a17734c3c3939ff6b567643f2077987","title":"test262/harness: use IsConstructor for isConstructor"},{"results":[50.57,48381,24465,6834,15532,150,330,134,936],"time":1730779458000,"hash":"30ee790720abc6ecdfc770d192fe4581685889d6","title":"builtins/array: handle lastIndexOf position arg correctly"},{"results":[50.51,48381,24437,6862,15532,150,330,134,936],"time":1730777549000,"hash":"d2961695cbe50c461c6995f042279d481a726bf3","title":"builtins/array: implement thisArg for various funcs"},{"results":[50.3,48381,24335,6974,15522,150,330,134,936],"time":1730710933000,"hash":"a452c75ff56c22943e780c02a80e8d69667e1daa","title":"codegen: tweak array destructuring"},{"results":[50.27,48381,24320,6989,15522,150,330,134,936],"time":1730709974000,"hash":"5f3891e0e1b51e1b18ea71b9c659bceb4be30bc0","title":"codegen: support members in destructuring"},{"results":[50.19,48381,24284,6981,15523,150,330,134,979],"time":1730705658000,"hash":"bf123ba8d0c58b2d00772473a9b2864bed0f2146","title":"test262/harness: tweak fnGlobalObject"},{"results":[50.19,48381,24284,6981,15523,150,330,134,979],"time":1730700667000,"hash":"1367078fddcab1c4f3c67cff96a53a1a8cbe0f0c","title":"codegen: do not default this to globalThis if only new'd"},{"results":[50.17,48381,24273,6984,15529,152,330,134,979],"time":1730627364000,"hash":"843001d3e3b50c6962e10209b67644ea633718b5","title":"builtins/reflect: apply, construct"},{"results":[50.14,48381,24260,6962,15564,152,330,134,979],"time":1730528501000,"hash":"c84768fe347f1e1a90d68f3254284f1817c05b9a","title":"codegen: type inference"},{"results":[50.16,48381,24268,6964,15553,152,331,134,979],"time":1730507440000,"hash":"b2af00b1c9b8eb97812154e85fe81b10501d819d","title":"builtins/string: tweak concat out types"},{"results":[50.16,48381,24267,6965,15553,152,331,134,979],"time":1729641668000,"hash":"0fdbf2d674f60f4e5af23f0dfd06e1898c835eef","title":"builtins/math: rewrite pow"},{"results":[50.14,48381,24258,6969,15556,152,331,136,979],"time":1729632570000,"hash":"b0b1d006cd3d95effebf888c9e887d2cc63f32f0","title":"builtins/math: rewrite log"},{"results":[50.14,48381,24259,6968,15556,152,331,136,979],"time":1729539741000,"hash":"6d0e875332751e1708ccf8596d5faa38ac21e674","title":"codegen: rewrite member local handling"},{"results":[50.14,48381,24260,6952,15572,152,331,136,978],"time":1729440783000,"hash":"cdf9e18a314b3641ae73a68a98f6d5453ad44d67","title":"codegen: use unique locals for indirect calls"},{"results":[50.14,48381,24260,6952,15572,152,331,136,978],"time":1729370387000,"hash":"2e2a6695ff3536267dcd4813b5c5cd78e84d2d73","title":"codegen: 10 indirect wrapper args"},{"results":[50.15,48381,24261,6951,15573,152,331,135,978],"time":1729338911000,"hash":"046f64a5d9a6e8690bb0f30950220e5afb8815b4","title":"test262/harness: TypedArray hack"},{"results":[49.98,48381,24179,6751,15854,152,331,136,978],"time":1729299901000,"hash":"fcae74491e74b5e560e7b191407833430cb10bb6","title":"codegen: remove forof await todo"},{"results":[49.43,48381,23914,6707,15575,152,331,135,1567],"time":1729298311000,"hash":"8d391a764cd61d88b49180648224801b35c70d4f","title":"codegen: array spread"},{"results":[49.35,48381,23874,6671,15572,152,331,146,1635],"time":1729295778000,"hash":"6b67a32439653720d20663d84ebc40dc268e8e46","title":"codegen: support spread and rest"},{"results":[49.35,48381,23875,6680,15572,152,331,136,1635],"time":1729294989000,"hash":"c7d81e611b88fb152f1edc1632a6b69c0c2c306e","title":"codegen: add missing i32 valtype for localTmp"},{"results":[49.35,48381,23876,6680,15572,152,331,135,1635],"time":1729287508000,"hash":"7989062c417f2dfdd3ccf87409f6905617c49071","title":"builtins/promise: basic Promise.try"},{"results":[49.35,48381,23874,6676,15578,152,331,135,1635],"time":1729285167000,"hash":"fe40adfc2ad543ee45e6ea6e9d2c9ab059457f4a","title":"codegen: use parent object as this if present"},{"results":[49.34,48381,23873,6676,15578,152,331,136,1635],"time":1729279766000,"hash":"53be241fcf17fa4996401ab64d3cd3dbd0c6899f","title":"codegen: minor opts"},{"results":[49.35,48381,23874,6676,15578,152,331,135,1635],"time":1729278199000,"hash":"77695035d6cba3e228ce1437a92418bc229a2f21","title":"codegen: check if iterable for spread in calls"},{"results":[49.3,48381,23854,6694,15580,152,331,135,1635],"time":1729277450000,"hash":"3b71893d33616333943b8e6e48e09473e53c04bd","title":"codegen: add spread hack to indirect calls"},{"results":[49.32,48381,23863,6685,15572,152,331,135,1643],"time":1729208835000,"hash":"c0aa61b7affef0d0b86771d3cf9ed33e9b6145df","title":"codegen: optional chaining short-circuiting"},{"results":[49.32,48381,23861,6684,15574,152,331,136,1643],"time":1729183277000,"hash":"00b23f99039e9d6a6e76e3aa05b9b63deb14d54f","title":"builtins/error: re-add ToString message"},{"results":[49.31,48381,23858,6724,15498,152,331,175,1643],"time":1729125430000,"hash":"61b65996ee75fa168e10880f4b391d168422c5c4","title":"builtins/error: optimize constructor"},{"results":[49.31,48381,23858,6722,15498,152,331,177,1643],"time":1729119436000,"hash":"c549afba8293fff82d597c7a055ad871fc157d5a","title":"builtins/internal_object: use fastIndexOf"},{"results":[49.31,48381,23858,6740,15503,154,331,154,1641],"time":1729118471000,"hash":"84419a9c4089bf364d9855f7fef5a98f993b3fce","title":"builtins/various: cleanup string alloc hacks"},{"results":[49.31,48381,23858,6741,15501,154,331,155,1641],"time":1729028496000,"hash":"b53a6b0a345636452f27e0e76e7f4fb0064f90a0","title":"assemble: optimize code and data sections"},{"results":[49.31,48381,23858,6729,15502,154,330,167,1641],"time":1729026794000,"hash":"84bb157bc7ea56d56e39ca1c14c73413976f9f6b","title":"assemble: add func flag for usesImports"},{"results":[49.31,48381,23857,6731,15488,153,347,164,1641],"time":1729010866000,"hash":"7bc9992305136fec359ecbf6d5f7190f2e4f9611","title":"test262: update clone"},{"results":[49.51,48414,23970,6755,15446,153,300,155,1635],"time":1729004897000,"hash":"0ecd7a4b0b78ee1b4bebd8b3ed6b5da06b293def","title":"builtins/promise: rewrite then for more conformance"},{"results":[49.38,48414,23906,6821,15444,153,300,155,1635],"time":1729003450000,"hash":"5b4196574624b9ae5126376088c42b2b37112519","title":"builtins/promise: make noop return"},{"results":[49.44,48414,23934,6823,15414,153,300,155,1635],"time":1728999119000,"hash":"aa360924bf80bc1fd743b64916c06ff3f065a58e","title":"builtins/promise: more complaint resolution"},{"results":[49.43,48414,23933,6810,15414,153,300,169,1635],"time":1728989932000,"hash":"dd33430e44412359ff521a9ffd50f94a0055c6cb","title":"codegen: fix sequence getNodeType"},{"results":[49.3,48414,23869,6826,15476,153,300,155,1635],"time":1728986784000,"hash":"bc0d7a1bd957a16097e662a782185759f0739d7f","title":"codegen: small func destr cleanup"},{"results":[49.3,48414,23868,6812,15476,153,300,170,1635],"time":1728947697000,"hash":"c447cafc050c4bff783ede49ac7c3ba9652af60e","title":"codegen: allow generators in iterable checks"},{"results":[48.8,48414,23625,6608,15915,153,300,178,1635],"time":1728946822000,"hash":"69cba277baa6e1b0099529fd5f6a4bcd2015f48d","title":"codegen: more compliant class name id set"},{"results":[48.56,48414,23508,6735,15912,153,300,171,1635],"time":1728945412000,"hash":"7475e455e5ada627fb0fbc1ff12e29bc8271fd0b","title":"codegen: set default value func id as name"},{"results":[47.71,48414,23096,7203,15856,153,300,171,1635],"time":1728943318000,"hash":"219c44dc43044a91690d39a127f0caea674f1b01","title":"builtins/various: rm some unneeded string allocations"},{"results":[47.71,48414,23097,7205,15856,153,300,168,1635],"time":1728940046000,"hash":"488f9a52c4589fa7cd6ad0a0c30f998406df733d","title":"codegen: rm makeArray, move logic into generateArray"},{"results":[47.66,48414,23074,7190,15899,153,300,163,1635],"time":1728927634000,"hash":"8a948f63f8e43d3b91aaf037e1b09140d517538a","title":"prototype: rewrite makeArray -> Porffor.allocate"},{"results":[47.66,48414,23074,7198,15899,153,300,155,1635],"time":1728917873000,"hash":"0d1b672ca86873eaa203b62e4ef805c2d54975e9","title":"codegen: separate obj assign tmp"},{"results":[47.27,48414,22886,6980,16347,153,300,154,1594],"time":1728915496000,"hash":"4a63f2cf2919c12dc6b2e15b94d8d0de36f452d0","title":"compiler: rewrite string allocation"},{"results":[47.69,48414,23088,7012,15984,153,300,241,1636],"time":1728899426000,"hash":"5673707bdd21cffbc07f5306e6f6440c5dcdaf61","title":"codegen: fix no generation wasm errors"},{"results":[47.69,48414,23090,6990,15965,292,300,239,1538],"time":1728891990000,"hash":"a3a6a3d48c5e4441efa17389e7d21794aed40228","title":"codegen: tweak adding end return"},{"results":[47.68,48414,23083,7011,15975,164,300,245,1636],"time":1728736684000,"hash":"a6f531712ac3819041190368352bfdd12e476c0f","title":"codegen: do not do expr unusedValue in eval"},{"results":[47.68,48414,23083,7014,15977,164,300,240,1636],"time":1727745250000,"hash":"c0f9a20a185b869e19036f3de8dc31fb39ddca8c","title":"builtins/json: support space arg for json.stringify"},{"results":[47.68,48414,23082,7015,15977,164,300,240,1636],"time":1727667495000,"hash":"fdd7012d1e2d63e9299887a44f24dfe4d7fa604f","title":"codegen: support symbol keys for for..in"},{"results":[47.68,48414,23082,7015,15978,164,300,239,1636],"time":1727643346000,"hash":"83ea42a4daebd927b33433f56db9ab83262be8a3","title":"builtins/json: object serialization and some fixes"},{"results":[47.66,48414,23076,7021,15976,164,300,241,1636],"time":1727548821000,"hash":"d81d10b5895aede588ecfd9b970269d3a61b951e","title":"builtins/json: fix array final ]"},{"results":[47.66,48414,23074,7024,15976,164,300,240,1636],"time":1727483719000,"hash":"836a6397b2a80fc4b650c945f52fdd7ad0620399","title":"builtins/json: improve serialization"},{"results":[47.66,48414,23073,7025,15975,164,300,241,1636],"time":1727398636000,"hash":"87ffd2b11af15144d7ae9f943b578a7923025504","title":"builtins/json: start JSON.stringify"},{"results":[47.65,48414,23071,6988,16015,164,300,241,1635],"time":1727221281000,"hash":"be9187dedb0fdc1a6b2c16a011f19f17c557aef5","title":"codegen: use Array.from for array prototype methods"},{"results":[46.89,48414,22702,7567,16018,162,300,28,1637],"time":1727216495000,"hash":"7407377043896463da09b375fafcce983fa3bc68","title":"builtins/array: more compliant Array.from"},{"results":[46.88,48414,22698,7572,16018,162,300,27,1637],"time":1727137100000,"hash":"5db64320245311ab85d177fd3a913f66549bd61e","title":"compiler: initial async generators"},{"results":[44.27,48414,21435,7452,17400,162,300,28,1637],"time":1727037184000,"hash":"78249e7253a817c4f5ca64cb1199e67b4851934b","title":"builtins/array: fix reduce with no initial value"},{"results":[44.23,48414,21413,7474,17400,162,300,28,1637],"time":1727029007000,"hash":"48df87a24abe38f286e64e29f8b452615a208505","title":"builtins/internal_object: check get/set does not change"},{"results":[44.19,48414,21395,7498,17394,162,300,28,1637],"time":1727026203000,"hash":"b32cfa21c9c8e1094c9a5971abb3880b226eaf93","title":"builtins/object: check if existing accessor with no props"},{"results":[44.17,48414,21383,7510,17395,162,300,27,1637],"time":1727020804000,"hash":"8a20df245919e463a83ced64bd34ed4d1755ce8c","title":"codegen: fix some yield malformed wasm"},{"results":[44.16,48414,21382,7501,17395,171,300,28,1637],"time":1727008742000,"hash":"31fa596a51786f87c04dd8a82ff495468bf0a378","title":"compiler: support yield like return"},{"results":[43.76,48414,21185,7294,16481,151,296,29,2978],"time":1726967793000,"hash":"4152d338a0a4cb25290b5980622c40fbacf248fa","title":"compiler: use generators for generator functions"},{"results":[42.43,48414,20541,7069,17361,151,296,27,2969],"time":1726885237000,"hash":"98e051c8629d62076e0c11bce84d94eabdaf8fd2","title":"codegen: basic arguments"},{"results":[42.33,48414,20494,7102,17375,151,296,27,2969],"time":1726881508000,"hash":"ed9ba50c0568a514330200d35544755dcbd1147b","title":"codegen: basic spread element as last arg"},{"results":[42.32,48414,20488,7106,17375,151,296,28,2970],"time":1726782769000,"hash":"e7d49db9dd2629c11f333ee7ecb4dcdf07106096","title":"codegen: more compliant unary - and ~"},{"results":[42.3,48414,20481,7115,17375,151,296,26,2970],"time":1726781907000,"hash":"c9d0581c2b9aab4a998c20d8bfd6563654284f21","title":"codegen: optimize unary + with known number type"},{"results":[42.3,48414,20480,7115,17375,151,296,27,2970],"time":1726780806000,"hash":"240c4e68a6e4703963a229cd845b697740a3b118","title":"codegen: simplify getLastType usage"},{"results":[42.3,48414,20479,7115,17375,151,296,28,2970],"time":1726715189000,"hash":"074011f4e7586b1976c5917006218753ef62d4d4","title":"codegen: support unary for non-locals"},{"results":[42.26,48414,20462,7078,17383,151,296,28,3016],"time":1726705570000,"hash":"981eab4e6d613b70d0bbae112a3222edae044fae","title":"compiler: use indirect index for funcRef"},{"results":[42.26,48414,20462,7080,17382,151,296,27,3016],"time":1726191426000,"hash":"2cb86ce78b2c64cc890541d549758093631a1756","title":"codegen: rewrite args setup"},{"results":[42.25,48414,20454,7124,17382,115,296,27,3016],"time":1726185151000,"hash":"5fccb5ce4961d88d25e0c33e291a2483ea5ca4f3","title":"codegen: stop throwing immediately in generators"},{"results":[42.48,48414,20568,6350,15243,115,296,28,5814],"time":1726183598000,"hash":"9098f77cb42798fa9a7c540984fe9e061d101f5d","title":"codegen: do not funcRef for func var decl/iife"},{"results":[42.53,48414,20591,6381,15239,64,296,28,5815],"time":1726019141000,"hash":"b478d668ccc4330cef5ce92eca4db7f5f7c9a37f","title":"builtins/promise: impl withResolvers"},{"results":[42.53,48414,20589,6379,15243,64,296,28,5815],"time":1725937651000,"hash":"4c42fe0a514d28a838ab03322966a6177cbb013c","title":"compiler: use empty indirect func if func's does not exist"},{"results":[42.52,48414,20587,6378,15246,64,296,28,5815],"time":1725933642000,"hash":"642a57e36aebed318155bd309302c7b7fce47796","title":"precompile: add usesTag flag"},{"results":[42.52,48414,20587,6378,15246,64,296,28,5815],"time":1725930750000,"hash":"48652ae1a5b8436e450a3248d3b96c8d31b853e6","title":"codegen: ensure tag for catch"},{"results":[42.52,48414,20587,6378,15246,64,296,28,5815],"time":1725929764000,"hash":"e17139bed1249f049de4c922dc2de621ab58a73e","title":"codegen: more compliant return for constructors"},{"results":[42.49,48414,20570,6396,15246,64,296,27,5815],"time":1725846896000,"hash":"17765d49ef44adbbef5f904a48dc82ca94d72197","title":"codegen: compliant delete super."},{"results":[42.48,48414,20567,6399,15246,64,296,27,5815],"time":1725844982000,"hash":"d2b7b49331ae442b2740542b7329b3b94e71144c","title":"codegen: fix malformed wasm in rare this case"},{"results":[42.48,48414,20566,6397,15246,66,296,28,5815],"time":1725843780000,"hash":"ff356303acd19f339a953edd3aa548ffa4efd793","title":"codegen: use real this for indirect internal protos"},{"results":[42.33,48414,20493,6463,15253,66,296,28,5815],"time":1725841914000,"hash":"ac9fc1a0ccc7770a418a4ccc142607351e063a17","title":"compiler: rewrite indirect funcs internals"},{"results":[42.3,48414,20480,6477,15251,66,297,28,5815],"time":1725835972000,"hash":"f00b015550c05e187f7323cd7bd3863433b003d1","title":"codegen: remove indirect param count check"},{"results":[42.3,48414,20480,6477,15252,65,297,28,5815],"time":1725835001000,"hash":"73bb8ec0304a424d7b116f73847c5c4cbccf7f83","title":"codegen: support more funcs for indirect"},{"results":[42.3,48414,20479,6477,15253,65,297,28,5815],"time":1725762364000,"hash":"215080780c22121f98351392242f565c1408ae3a","title":"compiler: rewrite indirect calls"},{"results":[42.26,48414,20460,6448,15297,65,301,28,5815],"time":1725409238000,"hash":"bacc57e5e6b9cea09a9d371209fd8e396adda948","title":"builtins: rewrite handling function name/length deletion"},{"results":[42.25,48414,20457,6446,15302,65,301,28,5815],"time":1725323503000,"hash":"547538bdb1984b6cd481209e615a3f9ca19b910d","title":"builtins/internal_object: more prototype modification hacks"},{"results":[42.17,48414,20414,6503,15288,65,301,28,5815],"time":1725322195000,"hash":"ab60b9ed40fa289ec0b75b0ec813ea08b418a99a","title":"builtins/object: more compliant defineProperty"},{"results":[42.16,48414,20412,6509,15284,65,301,28,5815],"time":1725318699000,"hash":"dc23e63cff155ca7e3e6c1d48e8037d8e8f410a4","title":"builtins: more compliant object valueOf/toString"},{"results":[42.16,48414,20409,6521,15275,65,301,28,5815],"time":1725277567000,"hash":"8a4aeaf9b08db90a389b5017c4245fa6c80a7c15","title":"codegen: delete end and loc props in objectHack"},{"results":[42.16,48414,20409,6521,15275,65,301,28,5815],"time":1725270707000,"hash":"094a05c51d2737beb1c2dff1fec16b8f32ed7703","title":"builtins/internal_object: rewrite lookup comparing"},{"results":[42.15,48414,20407,6520,15278,65,301,28,5815],"time":1725268100000,"hash":"9d7cf4270a480838a3ef743a429bf2d07a57a8e5","title":"compiler: check string/number/boolean prototype in object get"},{"results":[42.11,48414,20385,6541,15279,65,301,28,5815],"time":1725229367000,"hash":"a6e8628f6df3931545e17e121f74f4370f437bac","title":"codegen: more complaint __proto__"},{"results":[42.1,48414,20384,6542,15280,64,301,28,5815],"time":1725207162000,"hash":"684a9e44804073ca74b60353dff05e51d6471440","title":"codegen: object hack improvements"},{"results":[42,48414,20336,6500,15370,64,301,28,5815],"time":1725148790000,"hash":"9108ad98d8887fddd572acf7838846b7d16dacd1","title":"builtins/internal_object: better underlying for strings"},{"results":[41.98,48414,20323,6509,15375,64,301,28,5814],"time":1725140872000,"hash":"62a78aefd9f1f75c4c2556d69a2df34104fc843d","title":"codegen: tagged template literals"},{"results":[41.95,48414,20308,6501,15354,64,301,28,5858],"time":1725139110000,"hash":"dbe67bc1640c3080ded1fb8a17e7e8f5c33d1f1f","title":"codegen: simplify NewExpression generation"},{"results":[41.95,48414,20308,6501,15354,64,301,28,5858],"time":1725069141000,"hash":"536e9baed923ff418f38876f13d5065a97e43e80","title":"compiler: impl string primitive object"},{"results":[41.82,48414,20246,6528,15389,64,301,28,5858],"time":1725024657000,"hash":"e78e547d2d5eb1a3060eb81aa103f4146f08b30b","title":"codegen: compliant unary +"},{"results":[41.76,48414,20217,6558,15388,64,301,28,5858],"time":1724974700000,"hash":"b6c8961591e47375d817ba34eab44df50a3a9543","title":"builtins/promise: impl any, race"},{"results":[41.61,48414,20144,6505,15514,64,301,28,5858],"time":1724973662000,"hash":"459d7074af140fe79e5868b952ae39f6e2e734d1","title":"builtins/promise: do not fulfill/reject multiple times for one promise"},{"results":[41.61,48414,20144,6505,15515,64,301,27,5858],"time":1724970265000,"hash":"556636214865b6cfd51a9158ac8f6f903f659971","title":"builtins_objects: add more globals"},{"results":[41.57,48414,20128,6508,15528,64,301,27,5858],"time":1724968687000,"hash":"debfbd609c57d9a1acc97afe9612a98368531c65","title":"codegen: fix ifIdentifierErrors for new exceptions, use in delete"},{"results":[41.52,48414,20101,6460,15596,64,301,27,5865],"time":1724857434000,"hash":"d9a05bc23682dfd06703133d0a1686e136a79bb9","title":"builtins/array: impl constructor as ts"},{"results":[41.48,48414,20080,6472,15601,64,301,31,5865],"time":1724856231000,"hash":"b0fefa272ec144f1db1ab023b6574088acf6bf39","title":"builtins: replace new Array(0) with []"},{"results":[41.48,48414,20080,6472,15601,64,301,31,5865],"time":1724805533000,"hash":"095c3de4dc7b690f48ea55da59e5a84230d9836f","title":"test262/runner: force add use strict to test if scenario"},{"results":[40.9,48414,19799,6472,15882,64,301,31,5865],"time":1724802877000,"hash":"210500be93c7a22314cac15f04a684c0a8fbddeb","title":"codegen: strict mode compliance improvements"},{"results":[40.9,48414,19799,6472,15884,62,301,31,5865],"time":1724777234000,"hash":"18670a6b515b5c70ce99a9d0e655ea4384744328","title":"codegen: fix strict mode for idents in for of/in"},{"results":[40.9,48414,19799,6472,15884,62,301,31,5865],"time":1724769550000,"hash":"576be67a07c5673a0599f8823aecd5e760c6fe6b","title":"codegen: delete unneeded mapName"},{"results":[40.9,48414,19799,6472,15884,62,301,31,5865],"time":1724722021000,"hash":"86561be60b05d9217cdadcd22e376dc169f666e8","title":"codegen: set promise type as used for any async func"},{"results":[39.66,48414,19199,6472,16486,62,301,29,5865],"time":1724719870000,"hash":"506d2659453009f15aace301a2882edc02fa865c","title":"builtins/promise: make await actually throw value"},{"results":[39.65,48414,19195,6474,16487,62,301,30,5865],"time":1724710780000,"hash":"cdf3db03f353b115d162ffa661f2003e35b6e213","title":"builtins/promise: reject if Promise() executor throws"},{"results":[39.55,48414,19150,6453,16553,62,301,30,5865],"time":1724706472000,"hash":"38a13b5cc0a80b049fd9a2b74fd7a1c8afcd48c8","title":"various: reject async func promises if an exception is thrown"},{"results":[39.55,48414,19150,6439,16094,62,301,31,6337],"time":1724628311000,"hash":"afa12464fb9cef9fd4ee07a31a7bdecf6f458b59","title":"test262/harness: add asyncTest"},{"results":[39.53,48414,19139,6438,16106,62,301,31,6337],"time":1724627147000,"hash":"ec7f536280536689129634a19a141df3702f58f8","title":"codegen: retry ident and getType at end"},{"results":[39.53,48414,19136,6349,16207,62,300,30,6330],"time":1724623519000,"hash":"1f36c47545506f6bb2e5e582f7056507246e4018","title":"builtins/reflect: rm outdated underlying ownKeys code"},{"results":[39.52,48414,19135,6348,16208,62,300,31,6330],"time":1724614895000,"hash":"e81b466acee6302fef5b2b58372f69b57212fb88","title":"builtins/error: fix Test262Error.thrower"},{"results":[39.52,48414,19134,6349,16208,62,300,31,6330],"time":1724612992000,"hash":"fd2189e3b39730dcf0be30521b69193bb8229b95","title":"test262/harness: impl deepEqual.js"},{"results":[39.51,48414,19130,6347,16213,62,300,33,6329],"time":1724611349000,"hash":"349c0ac9ba7785140023cad23465930a0c9f3c4c","title":"builtins/array: implement sort default callback"},{"results":[39.49,48414,19120,6320,16253,62,300,30,6329],"time":1724607404000,"hash":"01e433cc7bdee4036a2586e84147af41e1d6a1fc","title":"precompile: use zero checks pref for charCodeAt"},{"results":[39.49,48414,19119,6320,16253,62,300,31,6329],"time":1724600358000,"hash":"0079f08020fc2e9614be7a54103e1d4f33db661c","title":"codegen: fix instanceof for prim objects"},{"results":[39.49,48414,19117,6322,16253,62,300,31,6329],"time":1724597378000,"hash":"bd866d8412db2d30ccdd1d3d841f93642ad3ffd5","title":"compiler: add backend error types for custom errors"},{"results":[39.49,48414,19119,6320,16253,62,300,31,6329],"time":1724594296000,"hash":"b6d8d427e0cd28760a2f7c593f2d49622d627a67","title":"codegen: compare properly in switch tests"},{"results":[39.49,48414,19119,6320,16253,62,300,31,6329],"time":1724584794000,"hash":"7b8d368b5bab8b40c58312fdf1845c1f5eeeb4db","title":"test262: disable last remaining replace hacks"},{"results":[39.49,48414,19120,6319,16253,62,300,31,6329],"time":1724582606000,"hash":"ad4d139dea0d7dff794e4e4ff06245ae960176e0","title":"builtins/error: set constructor of errors"},{"results":[39.47,48414,19107,6334,16251,62,300,31,6329],"time":1724579627000,"hash":"91ea2c14996752c5a53361f37b9f5fb012cdb58f","title":"codegen: make try catch actually use param"},{"results":[38.94,48414,18851,5970,16835,62,338,30,6328],"time":1724576863000,"hash":"425e687127afef9bf083b7325e75e58a1c902aea","title":"codegen: fix identifier in for loops"},{"results":[38.94,48414,18851,5970,16835,62,338,30,6328],"time":1724574728000,"hash":"444bed8c12a8233a6c279b4d048b4b3056d9f6fc","title":"codegen: even more compliant this"},{"results":[38.85,48414,18808,5962,16885,62,338,31,6328],"time":1724573186000,"hash":"c9ca8eab9ec6eb2d2433eb1f25872ce1d787732e","title":"codegen: more compliant this for strict mode"},{"results":[38.76,48414,18767,6018,16870,62,338,31,6328],"time":1724541490000,"hash":"9ce5554510c6477bb399c9e2a99cc2d00b239cfc","title":"rhemyn: fix infinite recursion crash in doesSucceedZero"},{"results":[38.76,48414,18765,6016,16867,62,345,31,6328],"time":1724540462000,"hash":"31765df2c4e4c711473d3ef0ab0ffa388064b734","title":"all: replace bad flags arg with module optional bool"},{"results":[38.76,48414,18766,6016,16867,61,345,31,6328],"time":1724531265000,"hash":"705dbbe4929990583506c84525e9201bd11e431e","title":"compiler: use stack exception mode by default"},{"results":[38.79,48414,18781,6036,16808,264,345,14,6166],"time":1724530514000,"hash":"24443127a81650ca60a972a79125ea1f64f864f9","title":"test262: update clone"},{"results":[38.85,48373,18794,6031,16680,264,423,14,6167],"time":1724518378000,"hash":"205a07bcb8be97095de3d38cdd6fe72ac78ecda9","title":"test262/runner: bump timeout to 10s"},{"results":[38.85,48373,18794,6031,16680,264,423,14,6167],"time":1724515014000,"hash":"5441672b886c18e5740c14510630ee9db82ea0fa","title":"codegen: do not make empty this for builtins"},{"results":[38.85,48373,18794,6031,16678,264,423,16,6167],"time":1724456469000,"hash":"2f357807d42a8bcd8c03e52170c06b3a60176760","title":"builtins/error: move TodoError behind Porffor namespace"},{"results":[38.85,48373,18794,6031,16678,264,423,16,6167],"time":1724436574000,"hash":"9534a5eb1255121d96137f1885a33ba5bae62940","title":"codegen: cleanup scoping for generateFunc"},{"results":[38.85,48373,18792,6031,16678,264,423,18,6167],"time":1724202515000,"hash":"ece628d575f60c9f141033ee7929c26e342d32dd","title":"various: rewrite error types"},{"results":[38.84,48373,18786,6051,16666,264,423,16,6167],"time":1724199404000,"hash":"5b76d8c204834cb4b8c8b779c551cfaafcf678d0","title":"builtins/object: tweak prototype toString, valueOf"},{"results":[38.84,48373,18786,6051,16666,264,423,16,6167],"time":1724191577000,"hash":"892150f5bf18c6423b0e611d0e0ecd4ad617c21c","title":"builtins_objects: add constructor for constructors"},{"results":[38.73,48373,18735,6012,16758,264,423,15,6166],"time":1724181212000,"hash":"727ebc52f1d27f308504953397ae5da2fc44d67f","title":"test262/harness: disable unneeded object value check for verifyProperty"},{"results":[38.52,48373,18635,6012,16856,264,423,17,6166],"time":1724174607000,"hash":"57ecd893b3fdbc219599ddc5fe71cf88092585e8","title":"codegen: fix type for arguments stub"},{"results":[38.39,48373,18570,5799,17140,264,423,15,6162],"time":1724173426000,"hash":"690e860ac58429fc0049fba52dc5c406042ae1e2","title":"builtins/object: check length value for arrays with defineProperty"},{"results":[38.24,48373,18499,5879,17134,264,423,12,6162],"time":1724157422000,"hash":"524964112491418ff5cc7f53b27539fa29b116eb","title":"codegen: use signed i32 conv for object gets"},{"results":[38.24,48373,18498,5880,17135,264,423,11,6162],"time":1724115439000,"hash":"dfe205678088ac1e7a6702fd87d0fbdf1f26d79e","title":"codegen: stub arguments"},{"results":[38.12,48373,18442,5852,17220,264,423,10,6162],"time":1724113234000,"hash":"ec4eddf594efdd410d145e5faecee1710754058f","title":"codegen: prim objs always truthy"},{"results":[38.07,48373,18414,5880,17219,264,423,11,6162],"time":1724111159000,"hash":"8d1289638d4848b0d45780ce8b06e7d055c579c4","title":"builtins/object: make prims into prim objs for Object()"},{"results":[38.06,48373,18410,5881,17219,264,423,14,6162],"time":1724109702000,"hash":"ab3d988e05e6c2f2ceb6dac34c9939a5175e21bb","title":"codegen: rewrite aliasPrimObjsBC to intentionally dup BC"},{"results":[38.06,48373,18410,5881,17220,264,423,13,6162],"time":1724107900000,"hash":"15fc5a4f13cf2cd33b93e29e6dc41f3ca75c0cbb","title":"various: begin primitive objects"},{"results":[38,48373,18380,5860,17273,264,423,11,6162],"time":1724078611000,"hash":"3b8edc188af169d041e079638858efec3ffe1fec","title":"codegen: make member extraBC lazy"},{"results":[38,48373,18380,5860,17272,264,423,12,6162],"time":1724029175000,"hash":"ee43d7fa4ee1e34dd6868d558e38d77439bb7adf","title":"builtins/object: fix forcing defineProperty desc as pure object"},{"results":[37.9,48373,18334,5906,17272,264,423,12,6162],"time":1724027981000,"hash":"4db744bb6bab11209fd9cff229fbd72f32ea5a58","title":"codegen: use real kind for for..of and for..in"},{"results":[37.9,48373,18334,5906,17274,264,423,10,6162],"time":1724024774000,"hash":"9e9fecb876355f3084b9c8bdd1afeaa7b4ca769b","title":"codegen: only do special member access for computed"},{"results":[37.78,48373,18274,5711,17526,264,427,11,6160],"time":1724021241000,"hash":"baec5899d13041728b98aaf886c5a2cd7a5a1da5","title":"builtins/object: better handling of arrays and strings"},{"results":[37.73,48373,18253,5732,17527,264,427,10,6160],"time":1723940439000,"hash":"9d38c5ae6275e9fdab963656cb0c0a496e8e8a1a","title":"builtins: simplify underlying object impl"},{"results":[37.74,48373,18254,5732,17526,264,427,10,6160],"time":1723898189000,"hash":"b14b58530bc812ba017cefce7461a07a16041ed7","title":"builtins/internal_object: more spec compliant redefining restrictions"},{"results":[37.73,48373,18250,5738,17524,264,427,10,6160],"time":1723727697000,"hash":"9ea4f48fa9d1103c39a17e203345bbc36677fe51","title":"codegen: fix template literal type"},{"results":[37.73,48373,18249,5739,17522,264,427,12,6160],"time":1723638635000,"hash":"e3bd630683490269fadadaf7c671004b4ea9f8bc","title":"codegen: make member assign default lazy"},{"results":[37.73,48373,18249,5739,17523,264,427,11,6160],"time":1723545206000,"hash":"4374f1e3ca6d7e98a1630a429de708fcabfa128e","title":"compiler: exclude optional and rest params from function length"},{"results":[37.69,48373,18233,5755,17522,264,427,12,6160],"time":1723505629000,"hash":"fe36ccd81d3e817f7fe518570199994ccb6bfb53","title":"codegen: disallow const assign"},{"results":[37.68,48373,18229,5760,17519,264,427,14,6160],"time":1723501293000,"hash":"692a4c85509230787d779803d856629808e3c888","title":"codegen: make more typeSwitches lazy"},{"results":[37.68,48373,18229,5760,17519,264,427,14,6160],"time":1723498558000,"hash":"5acf31c6b2bbf9819f604a818c0ee412f47c1ca0","title":"compiler: rewrite typeSwitch to be lazily generated"},{"results":[37.69,48373,18232,5754,17487,263,464,13,6160],"time":1723456773000,"hash":"3d0ff08b878aa5f409f0faeba08b983dea8138cb","title":"test262/harness: more typedarray harness"},{"results":[37.69,48373,18230,5743,17500,263,464,13,6160],"time":1723421852000,"hash":"00d27ff8a3e5356149b5fea9f45424c2373356c4","title":"codegen: use new typeSwitch structure for deduping"},{"results":[37.69,48373,18230,5743,17501,263,464,12,6160],"time":1723315510000,"hash":"90988143ce24922c62731496d615fdb04f756f49","title":"codegen: do not do call member hack for new"},{"results":[37.67,48373,18222,5733,17543,263,441,11,6160],"time":1723293800000,"hash":"5b8f855d3ef480b3ec3b815df300ca51785b9554","title":"codegen: fix not popping all depths in loops"},{"results":[37.67,48373,18223,5734,17538,265,441,12,6160],"time":1723211037000,"hash":"430e75fc632b2a180d550076ad25ed45dd614dc0","title":"builtins/internal_string: even faster strcmp"},{"results":[37.67,48373,18223,5734,17538,265,441,12,6160],"time":1723143734000,"hash":"4efc55ec0bd86c63e68bbc7f014e2f896c701515","title":"codegen: basic super"},{"results":[37.65,48373,18211,5697,17484,299,441,13,6228],"time":1723137729000,"hash":"e6bc8c3c3a17547fc194b5e1fbad85d6480cadff","title":"various: rewrite class definitions are defined"},{"results":[37.25,48373,18018,6019,17467,299,441,13,6116],"time":1723130317000,"hash":"a021d291f5ce494d6f22a24cb2c0ec8ec9d82365","title":"codegen: set __proto__ of this in this creation"},{"results":[37.24,48373,18012,6044,17453,301,434,13,6116],"time":1723121850000,"hash":"edbf763d9d6f5d481a6735d816776a701a5ca6a7","title":"codegen: use generic generate more and cache especially for generateFunc"},{"results":[37.24,48373,18013,6044,17453,289,434,13,6127],"time":1723038657000,"hash":"6bf6ab7e00b3799a13fd024cdc1b461669a0b3b5","title":"codegen: make class constructor and methods strict"},{"results":[37.23,48373,18011,6046,17451,289,434,14,6128],"time":1723033507000,"hash":"2ec1cbf356805cb02078a87648d98143cab72a0a","title":"codegen: do not only do class func check for method defs"},{"results":[37.23,48373,18011,6046,17451,289,434,14,6128],"time":1723030385000,"hash":"85810b90f3fdc502850c61b7026e14c61bb21c71","title":"various: rewrite underlying objects"},{"results":[37.13,48373,17963,6176,17373,286,434,13,6128],"time":1722979138000,"hash":"b1c853dc56196e0b7b24bcf04162957dae145c83","title":"builtins/objects: stub JSON as empty object"},{"results":[37.04,48373,17917,6145,17450,286,434,13,6128],"time":1722974152000,"hash":"3cb1fd363a12e53b62e9396529be85204f8393fb","title":"builtins/object: use full truthy check for prop desc in defineProperty"},{"results":[37.01,48373,17905,6157,17450,286,434,13,6128],"time":1722972435000,"hash":"b6ee7a0c62eeaca46da93080d7d5ed769bf2764d","title":"codegen: do not use ToPropertyKey for non-computed property access"},{"results":[37.01,48373,17905,6157,17450,286,434,13,6128],"time":1722971674000,"hash":"95b1365fd12d5c25e98df5c00594fb543ad76eeb","title":"codegen: only object hack built-in things"},{"results":[36.98,48373,17890,6173,17451,286,434,11,6128],"time":1722908589000,"hash":"bed283fd7e631d8861d649e11a32ed53e9722414","title":"various: strict variants of object set/delete"},{"results":[36.87,48373,17836,6235,17441,286,434,13,6128],"time":1722905954000,"hash":"8b114800f09d73da7c0f5799613b6ab5bc0092c2","title":"test262/runner: run strict mode only tests"},{"results":[37.22,47626,17726,6100,16962,280,431,11,6116],"time":1722903567000,"hash":"0354025f324e567a0bc35bdbb2fe45ec0c39db8c","title":"builtins/ecma262: add ToPrimitive string and use in ToString & ToPropertyKey"},{"results":[37.21,47626,17720,6107,16958,280,431,14,6116],"time":1722880276000,"hash":"474e2cab8b11b7d1f595d76a5d5151983472d3d9","title":"builtins/ecma262: add ToPrimitive and use in ToNumber"},{"results":[37.1,47626,17670,6180,16936,280,431,13,6116],"time":1722860239000,"hash":"10deaeb214342e16ad2d01100a848f97dc3e6316","title":"builtins/objects: use glbl for globals"},{"results":[37.01,47626,17627,6169,16936,335,431,12,6116],"time":1722856884000,"hash":"224dda7341486f7f9de0b722f3046e090822f2c0","title":"builtins/object: respect toString/valueOf overrides"},{"results":[37.01,47626,17625,6225,16926,290,431,13,6116],"time":1722813699000,"hash":"7de9be5ca2afc7770a90c8aa4e1e06bfa5bf1632","title":"builtins/objects: use expr.initWithFlags instead of define"},{"results":[37.01,47626,17625,6225,16926,290,431,13,6116],"time":1722811841000,"hash":"aa0e252cd92c4ad7c6b9705df66c7a9aa1793c83","title":"codegen: fix member gen bug in precompile"},{"results":[37,47626,17624,6225,16927,290,431,13,6116],"time":1722794749000,"hash":"03a54c52c4832bae879c60a749b88d30adc6fa72","title":"builtins/object: fix toLocaleString"},{"results":[36.99,47626,17619,6225,16932,290,431,13,6116],"time":1722788169000,"hash":"4bff90bb77a72e30c10c50a2be76770f3aa3e624","title":"codegen: support for..in for all types"},{"results":[36.75,47626,17502,6203,17072,290,430,13,6116],"time":1722778627000,"hash":"f2d9ea84aab82fb24501b02d4944bca92d827266","title":"codegen: get iter type better for for..of"},{"results":[36.75,47626,17502,6203,17077,290,424,13,6117],"time":1722772150000,"hash":"a797cb673616c6031df95d44b2a5b56e673008f8","title":"codegen: do not fully abort for object hack and do not do for some object proto methods"},{"results":[36.52,47626,17393,6202,17187,290,424,13,6117],"time":1722769122000,"hash":"acab361234c0227c6b78921d93b69608ba99b237","title":"builtins/objects: add Object"},{"results":[36.45,47626,17360,6223,17199,290,424,13,6117],"time":1722767904000,"hash":"bbeb60921e9dfa551293fb6159c91bfaf59b09ca","title":"builtins/objects: add Number auto funcs"},{"results":[36.44,47626,17355,6223,17204,290,424,13,6117],"time":1722764838000,"hash":"6c775ed3d093a0135b0fcca23f02786526d5a4cb","title":"builtins/objects: rewrite existing func handling"},{"results":[36.39,47626,17329,6235,17218,290,424,13,6117],"time":1722761417000,"hash":"c1eae714405c086fa7d55af77d7846e8a47b0f5f","title":"builtins/internal_object: do not give non-constr funcs prototypes"},{"results":[36.37,47626,17320,6254,17207,290,424,13,6118],"time":1722759337000,"hash":"8c1aa10d704a2874880c8d7fdcd48d36bc227b5e","title":"builtins/object: work better with funcs"},{"results":[36.35,47626,17312,6266,17204,290,424,12,6118],"time":1722754205000,"hash":"9bed52a282d90175b574abf0f42089503da73580","title":"various: rewrite instanceof"},{"results":[36.28,47626,17279,6214,16918,278,424,13,6500],"time":1722732564000,"hash":"983f9abab6136c802bae7691b6eea5773b409dbd","title":"codegen: impl template literals"},{"results":[36.22,47626,17252,6203,16724,447,424,13,6563],"time":1722730776000,"hash":"f09f0c07e7276a633dbae6b9640b677b24d109a2","title":"codegen: impl guesses for getNodeType"},{"results":[36.22,47626,17252,6203,16724,447,424,13,6563],"time":1722707683000,"hash":"8643a4408cdbcfff63550d532e57dca02a979ade","title":"builtins/annexb_string: rewrite"},{"results":[36.21,47626,17244,6212,16723,447,424,13,6563],"time":1722701649000,"hash":"f24c84462d896fd50d017119d2363cc2d7cd1512","title":"codegen: still set last type for setLocalWithType"},{"results":[36.2,47626,17242,6214,16722,447,424,14,6563],"time":1722699868000,"hash":"11f3ea4b461c723b0b3454614f17e6681c886aa3","title":"various: rewrite concat strings as ts"},{"results":[36.18,47626,17232,6226,16721,447,424,13,6563],"time":1722640887000,"hash":"fbe363b9642ca0249f945fe99cd4743928dd2a06","title":"codegen: impl private fields"},{"results":[35.69,47626,17000,6174,17615,447,424,15,5951],"time":1722600245000,"hash":"bc9b45cda28f7e38ffccf890a6795ee40988987f","title":"codegen: rewrite class extends impl"},{"results":[35.7,47626,17001,6170,17615,447,424,18,5951],"time":1722563143000,"hash":"27a1b07e294128f4c74791a0be15b53efaba3258","title":"codegen: disable removing blank main by default"},{"results":[35.67,47626,16986,6170,17619,462,424,14,5951],"time":1722560274000,"hash":"6298bb6b01bfca7050814a222df26ad920961d6a","title":"codegen: rewrite logic to inject promise job runner"},{"results":[35.63,47626,16971,6189,17627,447,424,17,5951],"time":1722437452000,"hash":"8c8cafe122f1a4f42fab228c4b644b7caf53de0d","title":"codegen: fix default destructured args in functions (#157)"},{"results":[34.92,47626,16629,6273,17901,447,424,13,5939],"time":1722349464000,"hash":"ef8f0ae35a3daab3169d9dd63592d397eebc5779","title":"builtins/string: rewrite isWellFormed in ts"},{"results":[34.91,47626,16625,6278,17900,447,424,13,5939],"time":1722343545000,"hash":"616b919a9a338bc313985f5274ebb4bf255e542d","title":"builtins/object: set function underlying with func"},{"results":[34.91,47626,16625,6322,18011,424,424,14,5806],"time":1722296572000,"hash":"113f447b960e5318dd1a40edf1182c53eb4f91aa","title":"codegen: add standard func lookup funcs"},{"results":[34.88,47626,16610,6335,18009,424,424,18,5806],"time":1722292776000,"hash":"0a145f276f38c27ee754ee153b6e007e5709617a","title":"codegen: lazily generate func bodies"},{"results":[34.87,47626,16607,6282,18065,424,424,17,5807],"time":1722278960000,"hash":"36870b95ed71553da8a038b124a2542aa7acd7dd","title":"various: fix bugs from allocPage rewrite"},{"results":[34.87,47626,16608,6278,18071,424,424,14,5807],"time":1722176703000,"hash":"0fcfc3410db72e3883d4d857d0390050baf6d9a8","title":"codegen: optimize indirect non-constructor new check"},{"results":[34.87,47626,16608,6278,18072,424,424,13,5807],"time":1722170972000,"hash":"04d2945e76435b79b8d8593098f5dc48e945f495","title":"test262/harness: move some to arrow funcs"},{"results":[34.85,47626,16596,6264,18086,435,424,14,5807],"time":1722164697000,"hash":"74f380d7f7fdef0a446a05d3c877c9d0d6eb7339","title":"builtins/promise: fix memory corruption"},{"results":[34.83,47626,16590,6266,18092,435,424,12,5807],"time":1722160564000,"hash":"3d4fc5f94616b3d0608e4bd4e11d60ffd6f54c6e","title":"builtins/object: impl isPrototypeOf"},{"results":[34.82,47626,16582,6256,18110,435,424,12,5807],"time":1722130711000,"hash":"b8fba2c0768168007f9f92832d4fd3a41b7b3ee2","title":"precompiled: update"},{"results":[34.8,47626,16575,6257,18117,435,424,11,5807],"time":1722121270000,"hash":"ac3d8468348a09a9a0c2fb116cc3d890369f2c83","title":"various: rewrite comparing strings as ts"},{"results":[34.79,47626,16568,6194,18184,435,424,29,5792],"time":1722119698000,"hash":"7987ff048152ef6e762ac26a8ffc094b3dff5840","title":"assemble: do not modify index"},{"results":[34.79,47626,16568,6194,18184,435,424,29,5792],"time":1722035384000,"hash":"61adb24cb90a0248f45cd9445d4c7118ba950cf9","title":"codegen: fix class constr id for existing constrs"},{"results":[34.7,47626,16525,6128,18335,435,427,29,5747],"time":1722016160000,"hash":"ed0fe01c3abac207b4f902a3337b156120b8bf36","title":"test262: update clone"},{"results":[34.74,47568,16525,6128,18278,435,427,29,5746],"time":1721953755000,"hash":"363798bae3cbed966c68a8ffe5408cb240064eda","title":"various: basic await"},{"results":[34.49,47568,16405,6118,18241,445,426,28,5905],"time":1721780182000,"hash":"f3e680cdd191ee1e6b8c2fd5966083c7fd38cf12","title":"codegen: support extends for class"},{"results":[34.37,47568,16347,6068,17913,431,427,28,6354],"time":1721778471000,"hash":"e2c7d24198b5dc7e4772438c1fa6f79e83011f36","title":"codegen: fix class prop defs and optimize constr"},{"results":[34.22,47568,16280,6177,17871,431,427,33,6349],"time":1721776856000,"hash":"ab7b79cfb57a3cbe2a02e0268476b50eea54a3ec","title":"codegen: rewrite constr params"},{"results":[34.22,47568,16276,6177,17869,462,403,32,6349],"time":1721767055000,"hash":"d558e46cb60901ff50e7e4703840dfaa3fd514a5","title":"codegen: more reliable func v class gen"},{"results":[34.01,47568,16178,5786,16356,469,511,33,8235],"time":1721730518000,"hash":"4108717f5e51901fd26cdc0edfd76f9b102329eb","title":"codegen: default value for class defs"},{"results":[33.85,47568,16102,5494,16354,467,991,16,8144],"time":1721697114000,"hash":"427b6a598387fc82a55e82ff0e01639554cf4fe6","title":"codegen: basic classes"},{"results":[32.06,47568,15248,4985,14141,444,399,10,12341],"time":1721684458000,"hash":"f4d14f39dc04e1b14d75f676ca9eca135dd6dc1b","title":"builtins/objects: fix double prefixes"},{"results":[31.61,47568,15038,5107,14224,444,399,10,12346],"time":1721679605000,"hash":"9517cee9a64957b01c59f1a95da1179b85a349d8","title":"various: proper object prototype"},{"results":[31.57,47568,15019,5118,14228,444,399,10,12350],"time":1721673141000,"hash":"3f3463336307267d44484c62d7c301d87ab8dd04","title":"codegen: impl __proto__ for primitives"},{"results":[31.44,47568,14956,5182,14227,444,399,10,12350],"time":1721661746000,"hash":"cee3a09d11c5bf00fe2513102ce9915b2fe903a7","title":"codegen: fallback for special properties"},{"results":[31.45,47568,14961,5239,14165,444,399,10,12350],"time":1721612420000,"hash":"5ab970e2be563e9205f1dccbd4b4b99f8ca79512","title":"builtins/object: use prototype chain in get"},{"results":[31.35,47568,14914,5284,14167,444,399,10,12350],"time":1721605967000,"hash":"1b5f450efa6af63f55c8095ed69decb8da011ca8","title":"various: refactor active data to use page names instead of numeric offsets"},{"results":[31.35,47568,14911,5285,14169,444,399,10,12350],"time":1721597592000,"hash":"896cd2357219496a1c03879c314fcf7fdddab1b6","title":"various: make in respect prototype chain"},{"results":[31.35,47568,14913,5287,14165,444,399,10,12350],"time":1721591837000,"hash":"65310ac3cb51d0384fcaed00039243d4b76a2f22","title":"various: use +16 instead of +4 as page 0 offset"},{"results":[31.31,47568,14895,5245,14222,444,399,12,12351],"time":1721588218000,"hash":"000a6e909e82ad1d0218c2e460b81f1b4042917c","title":"codegen: lazy globalThis as this"},{"results":[31.35,47568,14912,5292,14159,444,399,11,12351],"time":1721582247000,"hash":"6fdb665cff4882f8dd236a1640b0070469a74d90","title":"codegen: do not return no wasm for string literal exprs"},{"results":[31.33,47568,14903,5298,14163,444,399,10,12351],"time":1721573449000,"hash":"3aeddce2e231c8492c3878e39a94060d31f949bb","title":"test262/harness: remove propertyHelper verify shortcut hacks"},{"results":[31.33,47568,14903,5296,14165,444,399,10,12351],"time":1721572036000,"hash":"3d55060ca22fc22559bdf5b52389e8905d2ff31d","title":"builtins/object: change where object mapping is done"},{"results":[31.34,47568,14909,5225,14228,444,399,11,12352],"time":1721566285000,"hash":"8c631241f9a53c635412abf6d66297a76dc79635","title":"builtins/objects: move Number props to object"},{"results":[31.34,47568,14910,5224,14228,444,399,11,12352],"time":1721259421000,"hash":"a4058b62181942f87a9ca6d483eb7f7ea89b8f9d","title":"object: initialize prototype for function underlying objects"},{"results":[31.26,47568,14872,5113,14378,444,399,10,12352],"time":1721257159000,"hash":"c7aa6779d0d7d1c9b3307c0f8c7fd65b04625094","title":"object: support underlying objects for funcs"},{"results":[31.2,47568,14843,5112,14384,468,399,11,12351],"time":1721231309000,"hash":"23be40b751cfac9f68b318141a86d4ea767555a2","title":"various: support deleting function length/name"},{"results":[31.08,47568,14785,5170,14384,468,399,11,12351],"time":1721225764000,"hash":"d11c705c31aa832d272975e16714c5db954c30de","title":"various: begin the structure of the prototype chain"},{"results":[31.01,47568,14753,5004,14614,468,399,11,12319],"time":1721170043000,"hash":"d9162280f7352fca6457324293943e055bf8b192","title":"builtins/object: handle delete for non-object"},{"results":[31,47568,14747,5009,14615,468,399,11,12319],"time":1721089005000,"hash":"f960477d895469487f81f88352d7709ee5707698","title":"test262/harness: fix $DETACHBUFFER"},{"results":[30.78,47568,14640,4981,14750,468,399,11,12319],"time":1721080020000,"hash":"18a94bd2a2803420ad17445bf015bec1e88e0d89","title":"various: make object destr rest actually ignore previous keys"},{"results":[30.73,47568,14619,5002,14750,468,399,11,12319],"time":1721076704000,"hash":"08139b69b872d0e2ee497ebfa7101f5f84a272a1","title":"codegen: cleanup strict mode more"},{"results":[30.73,47568,14619,5002,14750,468,399,11,12319],"time":1721075190000,"hash":"80382a77da32323c1862d1b2c155c32e2f945d40","title":"codegen: impl strict mode (#133)"},{"results":[30.73,47568,14618,5007,14746,468,399,11,12319],"time":1721003550000,"hash":"1a8af0fa16a9b96b0c1510f0c650baa4669ab3f6","title":"codegen: more sophisticated setType"},{"results":[30.73,47568,14618,5007,14746,468,399,11,12319],"time":1721002810000,"hash":"4dffeaf29e5df64facd55b50881948187f7c7272","title":"codegen: more sophisticated getType"},{"results":[30.73,47568,14618,5007,14746,468,399,11,12319],"time":1721001409000,"hash":"9b67c7b751bd861e2b3423224a931db641aa9910","title":"codegen: object rest in destructure"},{"results":[30.7,47568,14602,4947,14746,468,399,10,12396],"time":1720999233000,"hash":"221cc6c897f11c04428cafca7c3fa45793838dd1","title":"codegen: impl spread in object expressions"},{"results":[30.64,47568,14574,4937,14696,441,515,11,12394],"time":1720995760000,"hash":"fbeecc1935ed49058b46f7ff427aace8de0f5dd9","title":"codegen: fix a destructure crash"},{"results":[30.64,47568,14574,4937,14696,441,517,11,12392],"time":1720992791000,"hash":"686a1107e4cc995ad37a0495ed9a304c94ba23ba","title":"codegen: fix some destructuring crashes"},{"results":[30.61,47568,14559,4923,14692,441,579,11,12363],"time":1720991620000,"hash":"79f33b7acfc61f13b71a9c29050cf43b18865b54","title":"test262: update clone"},{"results":[30.66,47471,14553,4914,14611,441,579,11,12362],"time":1720979136000,"hash":"8de3f67b5389c912c743146881bd71d3247cbee0","title":"codegen: destructuring to more places (#130)"},{"results":[29.8,47471,14146,4937,14512,417,510,13,12936],"time":1720821038000,"hash":"910e36a5025e4b3d4dd336b16a9c59fc9451cfa2","title":"builtins/boolean: rewrite constructor as ts"},{"results":[29.79,47471,14143,4937,14516,417,510,12,12936],"time":1720820123000,"hash":"95e89c6631b1a930e314eaee899b9f505d75ca0f","title":"codegen: more compliant falsy"},{"results":[29.79,47471,14141,4938,14516,417,510,13,12936],"time":1720815324000,"hash":"5cc314c22d4d4e9167537921a1a3a8c41f6432d1","title":"builtins/internal_object: fix getting/setting null"},{"results":[29.78,47471,14139,4940,14517,417,510,12,12936],"time":1720804082000,"hash":"e44d7de880821f7cf395359941a04bbf6d1ac471","title":"chore: run test262 after many object improvements"},{"results":[29.09,47471,13809,4956,14829,429,510,13,12925],"time":1720750814000,"hash":"39f6ec08bd048f6da3c3ab6da21b514a96402a52","title":"various: fix .name for arrow functions in certain cases"},{"results":[29.07,47471,13801,4965,14829,429,510,13,12924],"time":1720747922000,"hash":"a2cda7068e3152fdb251ea5bd5a0aa879b67dbea","title":"codegen: fix destructuring defaults"},{"results":[29.01,47471,13773,4993,14829,429,510,13,12924],"time":1720747036000,"hash":"b6e0f838e3e2f2724f5250b21b6ec23c56133f15","title":"various: Function.prototype.call hack plus tweaks"},{"results":[28.88,47471,13711,4017,15889,411,517,12,12914],"time":1720634938000,"hash":"634589eafc98a0618049c6b71f4de61030805801","title":"builtins/number: rewrite constructor"},{"results":[28.79,47471,13666,4062,15888,411,517,13,12914],"time":1720632963000,"hash":"60bd5052b90a085b658aee9b6e60f26831f42488","title":"codegen: add hack to handle prototypes called directly"},{"results":[28.78,47471,13662,4066,15841,409,596,13,12884],"time":1720613161000,"hash":"b2445452d6d44d62d9ff8fcaf80d251088836238","title":"builtins/stringtonumber: make empty strings return 0"},{"results":[28.78,47471,13660,4068,15841,409,596,13,12884],"time":1720603327000,"hash":"5df46c5127df5fb7c2f1a0765b3d13f744c03036","title":"codegen: error for object destructure with undefined or null"},{"results":[28.73,47471,13640,4088,15841,409,596,13,12884],"time":1720601475000,"hash":"4720e90f8d197c5577885c103fecc63281b17ff0","title":"codegen: error for array destructures on non iterables"},{"results":[28.69,47471,13621,4119,15829,409,596,13,12884],"time":1720598742000,"hash":"22f3c21830cb3bf8744049228cb64b7fc64553e2","title":"codegen: basic object destructuring (#121)"},{"results":[28.44,47471,13503,3983,15822,409,596,12,13146],"time":1720570357000,"hash":"d8dbd8148c0e3af236dfcce35467f5a45c00927e","title":"test262/runner: reuse script for timeout"},{"results":[28.44,47471,13503,3983,15822,409,596,12,13146],"time":1720562860000,"hash":"7704735892974cd2a6b6baf762548f8268a6fa98","title":"codegen: todo error nicely for generator functions"},{"results":[27.85,47471,13221,3973,17150,409,596,1995,10127],"time":1720559552000,"hash":"b93e722e297b5d007985abbaea35991295600bd7","title":"codegen: support optional calls"},{"results":[27.85,47471,13222,3973,17152,409,596,1992,10127],"time":1720462237000,"hash":"063e6825c87295dd4b723ffee567471efd408261","title":"builtins: cleanup some internal funcs"},{"results":[27.85,47471,13221,3973,17171,409,596,1974,10127],"time":1720459657000,"hash":"323cca3402efd4ef2507d2d501c1e787044a10df","title":"codegen: add todo for for await"},{"results":[27.85,47471,13222,3975,17136,409,596,2017,10116],"time":1720397670000,"hash":"eee71eb596cc16a86fd621af69693fb8ca7caf89","title":"test262/runner: update hacks"},{"results":[27.84,47471,13217,3975,17155,409,596,2001,10118],"time":1720395144000,"hash":"2d89c3da1c9c9c2c2385108e7099f25c2b528a02","title":"test262: more harness, async test support"},{"results":[27.53,47471,13069,3895,18974,325,596,499,10113],"time":1720391231000,"hash":"8f76958a1b653c47c95a2c94f24baaf2e59ad844","title":"compiler: move call idx encoding to assembler"},{"results":[27.53,47471,13069,3895,18946,339,596,524,10102],"time":1720384593000,"hash":"6f133a95713fa5206cd57260bd5e0a408073b992","title":"object: rewrite object exprs to support get and set kinds"},{"results":[27.31,47471,12966,3850,18757,343,482,519,10554],"time":1720380429000,"hash":"481ea677b17cd607a0a910d566f574ca5048910d","title":"builtins/arraybuffer: use ToIntegerOrInfinity"},{"results":[27.31,47471,12965,3851,18785,343,482,491,10554],"time":1720357263000,"hash":"89d2e7ab20c7491c1fb4f41b1df4af9636bc1726","title":"codegen: very basic async funcs"},{"results":[27.3,47471,12960,3846,19278,331,482,485,10089],"time":1720317780000,"hash":"853504c4fda41b882697c134351392326289c767","title":"builtins/promise: impl Promise.all, Promise.allSettled"},{"results":[27.28,47471,12950,3841,19258,313,482,526,10101],"time":1720308009000,"hash":"7dda1b99cddc11aeb272f994bf0c144e0c8ef192","title":"builtins/promise: impl Promise.resolve, Promise.reject"},{"results":[27.26,47471,12940,3838,19313,313,482,506,10079],"time":1720305243000,"hash":"6beb1db27efa6eadbb9743b583fee76954fcc53e","title":"builtins/promise: impl finally"},{"results":[27.25,47471,12936,3839,19332,313,482,490,10079],"time":1720302211000,"hash":"b9b6ced5821692322729c0fd6d7d649bd09d1cc0","title":"builtins/promise: impl catch"},{"results":[27.24,47471,12931,3840,19353,313,482,473,10079],"time":1720300078000,"hash":"be4188965cf8df550ac06a7aee1e17d1b1ba6e93","title":"test262: update clone"},{"results":[25.8,49471,12762,3835,21086,330,391,476,10591],"time":1720298935000,"hash":"7a04b0ffa4d3c991b0a8cff122eb6300da16837b","title":"builtins/promise: begin promise"},{"results":[25.74,49471,12735,3803,21166,330,311,502,10624],"time":1720283729000,"hash":"82f482625cc57adb658936b854928bd39b1acce1","title":"codegen: fix nullish for empty type"},{"results":[25.74,49471,12734,3803,21173,330,311,496,10624],"time":1720042322000,"hash":"7c33eaa1f46ee44b521ba06214ee6b0a9de6aff8","title":"codegen: fix for..in using non-enumerables"},{"results":[25.62,49471,12672,3859,21124,330,311,550,10625],"time":1720041044000,"hash":"8c9f27f3b97e5a0c2fc8349c71e87a7bf4f5bd4b","title":"builtins_objects: globalThis"},{"results":[25.55,49471,12641,3855,21366,344,311,330,10624],"time":1720038251000,"hash":"eac9fffc75c81be5e0d1d8caba90fe3e3133ddba","title":"builtins_objects: rewrite"},{"results":[25.54,49471,12633,3940,21238,344,311,377,10628],"time":1720036666000,"hash":"21f2cfa853aca5ea20f0cb6ffecf089c31c84247","title":"builtins: fix ** ops"},{"results":[25.54,49471,12636,3958,21257,347,311,335,10627],"time":1720036199000,"hash":"0239e1a77b2f14a1714a49bb5a4858e9dde5c5db","title":"test262/harness: fix verifyProperty undefined desc"},{"results":[25.54,49471,12637,3957,21295,347,311,297,10627],"time":1719969194000,"hash":"11df11480e9b25dc4bf7d1c1027e7d176f9cea74","title":"codegen: fix new.target value for indirect calls"},{"results":[25.54,49471,12633,3939,21219,347,311,395,10627],"time":1719966159000,"hash":"6750e4360ef8f427640a6c08c8d637963d2d13ec","title":"various: simplify constructor args, fix accessors"},{"results":[25.15,49471,12442,3918,21408,339,312,431,10621],"time":1719963379000,"hash":"60c96e269e39b607c66db41e8b0e351c96c861ca","title":"codegen: return this for returns in constructors"},{"results":[25.14,49471,12439,3913,21381,339,312,466,10621],"time":1719961867000,"hash":"23fce2c01a7412cd8f1c58be46b71659b35503ab","title":"test262: bump timeout to 3s to avoid flakes"},{"results":[25.15,49471,12440,3918,21259,339,312,582,10621],"time":1719960719000,"hash":"6506c3370f063d22cf224971f3cb7599a78186bb","title":"codegen: make DEFAULT_VALUE a function to avoid ast cache"},{"results":[25.14,49471,12435,3902,21313,339,312,549,10621],"time":1719957922000,"hash":"71b7d68e1c614daa6ce3db941c626928a07e5d3c","title":"assemble: remove this/new_target call_indirect hacks"},{"results":[25.14,49471,12439,3913,21264,339,312,583,10621],"time":1719956510000,"hash":"f87197e7293fba22940230a74f187fb63dd342a3","title":"chore: document test262 diff from PRs"},{"results":[25,49471,12366,3617,21058,432,311,569,11118],"time":1719951689000,"hash":"12c74dc58d0bdf1a2d59e90a26ab85476d2eab28","title":"builtins/object: more compliant toString and more"},{"results":[25.01,49471,12373,3633,21035,432,311,569,11118],"time":1719949139000,"hash":"fd9a8ac8145502078a3f4fb9cd0d9b3b54346735","title":"builtins/array: use ToIntegerOrInfinity, fixup indexOf and more"},{"results":[25.01,49471,12372,3650,21023,431,311,565,11119],"time":1719942656000,"hash":"15e826c7ea9439cc0eb420d4ae0e448fe14a3ad1","title":"builtins/arraybuffer: spec compliant constructor"},{"results":[25,49471,12366,3633,21049,431,311,562,11119],"time":1719874823000,"hash":"0e523ba94af0db195ca5069b587ce8ed8d9d4488","title":"builtins/number: impl parseFloat"},{"results":[24.93,49471,12334,3636,21075,431,311,565,11119],"time":1719873508000,"hash":"f8773586334d575d2e7edc0407ecc6cbaa9fc220","title":"builtins/number: trim parseInt input"},{"results":[24.91,49471,12321,3628,21093,431,311,568,11119],"time":1719873083000,"hash":"da32bdd8a9ac94eba696dedc549cda6900d407de","title":"builtins/stringtonumber: actually do the thing"},{"results":[24.88,49471,12306,3645,21089,431,311,570,11119],"time":1719870520000,"hash":"1122c6e04e6caec5a62d0c4e89da25b6f38f8cfb","title":"builtins/number: new Number"},{"results":[24.82,49471,12278,3684,21075,431,311,574,11118],"time":1719870064000,"hash":"9b343fda6f8ef0321117e0024dab39decf5d837c","title":"builtins/ecma262: begin proper ToNumber"},{"results":[24.81,49471,12274,3676,21086,431,311,575,11118],"time":1719868884000,"hash":"27495589f2d550d81322b943a4024b944d698bc9","title":"test262: bump timeout"},{"results":[24.82,49471,12279,3694,21014,431,311,624,11118],"time":1719864591000,"hash":"5bac36cb3e9ef080665f6decefffaca96a2e1c4a","title":"builtins/number: simplify parseInt"},{"results":[24.82,49471,12279,3694,20997,431,311,641,11118],"time":1719863710000,"hash":"b13825d0ad2133edb4abe68c2d04218da939638d","title":"builtins/number: use ToString on input for parseInt"},{"results":[24.81,49471,12272,3676,21017,431,311,646,11118],"time":1719862522000,"hash":"b240112a0dd70d0e4a6b4c1c956fb042067f3268","title":"builtins/number: use ToIntegerOrInfinity for parseInt"},{"results":[24.8,49471,12271,3677,21014,431,311,649,11118],"time":1719857869000,"hash":"2cdce78112c7fd74ca8733525b39615b4a98d7b8","title":"builtins/object: retain desc attrs in defineProperty"},{"results":[24.72,49471,12231,3740,20991,431,311,650,11117],"time":1719856228000,"hash":"c7b46944852fb1ea1aedb242be814b730efa2a4f","title":"codegen: passive data for static alloc"},{"results":[24.68,49471,12211,3724,21034,431,311,644,11116],"time":1719848438000,"hash":"748ebf75cbbe84f6a40de21a901f9ea4005ddf74","title":"builtins_objects: add automatic prototype objects"},{"results":[24.51,49471,12125,3522,21414,431,311,618,11050],"time":1719844034000,"hash":"29cedf70ec89b59e7b6bf651db4a806454673caa","title":"codegen: fix reading/setting property of undefined not throwing"},{"results":[24.61,49471,12176,3920,20889,431,311,635,11109],"time":1719843570000,"hash":"37527aa9cec51cbb15f1405a71ce3b8b04b5c6f1","title":"builtins_objects: add Reflect, clean up"},{"results":[24.59,49471,12167,3915,20899,431,311,639,11109],"time":1719793004000,"hash":"96ef67ec54a7f9f5ec078a56b7ab7f491d2578f2","title":"various: rewrite name, length props for functions"},{"results":[23.63,49471,11692,4517,20794,431,311,618,11108],"time":1719789576000,"hash":"697ec03d3e6d72490c6c6b1e3fb512f7f200cc59","title":"codegen: make non-throwing defaults for member get/set"},{"results":[23.32,49471,11537,3940,21604,432,311,609,11038],"time":1719788174000,"hash":"725d97da45ea2375a00a5b19fd20ea6b0fef6b14","title":"codegen: use dynamic allocation for forof strings"},{"results":[23.32,49471,11537,3940,21604,432,311,609,11038],"time":1719787944000,"hash":"53af7eeab679c41dab446ba3bebc83f9c7f53434","title":"codegen: use dynamic allocation for string member"},{"results":[23.26,49471,11509,3971,21616,432,311,594,11038],"time":1719784355000,"hash":"c52e163e90fec8fa3777f89943c26afdc9499dbe","title":"test262/harness: impl propertyHelper.js"},{"results":[22.96,49471,11358,3159,22636,419,311,591,10997],"time":1719783683000,"hash":"eb3fcee1fa0cebe9311e16635d39ef76b38eac12","title":"codegen: generate member asts before typeSwitch"},{"results":[22.94,49471,11351,3153,22657,419,311,584,10996],"time":1719769874000,"hash":"f3b766a2958417576fa02aef52419d96745e438d","title":"compiler/builtins_objects: initial add"},{"results":[22.91,49471,11333,3124,22697,419,311,591,10996],"time":1719750356000,"hash":"72beaa0ba5568cc195ff54ae72dc2a2acb39e115","title":"object: fix missing get/set breaking for accessors"},{"results":[22.84,49471,11301,3138,22690,419,311,616,10996],"time":1719746764000,"hash":"2feb87fb29c52c69080bad1fc0c6ea70633b91ef","title":"object: impl accessors"},{"results":[22.66,49471,11209,3264,22713,417,311,575,10982],"time":1719701221000,"hash":"cb45b5a3f4d5f782c7a162579e1313a74cefbad9","title":"builtins/reflect: impl most of the rest"},{"results":[22.64,49471,11198,3228,22762,417,311,573,10982],"time":1719697379000,"hash":"a84aee9d46f65350c0c7849e0e86a5e45f23ff19","title":"assemble: add final wasm transform layer for nits"},{"results":[22.63,49471,11197,3228,22740,423,311,592,10980],"time":1719690806000,"hash":"f1345ce46dfb09376218468dcd69b539e62e108b","title":"assemble: fix malformed wasm from export func >128"},{"results":[22.63,49471,11196,3224,22754,423,311,583,10980],"time":1719690502000,"hash":"f3f98abce30d85ba8bf8662b3913c7f78a60fa53","title":"codegen: todo for unsupported exports"},{"results":[22.63,49471,11196,3224,22745,423,354,582,10947],"time":1719689891000,"hash":"856d0abe55e655179d8865e26d596ec1488df747","title":"codegen: fix hasFuncWithName"},{"results":[22.69,49471,11226,3195,22720,413,489,564,10864],"time":1719688022000,"hash":"5ffe93dd1866298de346a326b953fbf7ea64c7d2","title":"codegen: delete for objects"},{"results":[22.53,49471,11146,3250,22750,416,489,583,10837],"time":1719662201000,"hash":"379017f814bb132cad2373965110a1a67d6264c5","title":"builtins/reflect: impl has"},{"results":[22.53,49471,11144,3245,22757,416,489,583,10837],"time":1719534182000,"hash":"9d358df7b608ead210480a461aa30fa02aa9a3d3","title":"builtins/reflect: impl get"},{"results":[22.52,49471,11143,3237,22770,416,489,579,10837],"time":1719484384000,"hash":"61b8924070d8aec2d28b61b7283a315c943edd38","title":"codegen: opt known return type of multiple proto funcs same returnType"},{"results":[22.52,49471,11143,3237,22766,416,489,583,10837],"time":1719483897000,"hash":"e5a346bff1d2c2c2270f38e0751cd5bfb7eb80a3","title":"codegen: basic in operator"},{"results":[22.52,49471,11140,3322,22762,431,489,583,10744],"time":1719483084000,"hash":"2c916bdbb04d4696d1e20dedaadaa1fc33340121","title":"builtins/object: impl getOwnPropertySymbols"},{"results":[22.51,49471,11134,3324,22766,431,489,583,10744],"time":1719481915000,"hash":"c041607f4d38ee95a4f7307cd8e0461f1359aa35","title":"compiler: support symbols for object props"},{"results":[22.5,49471,11131,3327,22772,431,489,577,10744],"time":1719442545000,"hash":"dcb0c5aba0c12045bd0bd00a914a3ca20b939ee9","title":"builtins/object: basic groupBy"},{"results":[22.5,49471,11132,3325,22774,431,489,576,10744],"time":1719441550000,"hash":"7da4dd86df47e5acfa38e02d4da3e7599be4d1ff","title":"builtins/object: impl getOwnPropertyNames"},{"results":[22.46,49471,11112,3319,22807,431,489,570,10743],"time":1719441179000,"hash":"10208bd2a1fff87b313b3c9a5502939d9d3cb70a","title":"builtins/object: impl getOwnPropertyDescriptors"},{"results":[22.45,49471,11107,3319,22804,431,489,578,10743],"time":1719439753000,"hash":"1c47b5168d26833a88088dd753c350388b2ac192","title":"builtins/object: exit early for non-pure-objects in getOwnPropDesc"},{"results":[22.45,49471,11106,3321,22806,431,489,575,10743],"time":1719438762000,"hash":"c8d9bc956f46dbb0eb44113a68f9801b8ec9b4b1","title":"builtins/object: impl getOwnPropertyDescriptor"},{"results":[22.22,49471,10990,3231,23197,418,489,576,10570],"time":1719427027000,"hash":"0067e5f89b0d4045c0750df52ff1f9871de70cce","title":"builtins/object: impl seal, isSealed"},{"results":[22.09,49471,10926,3216,23283,418,489,571,10568],"time":1719419173000,"hash":"de7cfa144689f81f7c9eb36f8d8b5e683ece60b0","title":"builtins/object: impl freeze, isFrozen"},{"results":[21.98,49471,10875,3206,23332,418,489,584,10567],"time":1719396097000,"hash":"f75bc407a341ce7fdde1a7f4c9b3dddbc2705c46","title":"builtins/object: impl extensibility methods"},{"results":[21.89,49471,10828,3183,23410,414,489,583,10564],"time":1719359497000,"hash":"5f1f820256fa79bad0ba8d3ae6682d8c264b7149","title":"builtins/object: basic Object.create"},{"results":[21.68,49471,10724,3124,23578,414,489,585,10557],"time":1719357923000,"hash":"33b232695d0139899a76feabf698862de291615f","title":"builtins/object: impl Object.is"},{"results":[21.65,49471,10708,3125,23594,414,489,583,10558],"time":1719346843000,"hash":"a9af1540093c1ab6953529f4e32fa1b634fe8150","title":"builtins/object: better getter/setter type checks for defineProperty"},{"results":[21.6,49471,10685,3147,23594,414,489,584,10558],"time":1719344131000,"hash":"a5a9d2945011f2315432040e01b23dcc0c9e6fa4","title":"builtins/object: fix descriptor type check for defineProperty"},{"results":[21.59,49471,10680,3137,23610,414,489,583,10558],"time":1719343485000,"hash":"24a519f33e08aed26da2edf7349652930f2f4462","title":"builtins/object: impl Object.defineProperties"},{"results":[21.56,49471,10665,3034,23735,406,489,583,10559],"time":1719323753000,"hash":"887e643a046987967466106169e9ec4235074316","title":"codegen: impl for..in"},{"results":[21.47,49471,10619,2990,23707,404,489,583,10679],"time":1719284010000,"hash":"f1558dde1c23a0c1f12687e432b0e870322d6fab","title":"builtins/object: impl #propertyIsEnumerable"},{"results":[21.46,49471,10616,2989,23710,404,489,584,10679],"time":1719282958000,"hash":"d1cfb381bd20d28ec217aa3018977b382f75cb68","title":"builtins/object: new check methods"},{"results":[21.47,49471,10619,2984,23713,404,489,583,10679],"time":1719281032000,"hash":"fae6ebce14327f90502bd812c5109cf2e2dba174","title":"builtins/object: impl Object.defineProperty"},{"results":[20.9,49471,10339,2611,24808,376,489,524,10324],"time":1719280112000,"hash":"4bff002fd9e79b8aa3dc9ef68381d6d30e71217e","title":"codegen: use name for object property generation"},{"results":[20.85,49471,10317,2554,24889,376,489,523,10323],"time":1719262075000,"hash":"17d704a6f0b10ffd0f259de0081b07bebfe92c1f","title":"builtins/object: respect enumerable flag for keys/values"},{"results":[20.85,49471,10317,2554,24889,376,489,523,10323],"time":1719192112000,"hash":"65ba7712f6bd7baeefaadd0f554b0aad008cafcb","title":"various: object overhaul + more"},{"results":[20.8,49471,10288,2521,24960,370,489,525,10318],"time":1719172218000,"hash":"f21c052b82231f1217b886dfb2678639664bc366","title":"codegen: cache generating individual ast nodes"},{"results":[20.79,49471,10287,2523,24949,379,489,527,10317],"time":1719004711000,"hash":"d866b28307978bc769594f0f4cb048fa765a1a87","title":"builtins/object: impl Object.fromEntries"},{"results":[20.78,49471,10280,2524,24953,379,489,528,10318],"time":1718995522000,"hash":"962f72a13aa7b037cff7ef3276a234e2cff5c3fc","title":"types: move around main types"},{"results":[20.78,49471,10278,2526,24952,379,489,529,10318],"time":1718986099000,"hash":"aa60d63525d294e9618bf62b535c3462415c4436","title":"codegen: fix for..of for empty iterators"},{"results":[20.74,49471,10258,2517,24982,379,489,528,10318],"time":1718982145000,"hash":"0d41b0d441d1e3f74e5b5a463cef8395382d4076","title":"builtins/object: impl Object.assign"},{"results":[20.73,49471,10254,2518,24986,379,489,531,10314],"time":1718933303000,"hash":"68c8b2e1bdbc2bbea72fb9913d301e7f90d4d864","title":"builtins/object: throw in keys, values for nullish args"},{"results":[20.72,49471,10250,2523,24986,379,489,526,10318],"time":1718932573000,"hash":"dc4d6b913c1aae95ffc41a19323172e7b9f9406c","title":"codegen: optimize == null|undefined"},{"results":[20.71,49471,10246,2527,24986,379,489,526,10318],"time":1718931613000,"hash":"949ef5c61aa8673f9108f63647e91fef2068eb44","title":"codegen: fix missing drops in nullish"},{"results":[20.71,49471,10243,2527,24986,380,489,528,10318],"time":1718929824000,"hash":"53ef7baa92c29b22559604256cfdd73711dce424","title":"builtins/object: impl Object.hasOwn"},{"results":[20.7,49471,10242,2522,24992,380,489,528,10318],"time":1718928466000,"hash":"e278ebc43dcdbbdccae235cbd20d39c7d45f1fba","title":"builtins/object: impl #hasOwnProperty"},{"results":[20.66,49471,10220,2512,25026,380,489,526,10318],"time":1718926580000,"hash":"595fef91a929bfc4e35cc4318c724226d53e06c5","title":"builtins/object: impl #valueOf"},{"results":[20.66,49471,10219,2515,25023,380,489,527,10318],"time":1718926102000,"hash":"e4783ba85a0a79879414ab165d3d1f05166b6aaa","title":"builtins/object: impl Object.entries"},{"results":[20.64,49471,10213,2512,25033,380,489,526,10318],"time":1718923976000,"hash":"d9b6af8b82d5b6c65032ca7f4f8bdac6901273ef","title":"builtins/map: fix keys, values"},{"results":[20.64,49471,10213,2512,25033,380,489,526,10318],"time":1718921495000,"hash":"972d3de0963fa6a9047153ef8fd73f1a9bafa216","title":"builtins/object: impl Object.keys"},{"results":[20.62,49471,10201,2511,25046,380,489,528,10316],"time":1718920935000,"hash":"b96e8c9d71a8733c8c3959063e8c5283697c7fa8","title":"codegen: use ToPropertyKey for object access"},{"results":[20.53,49471,10156,2502,24405,375,489,526,11018],"time":1718920233000,"hash":"fc83543e6ccdc26e2cf8ded78d0d51eccd2d64d5","title":"assemble: fix element section for >128 funcs"},{"results":[20.51,49471,10148,2489,24225,616,489,526,10978],"time":1718903588000,"hash":"f2ea154d4912290134ea49a5ef09648001ebb535","title":"assemble: fix bad table size for >128 funcs"},{"results":[20.51,49471,10146,2489,24219,641,489,525,10962],"time":1718901604000,"hash":"c32f7d50205bd78b372e46c21434883d6a54c83a","title":"builtins/symbol: add keyFor and cleanup"},{"results":[20.51,49471,10145,2492,24225,616,489,526,10978],"time":1718838582000,"hash":"4d06d60473f30b793cc84a0f1be4f87cf1afc0a4","title":"builtins/symbol: rewrite"},{"results":[20.5,49471,10142,2504,24278,539,489,523,10996],"time":1718831355000,"hash":"2c7ae3dd79d9bbf434a2aab5f663897770962d91","title":"codegen: fix type for UpdateExpression"},{"results":[20.49,49471,10138,2508,24278,539,489,523,10996],"time":1718829481000,"hash":"c7616d692de19f38c4a7d4575be964fc766b2e19","title":"codegen: new setLocalWithType util"},{"results":[20.49,49471,10136,2510,24278,539,489,523,10996],"time":1718814723000,"hash":"904450d10469fb5d71636925c9f4725e47adc2d9","title":"codegen: use name args for assign with logic op"},{"results":[20.49,49471,10136,2510,24278,539,489,523,10996],"time":1718802455000,"hash":"e1b7f149e67de3004e7dfc026fe9b01001d67099","title":"builtins/console: overhaul"},{"results":[20.49,49471,10136,2506,24278,547,489,523,10992],"time":1718798003000,"hash":"0e505707a4c57903bb988a2fb21e85079ef5bda4","title":"builtins/map: impl toString"},{"results":[20.49,49471,10135,2510,24279,542,489,524,10992],"time":1718797014000,"hash":"e577aecb31a8f2896c2addab9108805f01cd824e","title":"codegen: never do object hack for length, name"},{"results":[20.48,49471,10130,2573,24222,542,489,523,10992],"time":1718755287000,"hash":"554fc1c65a34dc9939a3c70f0003de81eb2f11d9","title":"builtins/symbol: Symbol.for"},{"results":[20.47,49471,10125,2568,24233,541,489,523,10992],"time":1718729823000,"hash":"f45631653d86b1e48535c47d91a90b699426dc54","title":"test262/runner: bump timeout to 1s and track files"},{"results":[20.46,49471,10124,2568,24233,541,489,524,10992],"time":1718717987000,"hash":"dcc39b075ec0b759d419d7b7aa11843dfb411ac6","title":"codegen: optional chaining"},{"results":[20.44,49471,10112,2568,24744,384,813,195,10655],"time":1718708433000,"hash":"f0d253fc366ce7e0953e90234fc41aad77136a8e","title":"codegen: use hasOwn in more places"},{"results":[20.45,49471,10116,2570,24729,383,825,195,10653],"time":1718703218000,"hash":"8c351bb3c354707d1471f10f9cb9c42381ef3bb7","title":"codegen: use hasOwn in generateCall"},{"results":[20.45,49471,10116,2570,24669,419,848,196,10653],"time":1718702289000,"hash":"6b191bd0e1d0e47fde6e9ceb65323b66f6dfcd8f","title":"codegen: use hasOwn in getNodeType calls"},{"results":[20.45,49471,10117,2570,24669,419,848,195,10653],"time":1718701325000,"hash":"91a9bc8dab383aebd5101f3d9cd4714b2b033de9","title":"codegen: use hasOwn for getType"},{"results":[20.44,49471,10111,2562,24425,419,1107,196,10651],"time":1718699805000,"hash":"d8707ddd7af078d13c4cd297a663d9f51265f492","title":"codegen: use hasOwn for hasFuncWithName"},{"results":[20.38,49471,10083,2586,24467,419,981,199,10736],"time":1718699068000,"hash":"a30d56ccf1be216b8eababad9012c20463bfe855","title":"codegen: use hasOwn for length getter"},{"results":[20.38,49471,10082,2586,24444,419,1011,200,10729],"time":1718696931000,"hash":"efaa807fabcc85675d5a917193ad452122cd4f7a","title":"test262: update clone"},{"results":[20.18,50032,10094,2588,24910,436,1011,198,10795],"time":1718655278000,"hash":"9a11318c4ba12e4b102d6dbeaefe37fc124ec266","title":"codegen: remove object shorthand restriction"},{"results":[20.15,50032,10082,2587,24883,436,1010,199,10835],"time":1718653452000,"hash":"a716db93ab3e549a77947c4fb151b954a7458adb","title":"codegen: remove object method restriction"},{"results":[19.92,50032,9966,2480,24256,428,1007,76,11819],"time":1718651553000,"hash":"d2baa4209e27cf30139af762c7b6c1eb248a29b4","title":"codegen: remove object key ast type restriction"},{"results":[19.92,50032,9964,2459,24247,427,1007,77,11851],"time":1718650698000,"hash":"b9ddb485c09183c59c96b98e9e53b2eb6aeea5a6","title":"codegen: cleanup includeBuiltin"},{"results":[19.91,50032,9963,2459,24247,427,1007,78,11851],"time":1718579783000,"hash":"a777a76758042ef6063c904b3a08f9deff24d194","title":"various: OBJECTS, and more"},{"results":[19.29,50032,9651,3030,19039,498,425,7,17382],"time":1718493503000,"hash":"9f50efe135fefe06bb1af6bd193e77b04cf5246b","title":"builtins/map: optimize common methods"},{"results":[19.29,50032,9651,3030,19039,498,425,7,17382],"time":1718489975000,"hash":"af99369b2bd05a800e7d8bb201528faacf281e19","title":"builtins/map: fix delete splice being borked"},{"results":[19.29,50032,9651,3030,19039,498,425,7,17382],"time":1718489629000,"hash":"a801fb1be2b12d0dcf837f6aae28193e5779b1a8","title":"builtins/map: fix has"},{"results":[19.28,50032,9645,3037,19038,498,425,7,17382],"time":1718485177000,"hash":"6357b5f8ab03027ccf7731e0ba83248cc757f589","title":"compiler/types: add new empty type as 0x00"},{"results":[19.21,50032,9610,3065,19048,498,425,6,17380],"time":1718468772000,"hash":"74d24adc2df6161246e2e9440b6220f370bb60f9","title":"builtins/weakset: fix iterable check, move to last"},{"results":[19.21,50032,9610,3065,19048,498,425,6,17380],"time":1718468495000,"hash":"ce0117cefea429da4c03ecd263cfb30dda335d23","title":"builtins/weakmap: initial add"},{"results":[19.18,50032,9598,3065,19065,493,425,6,17380],"time":1718464761000,"hash":"7a4e5e23e02b13ba034260754a41c94dc7b7383e","title":"builtins/weakset: simplify"},{"results":[19.18,50032,9598,3065,19065,493,425,6,17380],"time":1718407278000,"hash":"0fed13f0e560912d9ead8a9f57a4dc20f05e536f","title":"builtins/set: fix null as iterable constructor arg"},{"results":[19.18,50032,9598,3065,19065,493,425,6,17380],"time":1718406853000,"hash":"149989c8f0c1cc0e6b2319ab40b83aac1ceef629","title":"builtins/map: impl iterable arg in constructor"},{"results":[19.18,50032,9594,3075,19065,488,425,6,17379],"time":1718402747000,"hash":"80c8a64e481fbfda8d4896d55aca042c5feb2714","title":"builtins/map: impl keys, values"},{"results":[19.17,50032,9592,3079,19063,488,425,6,17379],"time":1718402445000,"hash":"87f761afb7852db5c7e132f6e3ad5464ade51497","title":"builtins/set: impl forEach"},{"results":[19.16,50032,9585,3081,19071,487,425,6,17377],"time":1718401990000,"hash":"b552a06107172d214fe0a18570e2f79830750319","title":"builtins/map: fix delete"},{"results":[19.15,50032,9583,3081,19073,487,425,6,17377],"time":1718401692000,"hash":"e25b1dd9c44714d613dea8d4b06021c7205d8101","title":"builtins/map: initial add"},{"results":[19.11,50032,9559,3068,19121,486,425,6,17367],"time":1718396404000,"hash":"23594c24b8ab525c159c309682641344e65cf67a","title":"encoding: optimize ieee754_binary64"},{"results":[19.11,50032,9559,3068,19121,486,425,6,17367],"time":1718391612000,"hash":"e7c4ae034b3c5001b46b81e7231458f52e0530e1","title":"builtins/dataview: impl float32 methods"},{"results":[19.08,50032,9548,3064,19136,486,425,6,17367],"time":1718371783000,"hash":"dbea5f72c64dfd5597369f18293c2eb98b4252a0","title":"builtins/dataview: rewrite int internals for BE"},{"results":[19.08,50032,9548,3064,19136,486,425,6,17367],"time":1718323959000,"hash":"93b2713ea8fff8e43479ed13ed18ea1f1c5d6102","title":"codegen: impl switch"},{"results":[18.98,50032,9498,2994,19132,486,425,6,17491],"time":1718320187000,"hash":"0c77b0ee34deb0de7df474bd5ccb1fffdeced458","title":"builtins/string: impl toWellFormed"},{"results":[18.98,50032,9495,2998,19131,486,425,6,17491],"time":1718318710000,"hash":"87967961bd084899f0775b6a56ebc7029c954f2f","title":"builtins/string: basic localeCompare"},{"results":[18.97,50032,9489,3000,19133,487,425,6,17492],"time":1718317665000,"hash":"6d7ebfc7a0a71f6bf898a78376d38ad6600f8ef1","title":"builtins/set: impl rest of set methods proposal"},{"results":[18.94,50032,9474,3029,19119,487,425,6,17492],"time":1718316415000,"hash":"1d8b008d180964b7b899613955525b19f818ede3","title":"builtins/annexb_string: impl arg methods"},{"results":[18.93,50032,9470,3029,19119,487,425,6,17496],"time":1718314918000,"hash":"35b2af7deba03a6703e420595d727a2d350dde6a","title":"test262/runner: bump timeout to 1000ms"},{"results":[18.93,50032,9470,3029,19119,487,425,6,17496],"time":1718314308000,"hash":"6548117f4e52fd78d1cc238dcb8f63941483d1c9","title":"builtins/string: impl codePointAt"},{"results":[18.92,50032,9466,3028,19118,487,425,6,17502],"time":1718311904000,"hash":"9b16fca937f80b918ae947bfc6669292b9085af5","title":"builtins/string: stub locale case to regular variants"},{"results":[18.91,50032,9460,3015,19112,488,425,6,17526],"time":1718311307000,"hash":"5349f1bc0d6cce23def41c608b4ac7ed8de8ce9b","title":"builtins/string: impl split"},{"results":[18.9,50032,9458,3015,19107,490,425,6,17531],"time":1718306599000,"hash":"9e0b2ac59c75d59a5c5b291792a94b3450662fc1","title":"builtins/string: impl repeat"},{"results":[18.9,50032,9456,3013,19107,490,425,6,17535],"time":1718305374000,"hash":"5e3f817d1e56d7e6c9bed5770fc5959292f67738","title":"builtins/string: impl concat"},{"results":[18.88,50032,9448,3015,19114,489,425,6,17535],"time":1718236750000,"hash":"599964d76bb428681e4c6f250a2410a0144621f6","title":"test262: update clone"},{"results":[18.89,50032,9449,3014,19114,489,425,6,17535],"time":1718236238000,"hash":"c0533828512d7d4f0a0a57075a55ac45b568b9b8","title":"builtins/weakref: impl toString"},{"results":[18.89,50032,9449,3014,19114,489,425,6,17535],"time":1718236131000,"hash":"7d9062bb69d3988c07bb3d40e09c60147770021a","title":"builtins/weakset: initial add"},{"results":[18.85,50032,9432,3018,19132,483,425,7,17535],"time":1718235423000,"hash":"2b3d0c22fc244567f6744c76a89af0de9f286630","title":"builtins/weakref: add target type check"},{"results":[18.86,50032,9435,3017,19131,483,425,6,17535],"time":1718234849000,"hash":"5cba530620cdc796c17ef0270ae005e237905d1c","title":"builtins/weakref: initial add"},{"results":[18.84,50032,9428,3022,19133,483,425,6,17535],"time":1718230655000,"hash":"84dd645688c7c69a5d605d7668217431c3ac9069","title":"builtins/array: impl unshift"},{"results":[18.84,50032,9426,3022,19134,483,425,7,17535],"time":1718228872000,"hash":"a9fd81a0d098043dcce0a5688d9bfbe188bfd2e3","title":"builtins/array: rewrite push as ts"},{"results":[18.84,50032,9427,3022,19134,483,425,6,17535],"time":1718227849000,"hash":"f7dd00d1d3d2da71adf30747bdf122fb971a8520","title":"builtins/array: impl flatMap"},{"results":[18.84,50032,9425,3029,19124,484,425,6,17539],"time":1718226739000,"hash":"0b9a7bf0069b1c3845e5b6e05ed63d57f14e2367","title":"builtins/array: impl toSpliced"},{"results":[18.82,50032,9414,3028,19127,484,425,7,17547],"time":1718225195000,"hash":"a77816523c80092af382be6f1469d1033e08ff93","title":"builtins/array: impl flat"},{"results":[18.81,50032,9411,3029,19126,484,425,7,17550],"time":1718218468000,"hash":"ea366f0154be4aeaa2009392ebe85206fa7a1433","title":"builtins/dataview: impl rest of int methods"},{"results":[18.71,50032,9363,3021,19182,484,425,7,17550],"time":1718204348000,"hash":"2102b127612321ce021be40aa7cad923fdbceca0","title":"builtins/dataview: initial add"},{"results":[18.47,50032,9240,2986,19423,484,425,6,17468],"time":1718196814000,"hash":"c571823a5f166878c1e7c5095ca5fa4fcfdacc74","title":"builtins/typedarray: rewrite arraybuffer arg handling"},{"results":[18.47,50032,9240,2986,19423,484,425,6,17468],"time":1718149610000,"hash":"98051ea58e2bbefa79cc189f18f27744b547b72c","title":"builtins/typedarray: impl TypedArray.of"},{"results":[18.47,50032,9239,2986,19423,484,425,7,17468],"time":1718149108000,"hash":"47b3eafa7258081325980b12f3a969c2604565a9","title":"builtins/typedarray: impl TypedArray.of"},{"results":[18.47,50032,9241,2981,19434,483,425,6,17462],"time":1718147083000,"hash":"20edacc890665e87430452534e3ac357c3a9570c","title":"compiler: basic SharedArrayBuffer"},{"results":[18.36,50032,9187,2959,19534,483,425,6,17438],"time":1718143222000,"hash":"0dbfbf08409fc5beca93bf6ce5b1676541e62fd3","title":"builtins/arraybuffer: stub resize"},{"results":[18.35,50032,9180,3017,19486,483,425,7,17434],"time":1718142611000,"hash":"c6fec65f1881dee76bdea2a9fb6c418b24558e12","title":"builtins/arraybuffer: impl transferToFixedLength"},{"results":[18.32,50032,9166,3020,19497,483,425,7,17434],"time":1718142100000,"hash":"8fee092624289d5d7ba80463ce7110a8c19ef507","title":"builtins/arraybuffer: add detached checks"},{"results":[18.31,50032,9159,3028,19497,483,425,6,17434],"time":1718140632000,"hash":"edd11eecf4b0246881ab13b15f67c5441c201e5a","title":"builtins/arraybuffer: impl detached, transfer"},{"results":[18.3,50032,9156,3019,19508,483,425,7,17434],"time":1718127818000,"hash":"35a9a9c6007859a64041cbf154da51ef6e007a58","title":"builtins/arraybuffer: basic maxByteLength getter"},{"results":[18.3,50032,9157,3019,19508,483,425,6,17434],"time":1718127360000,"hash":"a26ef143b4d6b74d980d5093d04a30c2ca80f514","title":"builtins/arraybuffer: stub detached and resizable getters"},{"results":[18.3,50032,9157,3019,19508,483,425,6,17434],"time":1718124927000,"hash":"ec2bf70b0fd1aaaa63d7d5da11b68f2466ffc7c5","title":"builtins/typedarray: impl byteOffset getter"},{"results":[18.3,50032,9156,3022,19506,483,425,6,17434],"time":1718119513000,"hash":"8a4e5fdc327931650321ffc85ddbc224691291a5","title":"builtins/arraybuffer: impl slice"},{"results":[18.29,50032,9149,3018,19516,483,425,7,17434],"time":1718063437000,"hash":"5d1e11df361cbd48a6e7a9454602c214e825530d","title":"builtins/arraybuffer: impl isView"},{"results":[18.27,50032,9141,3019,19524,483,425,6,17434],"time":1718062428000,"hash":"c4c7b338450c6043e8ecab02aa6048550508254b","title":"builtins/typedarray: ArrayBuffer rewrite"},{"results":[18.2,50032,9104,2984,19629,478,425,7,17405],"time":1718036571000,"hash":"612823e6b1282de4ddc54fad1a5b94fc4ce7549e","title":"builtins/array: impl toSorted"},{"results":[18.19,50032,9103,2986,19629,478,425,6,17405],"time":1718028625000,"hash":"2bb4f51cec9da5dc2f7378499ff2a621ad4e73fd","title":"precompile: rewrite output to be more compact"},{"results":[18.19,50032,9103,2986,19629,478,425,6,17405],"time":1717951159000,"hash":"453d0a4b0b0d33cb9a8ace20ef9f0109f89e41ef","title":"builtins/various: impl toLocaleString"},{"results":[18.19,50032,9099,2987,19635,475,424,6,17406],"time":1717950468000,"hash":"12df8d129eb27447b9bb9e3e0a3edd4f9dcbf77b","title":"builtins/number: Number.parseInt, merge parseInt into number.ts"},{"results":[18.18,50032,9098,2988,19635,475,424,6,17406],"time":1717949307000,"hash":"a209e7115f0072b77fbcc437ece7fce1d22f34eb","title":"builtins/array: impl splice"},{"results":[18.17,50032,9092,2954,19676,475,424,7,17404],"time":1717893436000,"hash":"43fe92beae876f1b76db26284b27e5517311f37e","title":"builtins/string: rewrite String.fromCharCode"},{"results":[18.17,50032,9090,2957,19675,475,424,7,17404],"time":1717890159000,"hash":"9053758ff605a8a10c39bfc36fe18939a1d47699","title":"builtins/string: use spec-compliant trim chars"},{"results":[18.16,50032,9085,2962,19675,475,424,7,17404],"time":1717889853000,"hash":"666e3188eed0cce8d1549cf7fbfa10e31aeb16a5","title":"test262: rewrite threads to use as pool"},{"results":[18.16,50032,9085,2962,19675,475,424,7,17404],"time":1717887487000,"hash":"e670a4233b63c5c7c42040bfa98661fe3360a9a1","title":"codegen: rewrite concat and compare strings"},{"results":[18.11,50032,9063,2984,19679,475,424,4,17403],"time":1717886212000,"hash":"a030775e900cfa1e20fe99e58bc83fa08e8cce3f","title":"codegen: fix getting type for setting default param type"},{"results":[18.11,50032,9060,2963,19676,502,424,4,17403],"time":1717885941000,"hash":"5dccb176a7102a7a80a0b8b4c59f4b58790680ed","title":"codegen: fix length getter not always running object wasm"},{"results":[18.11,50032,9060,2977,19662,505,424,4,17400],"time":1717885405000,"hash":"9607d9f06c542b84aad202c6aa81b3689bbab5e0","title":"builtins/various: use Porffor.allocate in many places"},{"results":[18.11,50032,9059,2980,19660,505,424,4,17400],"time":1717785543000,"hash":"f8bc29de0f762e0730cceb4ff312a7a4124636af","title":"builtins/date: use allocateBytes where useful"},{"results":[18.11,50032,9059,2980,19660,505,424,4,17400],"time":1717784905000,"hash":"ee42d5e07dd6bf0c4beef4fa5fe3a98ef7e94284","title":"builtins/annexb_string: fix bytestring types"},{"results":[18.11,50032,9059,2980,19659,505,428,4,17397],"time":1717412749000,"hash":"e6c3567de21802968a87d9a1da5e9249e25b2279","title":"builtins/array: impl concat"},{"results":[18.1,50032,9058,2976,19647,507,428,4,17412],"time":1717410870000,"hash":"f36707444d5e53a8e7747de5654e8e8c2f506d53","title":"builtins/array: impl copyWithin"},{"results":[18.09,50032,9053,2966,19636,507,428,4,17438],"time":1717110321000,"hash":"3d806f3945a24e8f121a24d7dcdf11478801b3de","title":"builtins/array: impl sort"},{"results":[18.08,50032,9046,2967,19639,507,428,4,17441],"time":1717105903000,"hash":"cbb73d209042797733b728c00d2d25f00fe32c83","title":"test262: run after pr"},{"results":[18.07,50032,9042,2969,19641,507,428,4,17441],"time":1717102561000,"hash":"6a05ca3ad7154e47749dfe94753ac19cb2bca9d3","title":"test262: update clone"},{"results":[18.07,50029,9042,2969,19639,506,428,4,17441],"time":1717101943000,"hash":"3c2d70d66127955513f770875c3a5dfe647c197f","title":"opt: rm unused builtin types"},{"results":[18.07,50029,9042,2969,19638,507,428,4,17441],"time":1717087904000,"hash":"a23029b3af588da8dd686efbcd0c0d59a06ceba9","title":"codegen: cleanup and fix destructure edge-cases"},{"results":[17.97,50029,8990,2852,19374,807,428,4,17574],"time":1717071651000,"hash":"c2dd8f88fc26e5098642f9cbdadedbd63032e3f2","title":"codegen: fix array member assign not setting type"},{"results":[17.95,50029,8982,2860,19374,807,428,4,17574],"time":1717067538000,"hash":"97531bba4f348dc0a0f03f6ef3695ec04bb98c49","title":"builtins/array: rewrite fill in ts, support start + end"},{"results":[17.95,50029,8979,2862,19377,807,428,4,17572],"time":1717031193000,"hash":"0564424f433683fef9afd9257ad06f2f211ee082","title":"compiler: target.new, rewrite indirect calls"},{"results":[17.71,50029,8858,2806,14441,799,424,4,22697],"time":1716996962000,"hash":"223b9b35a87c310d3cb40dbc3f110e0130276d74","title":"builtins/typedarray: impl at"},{"results":[17.71,50029,8858,2806,14441,799,424,4,22697],"time":1716984013000,"hash":"13bf3b35d0242e289431ea326017644fcac1bfdc","title":"builtins/typedarray: impl slice"},{"results":[17.71,50029,8858,2806,14441,798,424,4,22698],"time":1716976892000,"hash":"c2af76d417b6a08cf65ed80daa47fc4c3812b793","title":"builtins/array: re-use many array prototype methods"},{"results":[17.71,50029,8858,2811,14472,701,424,4,22759],"time":1716938194000,"hash":"b92c546cfa431fa1bc15f10fcea0077a61fc7a39","title":"builtins/typedarray: impl byteLength"},{"results":[17.71,50029,8861,2808,14472,701,424,4,22759],"time":1716936698000,"hash":"b598eb7bb4b2e7c5676921294857b2df41942857","title":"codegen: fix using unsigned i32 from in rhemyn protos"},{"results":[17.71,50029,8861,2808,14472,701,424,4,22759],"time":1716936533000,"hash":"432d65133ef6b49ab95b5de852dff2bf3db785e9","title":"codegen: fix crashing for rhemyn protos with bad arg"},{"results":[17.7,50029,8857,2798,14467,701,450,4,22752],"time":1716936233000,"hash":"bb4c3ba8e38e8fa12557f1081eb235ed64788ad1","title":"codegen: sanitize func names for rhemyn"},{"results":[17.7,50029,8857,2797,14467,701,452,4,22751],"time":1716935700000,"hash":"41e9c641ac0911b8df75ab22d4f66ab1e7309578","title":"codegen: revive rhemyn proto methods"},{"results":[17.7,50029,8855,2796,14482,703,425,4,22764],"time":1716932724000,"hash":"6c1cca2e0b665f5c02629545bb155373efbbe491","title":"builtins: add TypedArray's BYTES_PER_ELEMENT"},{"results":[17.7,50029,8856,2805,14472,703,425,4,22764],"time":1716890461000,"hash":"4e4a65afe94253370430993d88080b26b8ff78db","title":"codegen: fix float32array"},{"results":[17.7,50029,8854,2803,14472,710,425,4,22761],"time":1716890198000,"hash":"65aa646f6bf07dabe8969fe5fcd61a6d24864c7a","title":"codegen: for of typed array support"},{"results":[17.67,50029,8838,2803,14488,711,424,4,22761],"time":1716788619000,"hash":"8677c8b6b0f0745537c9bf2b2ce5f066517cba3d","title":"builtins/array: fix reduceRight"},{"results":[17.65,50029,8832,2809,14488,711,424,4,22761],"time":1716764461000,"hash":"b103c8894933d361463251ff3ec434795e7b6032","title":"builtins/array: impl reduceRight"},{"results":[17.64,50029,8824,2791,14499,716,424,4,22771],"time":1716764274000,"hash":"81100a5aa0b598f981f0391644338580c09b4607","title":"builtins/array: impl some"},{"results":[17.58,50029,8797,2787,14498,720,424,4,22799],"time":1716764023000,"hash":"436fbc00664df6f1f91fb62d364e63a456ef3289","title":"test262/harness: impl testTypedArray.js"},{"results":[17.55,50029,8779,2785,15047,705,418,4,22291],"time":1716763896000,"hash":"763bd1a0e38ead7c5698ec3d11c48157cef50d53","title":"compiler: initial typedarray impl"},{"results":[17.54,50029,8776,2749,15068,697,418,4,22317],"time":1716758490000,"hash":"4d17fa1233e75937cf3e393f2cbc270b18c21c57","title":"builtins/set: error on non-iterable arg"},{"results":[17.54,50029,8775,2751,15067,697,418,4,22317],"time":1716738462000,"hash":"cab4904b8dc93c674922956524029ad1c520f993","title":"builtins: impl ** operator"},{"results":[17.53,50029,8771,2747,15062,697,418,4,22330],"time":1716738344000,"hash":"5aa364f53935fda16935f2e31a5461e697934ddc","title":"builtins/math: fix exp for large input"},{"results":[17.54,50029,8773,2746,15062,697,418,3,22330],"time":1716737151000,"hash":"a1f691e30494d45c0f16e6dbd4a465eece41693f","title":"codegen: remove assign objectpattern hack"},{"results":[17.52,50029,8766,2769,15075,697,418,3,22301],"time":1716737087000,"hash":"e01a6bd60a7494c4ba033234609068638e2beccc","title":"codegen: impl sequence expressions"},{"results":[17.51,50029,8760,2748,15068,697,418,3,22335],"time":1716734385000,"hash":"94400a2b81f850d7642474c086ebc9ea9b1f8e59","title":"codegen: hacky basic instanceof"},{"results":[17.5,50029,8756,2732,15073,657,418,3,22390],"time":1716730905000,"hash":"146d8162b4873bb43295adf6ecf0a48ecf478ec3","title":"test262: simplify runner to use wrap"},{"results":[17.5,50029,8756,2733,15073,657,417,3,22390],"time":1716726558000,"hash":"b7ba5b83de65b41d545d66a0892b2fe8a2b80970","title":"test262: comment out some old hacks"},{"results":[17.49,50029,8751,2738,15073,657,417,3,22390],"time":1716721222000,"hash":"55999d22b460c522a6ac6d9d6769df18e5df969d","title":"builtins/set: impl toString"},{"results":[17.49,50029,8751,2738,15073,657,417,3,22390],"time":1716718032000,"hash":"93ba20045ddb51b3b96195349fe51b9ed6186171","title":"test262: update clone"},{"results":[17.49,50026,8751,2737,15073,657,417,3,22388],"time":1716682691000,"hash":"61ae4fd8d1760ec1a6d629342a24fd3a8a470ef9","title":"codegen: impl default parameters"},{"results":[17.45,50026,8728,2771,15135,632,417,3,22340],"time":1716680512000,"hash":"fa391403025cefa7b2b575833d2665e94623675f","title":"builtins/string: impl String"},{"results":[17.26,50026,8635,2665,15102,631,417,3,22573],"time":1716679357000,"hash":"60619b22ed0ab669e5f2eda228f7b5b5a2fc5bee","title":"test262/harness: impl decimalToHexString.js"},{"results":[17.26,50026,8635,2665,15148,631,417,3,22527],"time":1716679023000,"hash":"7339fdd798a7312fcce661503a0db494acf37725","title":"test262/harness: impl assertRelativeDateMs"},{"results":[17.25,50026,8629,2665,15154,631,417,3,22527],"time":1716678703000,"hash":"4fe5becc82eb28e233542e057fcb841fd5634d69","title":"test262/harness: add Test262Error.thrower"},{"results":[17.25,50026,8629,2665,15154,631,417,3,22527],"time":1716678374000,"hash":"f9e625159c6f52a6758a95a4279c7f9e90e69a33","title":"test262/harness: add half working isConstructor"},{"results":[16.95,50026,8478,2588,15382,631,417,3,22527],"time":1716677857000,"hash":"ed4d75769582dadf6f9fa7e113cb42c952901b24","title":"test262/harness: check func in assert.throws"},{"results":[16.94,50026,8476,2594,15501,443,417,3,22592],"time":1716677616000,"hash":"af482af783837df476eae7368def9e7f9c837fa0","title":"test262/harness: fix Test262Error in assert.throws"},{"results":[16.49,50026,8247,2520,15805,438,417,3,22596],"time":1716677089000,"hash":"5a591d85f521578be128e8dc0a57806fd71062f5","title":"codegen: return value for generateNew errors"},{"results":[16.49,50026,8247,2464,15789,562,417,3,22544],"time":1716676743000,"hash":"4d434e7974f036bd1550a582f44b6ba13f08d751","title":"builtins/array: use strict eq ops for search methods"},{"results":[16.48,50026,8245,2466,15789,562,417,3,22544],"time":1716676563000,"hash":"69a1743004736552c56724f446161a5407e8757c","title":"builtins/array: rewrite join, tostring to follow spec"},{"results":[16.48,50026,8242,2463,15795,562,417,3,22544],"time":1716676432000,"hash":"a61e863b818801e61f41b554df05c3785e69d4d0","title":"codegen: optimize away allocations for member exprs of known array types"},{"results":[16.48,50026,8242,2463,15795,562,417,3,22544],"time":1716676313000,"hash":"5e6816f0c1f2085d96cde57ec0d3c83bcb741b1f","title":"codegen: fix known arrays using only number type elements"},{"results":[16.46,50026,8235,2476,15789,562,417,3,22544],"time":1716676112000,"hash":"bfac82a6084de1969b7f402f76dd2b6df5e4d017","title":"opt: fix removing last type in some internals"},{"results":[16.44,50026,8222,2489,15789,562,417,3,22544],"time":1716673880000,"hash":"a44950ddac828451692fd5c3f49d6e32c0ed9c1d","title":"builtins: minor cleanup, new wip ecma262 file"},{"results":[16.44,50026,8222,2489,15789,562,417,3,22544],"time":1716671157000,"hash":"f858c9f96b42f8f67b78827f8711f504aeb36f7e","title":"builtins/array: impl tostring"},{"results":[16.43,50026,8221,2484,15795,562,417,3,22544],"time":1716670318000,"hash":"f29f3011f34181deddebfbdb7dc9f1a023378932","title":"builtins/array: impl join"},{"results":[16.43,50026,8220,2480,15800,562,417,3,22544],"time":1716668745000,"hash":"70a4335a850f69f56cba248f905849a1d37ad12a","title":"codegen: fix concat assign for strings"},{"results":[16.43,50026,8220,2480,15799,562,417,3,22545],"time":1716668391000,"hash":"84469b271107f13d64b11b6cf4a00490d6e5bde0","title":"codegen: fix assignment types for non-="},{"results":[16.42,50026,8215,2485,15799,562,417,3,22545],"time":1716651004000,"hash":"c5f77fc1a07ef9afd2fd424c55ea47b178837d7e","title":"builtins/array: impl reduce"},{"results":[16.41,50026,8208,2468,15807,564,417,3,22559],"time":1716429227000,"hash":"688a50c134c7a7a728413ee67fb23c3a9132aee2","title":"compiler: rewrite, new allocator system"},{"results":[16.41,50026,8208,2459,15785,675,417,2,22480],"time":1716410810000,"hash":"1a6e16aae7aa7f7d31262ab3f020d9ff7e5d71f6","title":"codegen: cleanup old memory code"},{"results":[16.41,50026,8208,2459,15790,675,397,2,22495],"time":1716242489000,"hash":"099bf13f1831c79d8b6f6c64df4ea19619ba9ffe","title":"test262: update clone and from prs"},{"results":[16.4,50012,8203,2461,15790,680,397,2,22479],"time":1716149898000,"hash":"cffd7c54d8ba4e30ac4232331faa99b16973036a","title":"builtins/array: use conformant ifs for callbacks"},{"results":[16.39,50012,8199,2465,15790,680,397,2,22479],"time":1716149001000,"hash":"f8a8b32f188e7d4a88ede852de8359365ee05b36","title":"codegen: rewrite truthy to be more conformant"},{"results":[16.39,50012,8196,2468,15790,680,397,2,22479],"time":1716137038000,"hash":"fd7929568b3e471e31958aa97b36a0b8c9412849","title":"codegen: fix comparing empty strings crashing"},{"results":[16.35,50012,8178,2475,15802,680,397,2,22478],"time":1716135300000,"hash":"bb0b06c17ba2a8e3ca5aa0866975727e8e93f45b","title":"builtins/math: more spec compliant args handling"},{"results":[16.32,50012,8163,2487,15802,680,397,5,22478],"time":1716132676000,"hash":"7b4b613a574feb6cb8c169320180b881ece15ba4","title":"codegen: rewrite some calling code"},{"results":[16.37,50012,8189,2485,15764,719,374,5,22476],"time":1716119873000,"hash":"11decbd355a55b3308b80764912a8e0fb1337f9a","title":"builtins/math: impl complex math funcs"},{"results":[16.25,50012,8129,2452,15863,718,374,2,22474],"time":1716070184000,"hash":"b5a80d8e3e4d190d4fb227678f224a49f2facfa7","title":"codegen: basic try..finally"},{"results":[16.24,50012,8120,2434,15850,717,374,2,22515],"time":1716068719000,"hash":"697ea54e06002db44c97f027c86e3de577de06ae","title":"builtins/array: impl findIndex, findLastIndex"},{"results":[16.24,50012,8120,2429,15853,716,374,2,22518],"time":1716068526000,"hash":"99f87003a56016eb8524ee6d15eb78d7505111e5","title":"builtins/array: impl findLast"},{"results":[16.23,50012,8119,2428,15854,715,374,2,22520],"time":1716067952000,"hash":"6dccbca08af095620f307aa65b0227956b4f353a","title":"builtins/array: impl every"},{"results":[16.18,50012,8094,2423,15850,764,374,2,22505],"time":1716067219000,"hash":"f0b9be871a382fad113093eb95846318b14c60e0","title":"builtins/array: impl find"},{"results":[16.18,50012,8093,2421,15855,758,374,2,22509],"time":1716067019000,"hash":"cc93ae2486d065e84cb9f2024be00a802f04056b","title":"builtins/array: fix not checking callback types"},{"results":[16.16,50012,8084,2427,15858,758,374,2,22509],"time":1716066905000,"hash":"1619e879ff9a16bd89004d239dc33a5500e5d664","title":"builtins/array: impl map"},{"results":[16.16,50012,8081,2417,15858,759,374,2,22521],"time":1716066372000,"hash":"db4b909969577c3739d09ebf1b49df56b10fe1bf","title":"builtins/array: impl filter"},{"results":[16.11,50012,8059,2405,15856,759,374,2,22557],"time":1716064013000,"hash":"c6edfd32899e2255d76c2a25ad8d3c3a6c921de9","title":"builtins/array: impl forEach"},{"results":[15.94,50012,7972,2401,15719,676,374,2,22868],"time":1716063390000,"hash":"fd6ac2b7653b36a1f4400d5f227269a3d09edb68","title":"codegen: rewrite indirect calls for varargs"},{"results":[15.89,50012,7946,2375,15771,675,374,1,22870],"time":1715986752000,"hash":"b481bfc5f6255d31266f8739bf9ecbade4dcdc9d","title":"test262: rewrite runner to be multi-threaded"},{"results":[15.89,50012,7946,2375,15771,675,374,1,22870],"time":1715903994000,"hash":"549a04f841631d27eaebb282e8021e70531db8ca","title":"test262: replace assert.throws hack with function"},{"results":[14.71,50012,7355,2258,15654,649,1628,1,22467],"time":1715903867000,"hash":"b4697689348eb6519dc798fd320530efed852f31","title":"builtins/error: declare errors"},{"results":[14.69,50012,7347,2247,15634,646,1628,1,22509],"time":1715897871000,"hash":"5951093a3d02f84163900506ddeb20280191a567","title":"various: rewrite array to store types"},{"results":[14.66,50012,7332,2263,15633,646,1628,1,22509],"time":1715887473000,"hash":"5ab1b8434d794bfb129e5ab666612550f0f6b09b","title":"codegen: add proto builtin getters, opt length"},{"results":[14.63,50012,7319,2276,15641,646,1628,1,22501],"time":1715868294000,"hash":"63b47e3b956e23abe711a5aa50d64689625f343b","title":"codegen: rewrite length, clean up"},{"results":[14.63,50012,7318,2204,15711,643,1628,1,22507],"time":1715857660000,"hash":"e1a34c10519aa747d24aab1552c1df26adb3b1e7","title":"prefs: disable aotPointerOpt by default"},{"results":[14.62,50012,7314,2204,15715,643,1628,1,22507],"time":1715853202000,"hash":"2ce6edbb38e2268f9daa55ac8dceab721957f01a","title":"codegen: stub empty object expressions"},{"results":[14.43,50012,7216,2057,14003,780,1628,1,24327],"time":1715791467000,"hash":"967c69c759cd324610c30bbc7a650eb3dcbbd1a0","title":"builtins/symbol: initial add"},{"results":[14.36,50012,7182,2033,14343,779,1628,1,24046],"time":1715769104000,"hash":"3fae2aae2d327e13edc9eafa5c45b535ce629f29","title":"codegen: throw not a constructor for some built-ins"},{"results":[14.36,50012,7182,2033,14343,779,1628,1,24046],"time":1715734363000,"hash":"a24ac8cf2a08acc42b18a0a9a721b9762745b8ad","title":"codegen: impl indirect calls"},{"results":[14.31,50012,7157,2033,14368,778,1628,1,24047],"time":1715719882000,"hash":"4e46400a9e8cbf8eea4dc543efc1193858591f5f","title":"codegen: improve setting of function values"},{"results":[14.28,50012,7142,2036,14365,780,1628,2,24059],"time":1715646020000,"hash":"47559014148bf701cbe7bf228a201570ed557fce","title":"builtins/date: initial add"},{"results":[14.23,50012,7118,2023,14286,778,1628,2,24177],"time":1715556909000,"hash":"edb06b8134fa42f3735fd32fc04bb956d9ca5a7d","title":"builtins/array: impl valueOf"},{"results":[14.23,50012,7118,2023,14286,778,1628,2,24177],"time":1715556358000,"hash":"2afd28c85ca84cc478b4376a94abf1bbd4918af9","title":"builtins/tostring: split into per-type files"},{"results":[14.23,50012,7118,2023,14286,778,1628,2,24177],"time":1715555213000,"hash":"5723df81d8e580b8aad4faa9b4877de8cb7da0bc","title":"codegen: use prop for Function.name"},{"results":[14.23,50012,7118,2023,14286,778,1628,2,24177],"time":1715554865000,"hash":"e69a2a293ad7e22cf55f09391361226228219d8f","title":"codegen: impl better length for $constructors"},{"results":[14.23,50012,7118,2023,14286,778,1628,2,24177],"time":1715553941000,"hash":"e99ca11170eafbdb12f8619daa4bcab83f6b71b1","title":"codegen: implement function .name property"},{"results":[14.22,50012,7112,1959,14356,778,1628,2,24177],"time":1715550250000,"hash":"d0eb0a35cc667923ca5fa04b5c7cc69df9d02329","title":"builtins/string: implement valueOf"},{"results":[14.22,50012,7112,1959,14356,778,1628,2,24177],"time":1715550250000,"hash":"c652395e6580782dc9c2e8b90dbafa698af79ee8","title":"builtins/number: implement valueOf"},{"results":[14.21,50012,7109,1959,14360,778,1628,2,24176],"time":1715550250000,"hash":"5cfd12a70ff9113f6539d49e14478104ac8344b5","title":"builtins/boolean: implement valueOf"},{"results":[14.21,50005,7107,1957,14360,776,1628,2,24175],"time":1715548490000,"hash":"e62542f9a4fb8b3d279c059a797bda657b47c86c","title":"prefs: enable alwaysMemory by default"},{"results":[14.2,50005,7101,1943,13963,1768,1628,2,23600],"time":1715545635000,"hash":"63f91bb1c3c35426c5036c3270e12564665c918f","title":"builtins/date: minor opt"},{"results":[14.2,50005,7101,1943,13963,1768,1628,2,23600],"time":1715544796000,"hash":"905aa17240c3fe3d0a771ac28724013f95443387","title":"builtins/date/parse: fix not setting last n"},{"results":[14.2,50005,7100,1944,13963,1768,1628,2,23600],"time":1715544511000,"hash":"d56a1924d6c2ce61b416eae5d085b1e04fa329c0","title":"builtins/date: impl Date.parse"},{"results":[14.19,50005,7096,1946,13965,1771,1628,2,23597],"time":1715481234000,"hash":"6352ecf7c5c774f80f90f67a8dcc88db5c9434e4","title":"builtins/date: impl Date()"},{"results":[14.19,50005,7096,1946,13965,1771,1628,2,23597],"time":1715480788000,"hash":"eb60e83e1da3e6d4fb258004a7b84d850b893537","title":"builtins/date: fix ToIntegerOrInfinity returning -0"},{"results":[14.18,50005,7092,1950,13965,1771,1628,2,23597],"time":1715480619000,"hash":"3d124804028feaba622ab08044bb87af9add542d","title":"builtins/date: impl valueOf"},{"results":[14.18,50005,7092,1943,13971,1739,1628,2,23630],"time":1715479424000,"hash":"59b6ba98bec51785279d7561b0fe71caaac9d4bf","title":"builtins/date: impl rest of toStrings"},{"results":[14.17,50005,7085,1950,14038,1532,1628,2,23770],"time":1715445036000,"hash":"8858ca7ff11d9eabb92f0ea605d0b5923dcab98d","title":"builtins/date: impl toJSON"},{"results":[14.17,50005,7085,1950,14039,1525,1628,2,23776],"time":1715444606000,"hash":"fd54022177d2ecb5e39631fddc3c3eca1f3c86b1","title":"builtins/date: impl toISOString"},{"results":[14.16,50005,7082,1940,14050,1533,1628,2,23770],"time":1715376634000,"hash":"bae0c5b2bb63ca256116bf3824f3595ec4ab335b","title":"chore: run test262"},{"results":[14.17,50005,7086,1936,14050,1533,1628,2,23770],"time":1715338671000,"hash":"89b3a9c8c3760d092f0b881865fb25272a4c193e","title":"codegen: fix up basic regex usage"},{"results":[14.17,50005,7085,1932,14049,1539,1628,2,23770],"time":1715330856000,"hash":"7b4a8d48dbe694e586f0b7b0d85ea35cc041e27f","title":"builtins/date: clean up source"},{"results":[14.17,50005,7085,1932,14051,1536,1628,2,23771],"time":1715196493000,"hash":"9928127bfdf41e4d7531f66e2800d2bce6ac0548","title":"builtins/date: impl set* prototype methods"},{"results":[14.11,50005,7056,1930,14082,1536,1628,2,23771],"time":1715172125000,"hash":"e04e26ffb5815fb5e676f92e8ba60631ebf48fb4","title":"builtins/date: impl get* prototype methods"},{"results":[14.04,50005,7019,1928,14097,1535,1628,2,23796],"time":1715131485000,"hash":"9088235ce39acce528acc406c7f7efcb499f1982","title":"builtins/date: rewrite to store date in memory"},{"results":[14.03,50005,7017,1931,14087,1562,1628,2,23778],"time":1715125925000,"hash":"532d8d0e295032efbf04f51f7774924ba45cb9bb","title":"builtins/date: big rewrite"},{"results":[14.02,50005,7010,1924,14093,1569,1628,2,23779],"time":1715040679000,"hash":"b9abe0dc52d2a21bd7e036b9bdc0708b93716e68","title":"builtins/date: initial super basic date support"},{"results":[13.9,50005,6950,1871,14109,1575,1628,2,23870],"time":1715037479000,"hash":"25601413577a52f347caf15459512c3ed143de56","title":"codegen: better importedFuncs support in countLeftover"},{"results":[13.9,50005,6950,1871,14107,1577,1628,2,23870],"time":1714952850000,"hash":"ca2e5b9bcb8bc06dc5f724be6a6c3d27f81ae195","title":"types: initial add"},{"results":[13.9,50005,6950,1871,14107,1577,1628,2,23870],"time":1714948664000,"hash":"f2900ac5f1353f24816fde03c98260521e745355","title":"codegen: impl do while"},{"results":[13.85,50005,6927,1863,14100,1575,1628,2,23910],"time":1714945713000,"hash":"348b9a5c92788f1ff6b2a0d9bd8f0f2ceb153c10","title":"builtins/number: impl toExponential, tweaks"},{"results":[13.85,50005,6924,1860,14099,1575,1628,2,23917],"time":1714925615000,"hash":"5d3c75d90fb5111b7e7dafce00b708f39ce62994","title":"codegen: make typeof give undefined for non-existing identifiers"},{"results":[13.84,50005,6921,1115,14827,1574,1661,2,23905],"time":1714924299000,"hash":"23c56fd92e3e24132f95771a3ea43a885d2270e6","title":"codegen: check internal proto funcs for idents"},{"results":[13.83,50005,6915,1112,14842,1574,1661,2,23899],"time":1714923599000,"hash":"ebf0985eb507fde1daef76d98bc47c14e315649e","title":"codegen: clone builtinVars wasm"},{"results":[13.83,50005,6914,1113,14842,1574,1661,2,23899],"time":1714923298000,"hash":"3c2a2fdf39f854d89411836c6ef4f58f1c750643","title":"codegen: make typeof generate argument"},{"results":[13.87,50005,6934,1907,14071,1574,1661,2,23856],"time":1714918278000,"hash":"520a8dc94b4e81773db68d2886b0981b39625ad0","title":"builtins/number: impl toFixed"},{"results":[13.87,50005,6934,1904,14069,1578,1661,2,23857],"time":1714845722000,"hash":"1e035148e10b3dc3abfd67fc8028e0abad4ba9ed","title":"builtins/tostring_number: exponential support, fixes"},{"results":[13.87,50005,6934,1904,14069,1578,1661,2,23857],"time":1714783215000,"hash":"a20de34514c52920c13712ea7d900faf55dc698a","title":"builtins/array: wip toReversed"},{"results":[13.86,50005,6933,1903,14071,1578,1661,2,23857],"time":1714782699000,"hash":"1fd5ca4b16218b99515fb804b65a47c6dfb2a3a0","title":"codegen: add todo check for for of no left local"},{"results":[13.79,50005,6894,1897,14039,1576,2533,2,23064],"time":1714782255000,"hash":"a4929806b7734e7a10068fe0c53c27c25cf089f3","title":"rhemyn/compile: fix malformed wasm with empty set"},{"results":[13.79,50005,6894,1897,14039,1574,2535,2,23064],"time":1714782075000,"hash":"e5afe316976af93039b6d78fda92ff230281d768","title":"codegen: tweak generateCall to not crash in edgecases"},{"results":[13.79,50005,6894,1897,14039,1572,2537,2,23064],"time":1714781478000,"hash":"2d333d18dbe81528105458299d47bd6690156eb7","title":"test262/prelude: remove a compareArray hack"},{"results":[13.79,50005,6894,1897,14039,1572,2537,2,23064],"time":1714781158000,"hash":"5dfb9b4649ac7421e72eba43a7003fd38ecd54ec","title":"rhemyn/parse: fix crash for quantifiers if no last"},{"results":[13.78,50005,6891,1894,14038,1570,2546,2,23064],"time":1714780163000,"hash":"7e346849e71fca5f49a3fc56485934617e7a7d2b","title":"codegen: fix last type sometimes being improperly used"},{"results":[13.77,50005,6885,1888,14035,1588,2546,2,23061],"time":1714779027000,"hash":"df6ee69e14639901060e8d347df396187df4b641","title":"rhemyn: fix groups making malformed wasm"},{"results":[13.76,50005,6881,1888,14035,1588,2550,2,23061],"time":1714776978000,"hash":"2ab895e7ede37434fcf05e0a6d1b7e7958f4d7af","title":"codegen: fix objectHack not running on given up memberexpressions"},{"results":[13.76,50005,6879,1888,14010,1605,2550,2,23071],"time":1714776732000,"hash":"ed6ad2aa65071b203cebdb1a02044206c890e5cb","title":"builtins/tostring_number: impl negative"},{"results":[13.76,50005,6879,1890,14008,1605,2550,2,23071],"time":1714773079000,"hash":"9ffa326887af55719c522851d8ecb00c710cab45","title":"builtins/tostring_number: impl decimal part"},{"results":[13.76,50005,6879,1890,14008,1605,2550,2,23071],"time":1714742434000,"hash":"3d5fc89b590d11c1c9c4206c7ff45539339ee537","title":"builtins/string: fix string prefix for some methods"},{"results":[13.75,50005,6875,1891,14005,1611,2550,2,23071],"time":1714696144000,"hash":"8db42995967a5255115ccad71d5f75bdaf6421f0","title":"builtins/array: impl basic reverse"},{"results":[13.75,50005,6874,1890,14009,1609,2550,2,23071],"time":1714694936000,"hash":"5a08c4b918e3c03bf49ee6e5361e3333261ed75c","title":"builtins/array: impl basic with"},{"results":[13.74,50005,6873,1887,14012,1610,2550,2,23071],"time":1714693912000,"hash":"87f44b850fd5800a136e90235374b5822974efdd","title":"builtins/array: impl includes"},{"results":[13.74,50005,6869,1884,14019,1610,2550,2,23071],"time":1714693376000,"hash":"bde63e5d12782abc15c07b335ad705f4415b1b6b","title":"builtins/array: basic indexOf/lastIndexOf"},{"results":[13.64,50005,6820,1851,14101,1614,2550,2,23067],"time":1714692568000,"hash":"0d82565cd9e59f407764f58d0f6a303e5ab64825","title":"builtins/array: impl Array#slice"},{"results":[13.64,50005,6820,1851,14103,1641,2550,2,23038],"time":1714690977000,"hash":"45d4ae2323f2b656677c468594ce939a8726b368","title":"builtins/tostring_number: impl radix"},{"results":[13.64,50005,6819,1852,14103,1641,2550,2,23038],"time":1714689214000,"hash":"19a1c84c37164ecccee6eefc0f653a02b93fd04c","title":"builtins/tostring_number: initial basic impl"},{"results":[13.56,50005,6783,1812,14191,1641,2550,2,23026],"time":1714688614000,"hash":"6ac415e291481e5f62d0b3b3a4c0590e9466a67d","title":"codegen: optimize Porffor.s/bs type setting"},{"results":[13.56,50005,6783,1812,14191,1641,2550,2,23026],"time":1714687729000,"hash":"68efce0c13b48fd848d820964bc7f8f460a97e54","title":"builtins/tostring: String#toString"},{"results":[13.56,50005,6783,1810,14193,1641,2550,2,23026],"time":1714686542000,"hash":"b49e49b32ff0e86abd216a9886fb75429ed16656","title":"builtins/tostring: basic Function#toString"},{"results":[13.56,50005,6782,1810,14192,1644,2550,2,23025],"time":1714686304000,"hash":"6aa8758efc89018ad0334e295dd5333eccbb3a0f","title":"builtins/tostring: basic Object#toString"},{"results":[13.56,50005,6781,1809,14195,1644,2550,2,23024],"time":1714685961000,"hash":"27e7fed4f3ace8e73f295f921a17f455c902e362","title":"builtins: make Object always return 1 as value"},{"results":[13.56,50005,6780,1811,14195,1644,2550,2,23023],"time":1714685630000,"hash":"3db91426734f0cbe29df20d99ae364826bafa609","title":"builtins/tostring: Boolean#toString"},{"results":[13.56,50005,6780,1808,14140,1645,2550,2,23080],"time":1714684356000,"hash":"a4b8742257334a48d08d27ff380b910f3719cbc2","title":"codegen: fix breaking main returns when last op is setting last type"},{"results":[13.56,50005,6780,1796,13962,2548,2550,2,22367],"time":1714682936000,"hash":"8a6a5b4df889042f85f12c6bacda21db572b2edd","title":"codegen: do not run objectHack for some identifier objects"},{"results":[13.56,50005,6780,1796,13972,2504,2550,2,22401],"time":1714645201000,"hash":"4843abb56e0bde130a62f2f8ca4e0c368b3bc12b","title":"codegen: impl length for internalConstrs"},{"results":[13.55,50005,6778,1798,13971,2505,2550,2,22401],"time":1714643924000,"hash":"33faabe54c1f017961dad00e568710aef9e9f0eb","title":"codegen: impl Math.max/min"},{"results":[13.54,50005,6772,1796,13981,2503,2550,2,22401],"time":1714608472000,"hash":"4d097848d0c3c783e0dc642c1a1b08c9785bda8e","title":"builtins/int: impl radix"},{"results":[13.52,50005,6762,1806,13981,2503,2550,2,22401],"time":1714606618000,"hash":"eb347d2503681fdf0be795744aa4b8ebc15acbc5","title":"builtins/int: impl prefix +/- support"},{"results":[13.52,50005,6761,1809,13980,2502,2550,2,22401],"time":1714603734000,"hash":"130255848ee916d48a9ecbed19b4d826f34156ff","title":"builtins/int: impl parseInt"},{"results":[13.49,50005,6748,1779,14024,2502,2550,2,22400],"time":1714599288000,"hash":"b1476c77a82eb2372a666ae2a8964399df45b6e5","title":"codegen: impl Boolean"},{"results":[13.27,50005,6636,1751,14011,2534,2550,2,22521],"time":1714597064000,"hash":"fff24577ae320cea0d1cd0153ebefd6f05d4363d","title":"test262: try to replace all assert.throws"},{"results":[11.85,50005,5926,1680,15654,2478,1303,2,22962],"time":1714592221000,"hash":"f01558f3480b06c481c7e354a4b5b1533c530842","title":"builtins: simplify generated call"},{"results":[11.85,50005,5926,1680,15654,2478,1303,2,22962],"time":1714586013000,"hash":"e3afe3edb3ba0d767d57fd07b8056c10ea1011b5","title":"assemble: optimize making global section"},{"results":[11.85,50005,5926,1680,15654,2478,1303,2,22962],"time":1714562567000,"hash":"56a88ddb272a8c41c841e422c3c02715d5d7860d","title":"profiler: rewrite internals"},{"results":[11.85,50005,5926,1680,15655,2477,1303,2,22962],"time":1714518205000,"hash":"6bc80ea7b2af32778769875e7df880b8c0747285","title":"builtins/string: impl ascii for String case funcs"},{"results":[11.85,50005,5926,1680,15655,2477,1303,2,22962],"time":1714516254000,"hash":"ee95c7947fb52aecca7bf7a3545c607a653d72a0","title":"builtins/annexb_string: impl trimLeft, trimRight"},{"results":[11.85,50005,5924,1680,15657,2477,1303,2,22962],"time":1714515542000,"hash":"b4335f3b3f463b2c8abdbb380ad5a829dbed070f","title":"builtins/string: impl trim methods"},{"results":[11.76,50005,5882,1666,15657,2535,1303,2,22960],"time":1714515191000,"hash":"1cdcbc872ab4d1fab8f4fc4814853ae8eb3cc874","title":"codegen: do not try proto for non-existing literals"},{"results":[11.76,50005,5882,1666,15650,2543,1303,2,22959],"time":1714425852000,"hash":"e3ceafafbe8d04f1a3b214b59edcc29eb2f2e182","title":"builtins/string: minor opt"},{"results":[11.76,50005,5882,1666,15650,2543,1303,2,22959],"time":1714405752000,"hash":"26805f7b9c5f3af5a921446a50eef7e5e9a5db59","title":"builtins/string: impl slice"},{"results":[11.76,50005,5880,1665,15645,2543,1303,2,22967],"time":1714405526000,"hash":"bd22603b43dd70e4f11b858fd4f0bea6e54457d1","title":"builtins/string: fix return type of String#substring"},{"results":[11.76,50005,5880,1665,15645,2543,1303,2,22967],"time":1714404232000,"hash":"112e239279a6d150570722751aab5ff2db180241","title":"test262: update test262"},{"results":[11.76,49990,5880,1665,15644,2538,1302,2,22959],"time":1714394029000,"hash":"6703ce81476138adc6600867f5ab7af6851ed83e","title":"builtins/string: impl substr"},{"results":[11.76,49990,5879,1660,15645,2544,1302,2,22958],"time":1714386779000,"hash":"ea1ec71ad9caa122d09ab42ad93e1bb51bca9b01","title":"builtins/string: impl substring"},{"results":[11.75,49990,5875,1659,15642,2545,1302,2,22965],"time":1714349269000,"hash":"9ff8a1366bc065a26dd867290a83357a6f337870","title":"builtins/string: add padEnd"},{"results":[11.75,49990,5873,1657,15641,2550,1302,2,22965],"time":1714349124000,"hash":"2ab635aa7cfa902a6d88dadf7ad768e25bd7b1de","title":"builtins/string: improve padStart"},{"results":[11.75,49990,5873,1657,15641,2550,1302,2,22965],"time":1714347909000,"hash":"a5e08f273c421d77b04206ae8113e799ec1b55a6","title":"builtins/string: impl padStart"},{"results":[11.74,49990,5871,1655,15640,2555,1302,2,22965],"time":1714344983000,"hash":"ade1dc22134800751118f1a9a04ef60c15279f7b","title":"builtins/annexb_string: initial add"},{"results":[11.74,49990,5871,1655,15632,2554,1299,2,22977],"time":1714256853000,"hash":"64572dcb215cdef4e0a4d8d6afc77f69ac434e74","title":"builtins/string: impl includes"},{"results":[11.72,49990,5861,1653,15637,2563,1299,2,22975],"time":1714256266000,"hash":"1d4a8afb36eaf2716db058ef101b17e401cc3f16","title":"builtins/string: impl lastIndexOf"},{"results":[11.72,49990,5860,1653,15638,2556,1299,2,22982],"time":1714255177000,"hash":"d8f1cd900c9174dc99451c23e24177ffcf957e5c","title":"codegen: do not error for non-func named exports"},{"results":[11.65,49990,5822,1651,15622,2556,1355,2,22982],"time":1714253855000,"hash":"0c5bcafeb264eafe2237eea817dcb6ce1c717aae","title":"builtins/string: impl indexOf"},{"results":[11.63,49990,5815,1650,15622,2551,1355,2,22995],"time":1714253472000,"hash":"d61bb5a6ec054be5015c61a9daf231b98a6fbcab","title":"builtins/string: add oob position handling to starts/endsWith"},{"results":[11.63,49990,5813,1651,15623,2551,1355,2,22995],"time":1714247020000,"hash":"2de48fccbf70486edea1597ec2fb52f18bc2210e","title":"test262: use assert.throws hack in block"},{"results":[11.63,49990,5813,1649,15608,2545,1631,2,22742],"time":1714245545000,"hash":"a9f99ed4a394800813bbfa1e2e50abe8421f446a","title":"codegen: fix literal eval compile error with no args"},{"results":[11.63,49990,5813,1649,15607,2545,1632,2,22742],"time":1714238005000,"hash":"17e395ef1ab62ddafafdd819597a3f6557d360cd","title":"chore: bump acorn"},{"results":[11.63,49990,5813,1649,15607,2545,1632,2,22742],"time":1714223971000,"hash":"76f2384910b38b16c368853c768c4a61d11a31a3","title":"chore: bump @babel/parser"},{"results":[11.63,49990,5813,1649,15607,2545,1632,2,22742],"time":1713654348000,"hash":"80059a92c0e47096229e32cb4887e74893ef0f73","title":"builtins/string: fix startsWith position"},{"results":[11.62,49990,5811,1652,15606,2545,1632,2,22742],"time":1713653332000,"hash":"49765cfe09002c68e753af9e619e404e28e2a709","title":"builtins/string: fix name of String endsWith"},{"results":[11.62,49990,5810,1653,15606,2545,1632,2,22742],"time":1713651897000,"hash":"b26bb75ae4d46921c85475f1d775afc7ae29a2aa","title":"builtins/string: basic String.fromCharCode"},{"results":[11.62,49990,5807,1644,15625,2545,1632,2,22735],"time":1713648726000,"hash":"86a7ea927b3142c743c773d6b31242945a09ad7e","title":"builtins/string: impl startsWith, endsWith"},{"results":[11.59,49990,5794,1639,15636,2552,1632,2,22735],"time":1713557871000,"hash":"0955df568ce7fac47430213332ee1365ff8e4629","title":"builtins/string: add bytestring toLowerCase, toUpperCase"},{"results":[11.58,49990,5789,1634,15632,2562,1632,2,22739],"time":1713484876000,"hash":"df3a5a1280f87f2b23a3d639df6fdf0bb8293463","title":"codegen: implement static concat for bytestrings"},{"results":[11.57,49990,5786,1624,15596,2556,1632,2,22794],"time":1713482665000,"hash":"2341434ac436ff748b3134c613f64a173c16520e","title":"codegen: throw eval syntax errors at runtime not compile time"},{"results":[11.53,49990,5765,1624,15584,2556,1665,2,22794],"time":1713138791000,"hash":"d48520b937440010d11a36be2e3dab10b308ade3","title":"test262: blank unknown preludes"},{"results":[11.53,49990,5765,1620,15480,2744,1665,2,22714],"time":1713137829000,"hash":"596f22b292ab1bcc54268916c1544917b070d252","title":"test262: update test262 tests"},{"results":[11.53,49986,5765,1620,15477,2743,1665,2,22714],"time":1713137123000,"hash":"f743ff19f174a8bd317c1b29e494f7a0143ef761","title":"codegen: impl labelled statements"},{"results":[11.45,49986,5724,1619,15470,2737,1665,2,22769],"time":1713133514000,"hash":"6d1bdaded4d4c5c51ddaa6451bdd6cb315f17d6d","title":"codegen: fix continue in while loops"},{"results":[11.45,49986,5724,1619,15470,2737,1665,2,22769],"time":1713133178000,"hash":"49c5e13dcc379ca7ca104b59f5a08ddc96f40d6a","title":"builtins/escape: initial add"},{"results":[11.45,49986,5721,1617,15476,2736,1665,2,22769],"time":1713050872000,"hash":"98150178b6bf2ac26e0f0ec5f7692819972c2f40","title":"builtins/ts: add Array.isArray"},{"results":[11.43,49986,5711,1617,15498,2713,1665,2,22780],"time":1713047740000,"hash":"7504bc582875227d80b1fbf182d0de919ede5f8e","title":"codegen: avoid crashing when setType fails"},{"results":[11.43,49986,5711,1617,15498,2713,1665,2,22780],"time":1713043485000,"hash":"db13b02730684d32cac9b406e63da48e8bc3505c","title":"codegen: add value to more internal throws"},{"results":[11.42,49986,5709,1531,12947,9356,1665,2,18776],"time":1712964982000,"hash":"ed855561e848b0c970d4031560ef25d6f76905cc","title":"codegen: implement Function.length"},{"results":[11.41,49986,5702,1530,12944,9368,1665,2,18775],"time":1712964361000,"hash":"48a4bdf1924d13ca55aa83b0f12b843b4e96dbc7","title":"codegen: switch todo to throw at runtime by default"},{"results":[11.06,49986,5528,1099,9019,2360,772,2,31206],"time":1712957932000,"hash":"35c12af3e18a051560dc420e5ffdd0c1d3fff327","title":"test262: update test262 and start logging results again"},{"results":[11.29,49377,5574,1249,8717,2523,707,2,30605],"time":1707869262000,"hash":"1afe9b87d2ac7eb2105ccd292a3abd45f1416f06","title":"codegen: js resistant gen literal"},{"results":[11.29,49377,5573,1248,8684,2517,748,2,30605],"time":1707786766000,"hash":"dfa058388192370f9bfcfe43c89e97311152ce88","title":"codegen: fix crash with for of no left decl"},{"results":[11.28,49377,5570,1247,8683,2517,754,2,30604],"time":1707782146000,"hash":"4c545e71f62daa77bbd29c6ca64cfd6f335f022e","title":"codegen: add todo throws for destructuring"},{"results":[11.29,49377,5576,1277,8798,2523,1106,2,30095],"time":1707781052000,"hash":"1ad50e95c506c6c10562b804311c1047112a6e13","title":"codegen: fix regex literal crash"},{"results":[11.23,49377,5547,1265,8720,2481,1436,2,29926],"time":1707780364000,"hash":"fcf750ddec95aac4e5fc5adef8681c1375de2cae","title":"test262: tweaks, add timeout"},{"results":[11.23,49377,5547,1265,8720,2481,1436,2,29926],"time":1707780127000,"hash":"fbab1de9c17256aee9d20ece79d50a1ca07b139e","title":"codegen: fix for without test or update crashing"},{"results":[11.17,49377,5513,1256,8656,2478,1551,1,29922],"time":1707730974000,"hash":"c671f9ccdbf1b164a998a9dfad9a08f849ba7ffb","title":"codegen: check if func exists in rhemyn"},{"results":[11.17,49377,5513,1256,8656,2478,1854,1,29619],"time":1707697785000,"hash":"4035760a88e741b008ea0eca36a3ad94ad6b9b44","title":"codegen: fix objecthack crash"},{"results":[11.17,49377,5513,1252,8607,2469,2304,1,29231],"time":1707697416000,"hash":"f4cee87a080160855826f9f18e6172c0a4013d30","title":"codegen: do not crash when throwing with no msg"},{"results":[11.14,49377,5499,1250,8467,2468,2697,1,28995],"time":1707697078000,"hash":"1f6eef0cb73aa42ec0545211b8b1111622c67a03","title":"codegen: use hasOwn for proto cand check"},{"results":[11.14,49377,5499,1248,8336,1873,3767,1,28653],"time":1707696087000,"hash":"d582cd4d3e825b34a1a30e6c3a6ea216c7b45ca9","title":"test262: remove a hack"},{"results":[11.13,49377,5496,1248,8233,1843,4278,1,28278],"time":1706671860000,"hash":"6dcd7238f19dede1b35966252df23fc50d230a80","title":"codegen: fix last type being removed always badly"},{"results":[11.12,49377,5492,1258,8345,1726,4378,1,28177],"time":1705884043000,"hash":"77e30e836b63e81c01f11077bc724e534101cada","title":"Rewrite: v0.2"},{"results":[11.1,48843,5424,1106,9030,272,4182,1,28828],"time":1694469325000,"hash":"e975d7a64a94faaa6e48a36ae303c047e92604d0","title":"chore: retest test262"},{"results":[11.12,48843,5431,1103,9005,270,4179,1,28854],"time":1693914077000,"hash":"679c4ea2bc1826d40972df7a41a2e1c18cc5dc19","title":"constrs: add Array.of"},{"results":[11.12,48843,5431,1102,9005,270,4179,1,28855],"time":1693787842000,"hash":"beff13ffd459f55ce9579838b612d31e83332544","title":"usage: `-funsafe-zero-proto-checks=func1,func2,etc`"},{"results":[11.12,48843,5431,1102,9005,270,4179,1,28855],"time":1693787326000,"hash":"3f87ef70fd2cfbe69146743b19d2c1f2294b7755","title":"compiler: use data segments for some array/string init values"},{"results":[11.12,48843,5432,1097,9009,270,4179,1,28855],"time":1693778440000,"hash":"1b0a5c6eb7c2727937ca3746e6ab0eb097593712","title":"codegen: opt array member setting update ops"},{"results":[11.12,48843,5432,1097,9009,270,4179,1,28855],"time":1693778324000,"hash":"10f46174aaa86ed570df31eccf661a55144ae42f","title":"codegen: protos, only make length i32 cache if used"},{"results":[11.12,48843,5432,1097,9009,270,4179,1,28855],"time":1693777406000,"hash":"7396d7e73d866ff7a9a9976aab33a581bb109597","title":"opt: make update exprs unused ret removal more generic"},{"results":[11.12,48843,5432,1097,9007,270,4179,1,28857],"time":1693733649000,"hash":"d650361979630917bcc549089eb206ea342975ad","title":"site: weekly test262 graph"},{"results":[11.12,48843,5432,1097,9007,270,4179,1,28857],"time":1693703070000,"hash":"83bcd67471b7c08c04c25e3064c9ca03cd3277a0","title":"prototype: add Array fill (wip)"},{"results":[11.12,48843,5429,1094,9039,269,4180,1,28831],"time":1693701185000,"hash":"7820a2d9ee02ed594a05e5f9563f38a9ac819f7f","title":"codegen: correcter eq ops with an undefined operand"},{"results":[11.1,48843,5422,1101,9039,269,4180,1,28831],"time":1693697660000,"hash":"520f1cd97d5320a61a7ebb847b07410d5b0b738e","title":"codegen: swap some pushes to concat"},{"results":[11.1,48843,5422,1101,9039,269,4182,1,28829],"time":1693614626000,"hash":"5594e9d6b9903a54c2614724523644495541712b","title":"codegen: add wip member assign"},{"results":[11.11,48843,5425,1108,9116,255,4194,1,28744],"time":1693525524000,"hash":"f74a73a20c9328b02b12cd79baaa37263158a2ea","title":"codegen: add for...of support"},{"results":[11.1,48843,5422,1095,9007,250,4036,1,29032],"time":1693516363000,"hash":"05f898fccf351bbc26e5753b66cf2ed9d7527090","title":"2c: add time import, brackets, platform specific utils"},{"results":[11.1,48843,5422,1095,9007,250,4036,1,29032],"time":1692223855000,"hash":"ee33579de3944329c95602e656c394be63347de3","title":"rhemyn: make metachars for each parse"},{"results":[11.1,48843,5422,1095,9007,250,4036,1,29032],"time":1692222333000,"hash":"b5da8c46eccc3f0a4f945e4e555f5e1a2bc5d981","title":"rhemyn: get args for each compile"},{"results":[11.1,48843,5422,1095,9007,250,4036,1,29032],"time":1692220811000,"hash":"b78ef901ef0b5bc79785ad41ab45c795d6973fb2","title":"chore: fix browser"},{"results":[11.1,48843,5422,1095,9007,250,4036,1,29032],"time":1692065567000,"hash":"ba812f2241e2f8ec6b9310b9be758c681bbf5f39","title":"2c: initial add"},{"results":[11.1,48843,5422,1095,9007,250,4036,1,29032],"time":1692049160000,"hash":"84da82b7d0cae6b1068b7a390cbdea4302fec06b","title":"rhemyn: initial add"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691685306000,"hash":"ebc04915203a951da1289dc9f9add20279ecfd06","title":"runner: add -v and v8 flags if compile hints on"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691667325000,"hash":"758fed55db12bae835198f5b8fd7e0fa623c29d5","title":"sections: add experimental v8 compile hints section"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691667029000,"hash":"6f463a4bf5fd707f9d4e3a44a4ecbea384f10a91","title":"readme: update"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691629990000,"hash":"425ea20e8475d14467d1476c5eeb054431ea64de","title":"readme: add more todo"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691629131000,"hash":"98041f178529752cfbcac910672e6e95369ac5df","title":"readme: add more todo"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691628464000,"hash":"c74334481a12c9f1d3bc593de338bfa446bc8565","title":"compiler: delete func.memory ๐Ÿš€"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691628228000,"hash":"cc3b8fdc2ce64d68cc2818287dd57488efb5f378","title":"codegen: make bitwise not less jank"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691628084000,"hash":"e1b6f8339990feef712968781467df6fddadff52","title":"opt: change const, convert to const of converted valtype"},{"results":[11.04,48843,5394,1096,8975,275,3428,1,29674],"time":1691624107000,"hash":"16458defaa3766c84a7f9c391cd7b1b1ec8e797a","title":"decompile: support 16 bit mem ops well"},{"results":[11.04,48843,5394,1096,8975,275,3428,1,29674],"time":1691623799000,"hash":"3af9cbf72fe5a67d3f7c4802e89792b5a69fba69","title":"codegen: use undefined returnType if 0 returns, other tweaks"},{"results":[11.05,48843,5395,1096,8974,275,3428,1,29674],"time":1691623153000,"hash":"6c75596718ffce57a264864aea3cde1c16f2b434","title":"codegen: special logic assign ops"},{"results":[11.05,48843,5395,1096,8974,275,3428,1,29674],"time":1691622861000,"hash":"2d7bb29d6363d2cc579a29530dfc7c5eeef27f19","title":"codegen: fix proto funcs having undefined cloned pointers"},{"results":[11.05,48843,5395,1096,8974,275,3428,1,29674],"time":1691618816000,"hash":"203547ea4448a26f64751ee186899f50ed7a2a99","title":"codegen: add nullish coal op and more logic fixes"},{"results":[11.01,48843,5378,1095,8971,275,3428,1,29695],"time":1691614236000,"hash":"61de7290a65741a0c78e6ccdaab3668b6c811887","title":"codegen: use truthy/falsy for logic ops + fix them for strings"},{"results":[11,48843,5375,1098,8971,275,3428,1,29695],"time":1691608501000,"hash":"70c279266467fae5c6633312983821620e4dd907","title":"compiler: add specific alloc log arg + free page util"},{"results":[11,48843,5375,1098,8971,275,3428,1,29695],"time":1691608327000,"hash":"087fcd83df5ff3b84e1f9fa17626a7043ec69b3c","title":"codegen: tweak todo to use custom error class"},{"results":[11,48843,5375,1098,8971,275,3428,1,29695],"time":1691608214000,"hash":"4547052d8d6a386e1d3d51fb5f2887757632597e","title":"prototype: fix String at"},{"results":[11,48843,5374,1095,8971,279,3498,1,29625],"time":1691537733000,"hash":"44bc2d8ee6a91f3ed2a9bab9ee50e9d6f4679a5b","title":"wrap: add nice function output"},{"results":[11,48843,5374,1095,8971,279,3498,1,29625],"time":1691535082000,"hash":"c6cb67064453e94651820eca1ca105406cc2fecf","title":"sections: fix tail calls breaking"},{"results":[11,48843,5374,1095,8971,279,3498,1,29625],"time":1691519403000,"hash":"bddcdc3dbc8b984fd4b8cf53a068233cbfb8e9f8","title":"codegen: use if in strcmp logic instead of entire block"},{"results":[11,48843,5374,1095,8970,280,3498,1,29625],"time":1691449430000,"hash":"1989c2268a5ab6010fdc1b7269ea726bd883e301","title":"codegen: add string comparison"},{"results":[10.96,48843,5354,1126,8960,279,3498,1,29625],"time":1690934032000,"hash":"745e9950af60c94d404feb09909cb24d69a0672c","title":"codegen: ensure strict equal types match, looser tracking"},{"results":[10.96,48843,5354,1125,8961,279,3498,1,29625],"time":1690884301000,"hash":"828ee154cdc011ecb12b01e83502b74385852732","title":"repl: only add to prev if declaring"},{"results":[10.96,48843,5354,1125,8961,279,3498,1,29625],"time":1690849050000,"hash":"7e89c1dee31ab540bc060a692feb9e4ed5a38142","title":"repl: tweak memory command"},{"results":[10.96,48843,5354,1125,8961,279,3498,1,29625],"time":1690848911000,"hash":"406d1d004e1b87b88555add0f84bcb77c06655c7","title":"codegen: fix chain concat and internal arr tweaks"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690845437000,"hash":"579ef369bd86615d0bf8f3e01530b40efc6b98a0","title":"repl: only add to prev if no error"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690845056000,"hash":"06503501c8ffaff03e0b7d0033693e85f0e68769","title":"chore: tweak publishing"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690844801000,"hash":"b45f853fcb27315feafca53d861b31ab87228184","title":"repl: fallback get rev from package version"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690844686000,"hash":"1963eed047c88b2124c2b5a2c9cb59400083fef0","title":"chore: add publish script and tweak npmignore"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690841268000,"hash":"8c0bdaae7f99214e4fdbfff2465327be604fde06","title":"chore: add shebang to runner/index.js"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690840928000,"hash":"bb203c78d5de18fc0d17eea0db98437d0dbd6475","title":"chore: add more to npmignore and bump"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690839995000,"hash":"88a88e4568a2eb806f289c77da2bbf703340be9d","title":"chore: prepare for npm publish"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690838634000,"hash":"d6dd46aabef0cc97b0978f5d2406c0d30ea8568a","title":"repl: debug commands + tweaks"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690838218000,"hash":"04b29cd815011dc8d080361fb72d0b94590d5524","title":"codegen: rewrite local tmp, array length setter, unsigned lengths"},{"results":[10.95,48843,5347,1129,8950,252,3566,1,29598],"time":1690821050000,"hash":"3d612976a0c3d0ecc22ceb3213ced70cea6c8bdf","title":"codegen: rewrite array constructor"},{"results":[10.94,48843,5344,1128,8973,276,3499,1,29622],"time":1690818240000,"hash":"e05d50614e7140f2fbbbdd8bf4d44e7cafaf8307","title":"codegen: leave stringy bool ops for now"},{"results":[10.87,48843,5307,1019,8763,632,3499,1,29622],"time":1690813480000,"hash":"d573f984a6cd5eb1e599c60a36030b81788df51c","title":"compiler: rewrite arrays + more strings + truthy/falsy + btoa + tweaks"},{"results":[10.95,48843,5346,1372,9846,222,2421,2,29634],"time":1690673105000,"hash":"74166d7ab7df077fc3726d93437fbb35ae87d746","title":"codegen: eq ops return bool type"},{"results":[10.95,48843,5346,1372,9846,222,2421,2,29634],"time":1690672674000,"hash":"a0059e4a991f31620e214d52fa91d53c0871e4fd","title":"improvements also include: using prototypes with literals (eg `'wow'.charCodeAt(0)`), passing local type from prototypes, and tweaks."},{"results":[10.94,48843,5342,1367,9845,222,4675,2,27390],"time":1690640921000,"hash":"077ed8467c46c28f281e47088bbb5eb97642e465","title":"improvements also include: types for return values of prototype functions, better memory alignments for array prototype functions, array shell creation for prototype functions."},{"results":[10.94,48843,5342,1373,9840,222,4675,2,27389],"time":1690576200000,"hash":"9773583abb7e6428d5fb16b7b1bf84e7744cce31","title":"test262: add select timeouts"},{"results":[10.94,48843,5342,1373,9840,222,4675,2,27389],"time":1690575887000,"hash":"6727de6ca9ab3013ac65055dbad42fcf6e0b4310","title":"compiler: basic strings + array rewrite"},{"results":[10.91,48843,5330,972,8337,135,4517,0,29552],"time":1690255488000,"hash":"dd94d24c9645152dbb3058d558b77d3716e49635","title":"prototype: fix Array.at out of range crashing"},{"results":[10.91,48843,5329,972,8338,135,4517,0,29552],"time":1690255309000,"hash":"a150e6fd231f46d3d248a06dbabf57edb991717d","title":"codegen: fix getting types of prototype funcs"},{"results":[10.9,48843,5326,984,8329,135,4517,0,29552],"time":1690253762000,"hash":"6bc27895121f3132d4eaf7cde0e837b5aba892e7","title":"codegen: fix empty elements in array expressions erroring"},{"results":[10.89,48843,5318,977,8222,133,5574,0,28619],"time":1690253340000,"hash":"f7f784103d3d3a00e7788305d60f1b9d47d3b370","title":"prototype: add Array.at"},{"results":[10.89,48843,5318,978,8222,133,5574,0,28618],"time":1690251956000,"hash":"e7f3001a8b9d931c6a176d7a91914d42d0ffad7c","title":"prototype: add Array.shift"},{"results":[10.88,48843,5316,978,8224,133,5574,0,28618],"time":1690250553000,"hash":"7d9719885f0fd2a38b9f2b49f63c79a2f60c4c80","title":"prototype: add Array.pop"},{"results":[10.88,48843,5315,978,8225,133,5574,0,28618],"time":1690250013000,"hash":"ef18a7c290413188391c869f153c62e99ce0ddc9","title":"codegen: support items for array constructor"},{"results":[10.88,48843,5314,978,8232,134,5576,0,28609],"time":1690249339000,"hash":"9067f270910b02eaa366c8bd70d7d511588666bd","title":"test262: 10.88% | ๐Ÿงช 48843 | ๐Ÿค  5315 (+1) | โŒ 978 | ๐Ÿ’€ 8225 (-7) | ๐Ÿงฉ 133 (-1) | ๐Ÿ’ฅ 5574 (-2) | ๐Ÿ“ 28618 (+9)"},{"results":[10.88,48843,5314,978,8232,134,5576,0,28609],"time":1690248217000,"hash":"39146472319ac24d71a110dbe62597523a834d1e","title":"codegen: add Array and push + test262 tweaks"},{"results":[10.84,48843,5296,942,8154,110,5570,0,28771],"time":1690244259000,"hash":"1d47ca0bf834fddb012bc45748c219b69e35ac98","title":"test262: add NaNs to prelude"},{"results":[10.84,48843,5295,942,8154,110,5570,0,28772],"time":1690239652000,"hash":"152e7523dbed3a007b0604c434a4760d5f938b33","title":"compiler: initial array prototype"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690232626000,"hash":"d2bf21f54571aefd679067f3116c713e5f34cd9b","title":"bench ci: disable for now"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690122522000,"hash":"ace1cb1dec46a0c83a7ec42d4c6f3bbf13338d89","title":"bench ci: add perms to write"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690122344000,"hash":"fdce081b89167137d4d4dfc356a833b56c5ce87f","title":"bench ci: fix fetching"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690121630000,"hash":"a647650a3ea976d8fa70f79ca4c0faf7c4790254","title":"bench ci: fix more imports"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690121474000,"hash":"ef7fca3bd4a35b013fa36b92f9127a45c9ef2c86","title":"test262: 10.84% | ๐Ÿงช 48843 | ๐Ÿค  5295 | โŒ 942 | ๐Ÿ’€ 8183 | ๐Ÿงฉ 143 | ๐Ÿ’ฅ 3344 | ๐Ÿ“ 30936"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690121355000,"hash":"8e9a8fa2335d43f8f0ab67143f1c2adf8ca9900d","title":"bench ci: remove package"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690121004000,"hash":"832665ec083edf68eea4802532590bc4ebce5b26","title":"bench ci: fix yaml"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690120352000,"hash":"dccb2c2112fec8842ea77c822a71120e97ff8316","title":"bench ci: initial add"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690071810000,"hash":"438f4d9f7f1278bf0443867f7113056fdf18806e","title":"codegen: improve array pretty print in repl"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1689903614000,"hash":"00d1583e25b9c9e8290eb839d45843fec248832c","title":"builtins: add Math constants"},{"results":[10.82,48843,5284,953,8183,143,3344,0,30936],"time":1689903164000,"hash":"d570765e3176819bea58b0ba59aa15acfc631b5a","title":"expression: add >>> op"},{"results":[10.76,48843,5254,948,8182,138,3344,0,30977],"time":1689902855000,"hash":"93627ea79fcdf34637f116ac7ff99ab2d22bbdd1","title":"test: add array tests"},{"results":[10.76,48843,5254,948,8182,138,3344,0,30977],"time":1689902753000,"hash":"8dfde4c6f93b6217961f6ebca8abca3c060d6e07","title":"site: add examples"},{"results":[10.76,48843,5254,948,8182,138,3344,0,30977],"time":1689902146000,"hash":"a7e963f00804de1c97dc1a0c687ece84a4280da8","title":"wrap: types rewrite"},{"results":[10.76,48843,5254,948,8182,138,3344,0,30977],"time":1689902078000,"hash":"5ece8f59e9c68f5f4a3f8d54008c2210cf3ca569","title":"wasmspec: update"},{"results":[10.76,48843,5254,948,8182,138,3344,0,30977],"time":1689902006000,"hash":"8e8215722010c6884505e092c441dca26d4e2eed","title":"decompile: nicer memory insts"},{"results":[10.76,48843,5254,948,8182,138,3344,0,30977],"time":1689901879000,"hash":"740094a42677269f23f08e11cf5864975c40f03c","title":"codegen: basic array support"},{"results":[10.72,48843,5234,919,7829,74,3090,0,31697],"time":1689857160000,"hash":"d83936754a6a98eeab4c5feeac53cdacf997d1a3","title":"types: add internal types and rewrite enum"},{"results":[10.72,48843,5234,919,7829,74,3090,0,31697],"time":1689808721000,"hash":"3d3b9217d450a3c5a1d2610b3b0f230da7220000","title":"codegen: fix bug with built-ins from last commit"},{"results":[10.71,48843,5229,925,7828,74,3090,0,31697],"time":1689807456000,"hash":"49dc74f1adbae88057d5c7f59344e276cfaf5066","title":"codegen: store returnType of functions and main expr"},{"results":[10.72,48843,5234,919,7829,74,3090,0,31697],"time":1689805139000,"hash":"a37e5cb9903382f47b39127383ebf6a549753fea","title":"builtins: add various Math proposals"},{"results":[10.72,48843,5234,919,7829,74,3090,0,31697],"time":1689801117000,"hash":"c8bc1a25d7875bb679c62e09b724f82a28fad784","title":"test: add Math.imul tests"},{"results":[10.72,48843,5234,919,7829,74,3090,0,31697],"time":1689800960000,"hash":"06c99d1d393357d765077a01abbcec3a371fb7f8","title":"builtins: add types for undefined and null"},{"results":[10.71,48843,5232,921,7829,74,3090,0,31697],"time":1689800458000,"hash":"f6caefcf19d5241f864e5ac66d1c96b91369d54a","title":"codegen: reset type states on each codegen"},{"results":[10.71,48843,5232,921,7829,74,3090,0,31697],"time":1689799134000,"hash":"32d767c6734f79823a1e72f43ecd7e43d3c99f58","title":"opt: add signed ops to unneeded converts"},{"results":[10.71,48843,5232,921,7829,74,3090,0,31697],"time":1689798352000,"hash":"81b4105bb417a7f4027091a2777073fc745ef661","title":"builtins: add Math.imul"},{"results":[10.71,48843,5232,920,7830,74,3090,0,31697],"time":1689782185000,"hash":"283d1df0837d67303cf5327528ec787a133257ce","title":"readme: add codebase section"},{"results":[10.71,48843,5232,920,7830,74,3090,0,31697],"time":1689782041000,"hash":"48749c17af7daf76f6bf0bc17c05e5299f08f157","title":"codegen: add simd ops to leftover calc"},{"results":[10.71,48843,5232,920,7830,74,3090,0,31697],"time":1689781945000,"hash":"cda6cd6234d2c573a76e078151fcb2209e3d5954","title":"codegen: only add undefined return if no leftover"},{"results":[10.71,48843,5232,920,7830,74,3090,0,31697],"time":1689697510000,"hash":"0ba1c09da75f0efeb43f9256426902b6243b620c","title":"test262: update test262"},{"results":[10.76,48642,5232,920,7830,74,3091,0,31495],"time":1689688057000,"hash":"aeaafacd58479e27521923956f20432e35f9e512","title":"test262: replace some assert.throws with inline try"},{"results":[10.68,48642,5193,882,8001,72,2734,0,31760],"time":1689683675000,"hash":"e4823077ff92b90a4f74fbcfb2892b8aafadcd05","title":"readme: update"},{"results":[10.68,48642,5193,882,8001,72,2734,0,31760],"time":1689682196000,"hash":"02f0d7681c9617068ac958d2288efd3f51b86178","title":"codegen: handle new for type get"},{"results":[10.67,48642,5191,884,8001,72,2734,0,31760],"time":1689681948000,"hash":"074917b2a4fc4f8b6f876326ede3acddd862b0e6","title":"builtins: add return type"},{"results":[10.67,48642,5188,888,8000,72,2734,0,31760],"time":1689678202000,"hash":"11dd04afe9315f0f1a95395b157d09a0872135d5","title":"codegen: fix delete for undeclared"},{"results":[10.65,48642,5181,887,8008,72,2734,0,31760],"time":1689637647000,"hash":"6ef0300fd09d291cbf9de3fe464048b9d447666c","title":"codegen: static-y typeof"},{"results":[10.61,48642,5162,913,8001,72,2734,0,31760],"time":1689635079000,"hash":"6999da4e288ce610aa7edc38b4bb230ef4219a01","title":"codegen: typeof hack"},{"results":[10.52,48642,5119,213,7507,53,2702,0,33048],"time":1689631637000,"hash":"25f4059a5adf1f22c1280784f3b8aa21a62a0544","title":"site: add test262 graph"},{"results":[10.52,48642,5119,213,7507,53,2702,0,33048],"time":1689625907000,"hash":"ca84ac0121362cab90c28abc83e7a7959bdfa249","title":"test262: add another error detail removal"},{"results":[10.52,48642,5119,213,7507,53,2702,0,33048],"time":1689619065000,"hash":"38d5334143140a080ae86ecd29f72165fe6b45de","title":"codegen: throw ref errors at runtime"},{"results":[10.3,48642,5012,147,0,12,14792,0,28679],"time":1689618757000,"hash":"afb1513ef2ca8205916563df46e77fced7a86cce","title":"test: add tailcall"},{"results":[10.3,48642,5012,147,0,12,14792,0,28679],"time":1689592341000,"hash":"04abeaa7a56b4e75491d8ef4f623e7eff0d0b68b","title":"readme: add test262 section"},{"results":[10.3,48642,5012,147,0,12,14792,0,28679],"time":1689521232000,"hash":"4bef00fb1e9e85eaa5727994b1e14b01cdb0adaa","title":"bench/sunspider: initial add"},{"results":[10.3,48642,5012,147,0,12,14792,0,28679],"time":1689515220000,"hash":"47b4b8fb2286372d9cdb7026e914d99699c76b92","title":"test262: 10.3% | ๐Ÿงช 48642 | ๐Ÿค  5012 | โŒ 147 | ๐Ÿ’€ 0 | ๐Ÿงฉ 12 | ๐Ÿ’ฅ 14792 | ๐Ÿ“ 28679"},{"results":[10.3,48642,5010,147,0,12,14792,0,28681],"time":1689506972000,"hash":"20aed82da3d60ea9472f07833bb45d7c5693d642","title":"codegen: fix assign ops with >2 chars"},{"results":[10.25,48642,4985,149,0,51,14792,0,28665],"time":1689469355000,"hash":"2b8435c91387e22952fd98b81e86bd34901660af","title":"test262: 10.3% (+0.05) | ๐Ÿงช 48642 | ๐Ÿค  5010 (+25) | โŒ 147 (-2) | ๐Ÿ’€ 0 | ๐Ÿงฉ 12 (-39) | ๐Ÿ’ฅ 14792 | ๐Ÿ“ 28681 (+16)"},{"results":[10.25,48642,4985,149,0,51,14793,0,28664],"time":1689461749000,"hash":"21a06e87e49d08104a59d1ff14ab893c7b056a1b","title":"test262: 10.25% | ๐Ÿงช 48642 | ๐Ÿค  4985 | โŒ 149 | ๐Ÿ’€ 0 | ๐Ÿงฉ 51 | ๐Ÿ’ฅ 14792 (-1) | ๐Ÿ“ 28665 (+1)"},{"results":[10.19,48642,4956,143,0,41,14791,0,28711],"time":1689461521000,"hash":"456816f7420fec7238dd69920289cdea3fd9af19","title":"compiler: rewrite imports to use params/returns for each"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689453092000,"hash":"b4994d26d87e1568be16e2bfa464166b03159181","title":"repl: remove unused own parsing"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689452924000,"hash":"d4c088f4dbfbe6ccf6b67d772449d9f8ee4da863","title":"repl: return now removed return flag"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689448790000,"hash":"9c288705f7ea0d7117e20b758f4b8744c58375ee","title":"test262: 10.19% | ๐Ÿงช 48642 | ๐Ÿค  4956 | โŒ 138 | ๐Ÿ’€ 0 | ๐Ÿงฉ 41 | ๐Ÿ’ฅ 14799 | ๐Ÿ“ 28708"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689447325000,"hash":"ae3d50f7bd5c182109324f5c12d959cf07b5c407","title":"test: add bitwise not tests"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689435818000,"hash":"fe15f01f7e5f4d6faefb75af932a138f82605462","title":"site: get more commits from api"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689426594000,"hash":"0161dbf640f2234795d78ef74a80af67c5083c7f","title":"site: tweak commit log"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689419956000,"hash":"4d870fa9c5af119e7e3481cdbc33ae8459f3e454","title":"site: fix header overlap"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689419820000,"hash":"78fc62ac1e00cbc37e9f3480c7817fcb6e5a19e4","title":"site: fix getting percent from commits"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689419143000,"hash":"9b329dde3c309a3b7334d76a117f54edda4b53c5","title":"test262: 10.19% | ๐Ÿงช 48642 | ๐Ÿค  4956 | โŒ 138 | ๐Ÿ’€ 0 | ๐Ÿงฉ 41 | ๐Ÿ’ฅ 14799 | ๐Ÿ“ 28708"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689371531000,"hash":"34b6cdfa108e2aa63c3ab1314c9f6d4172b370c9","title":"runner: do not write trailing newline"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689257189000,"hash":"1436c865df42d9e630769bbf106ff1701141c818","title":"runner: only log name and message for errors"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689257027000,"hash":"6ccc544205f82a260bd925ed5eac1a4ea4910a63","title":"codegen: remove debug info from referrors"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689256698000,"hash":"e7e7354ec88459900ff1cfde79babe25bbce983e","title":"wrap: tweak imports"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689256128000,"hash":"f4a2206aff1114dcc462ecfd2ec87e51ab61759e","title":"runner: move info to separate file"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689172794000,"hash":"ebbdb4f83634c2f93bf2f5135fc7ee4450279591","title":"opt: remove const, drop and index fixes"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689162489000,"hash":"e09b2a3fb1f433674e621dfc1c53a83cc31d85de","title":"test262: 10.18% | ๐Ÿงช 48642 | ๐Ÿค  4952 | โŒ 134 | ๐Ÿ’€ 0 | ๐Ÿงฉ 49 | ๐Ÿ’ฅ 14799 | ๐Ÿ“ 28708"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689162376000,"hash":"85b711f9ffa301d417688d3f95eb9c904f2a8942","title":"codegen: improve leftover, add basic literal eval"},{"results":[10,48642,4864,124,0,41,15189,0,28424],"time":1689123121000,"hash":"4cdc58f2aaa4b9ad7d2fb1e3b3f9a9d534d3e352","title":"codegen: rewrite disposing of leftover"},{"results":[9.4],"time":1688830518000,"hash":"1216bfcec05b7e4204021064fdfcd2813eab1d6e","title":"builtins: add Boolean()"},{"results":[9.2],"time":1688828970000,"hash":"04c895650e9facbee6256e47fa53219b32030865","title":"codegen: add new expression hack for builtins"},{"results":[9.1],"time":1688828381000,"hash":"aab91a9c6da20cfafd874dd77c32663def173405","title":"builtins: add Number()"}] \ No newline at end of file +[{"results":[50.96,48381,24655,6924,15257,146,329,134,936],"time":1732530813000,"hash":"bcd052b95219c84efd1db3b0bca712e8a9305a5a","title":"codegen: hoist function decls pre-codegen"},{"results":[50.95,48381,24651,6928,15256,147,329,134,936],"time":1732064269000,"hash":"e895507a5b5ba18c702f502d9344b18e27b638df","title":"codegen: begin hoisting system"},{"results":[50.94,48381,24644,6943,15250,147,329,132,936],"time":1732059307000,"hash":"7d1a97a67541e7cf806e640432f51f926c0015c2","title":"codegen: separate generateIdent's lookup func"},{"results":[50.94,48381,24644,6943,15250,147,329,132,936],"time":1731896063000,"hash":"5063c00da7d8bc535445ae343da0777d2978c394","title":"builtins: use chunked allocation"},{"results":[50.93,48381,24642,6948,15247,147,329,132,936],"time":1731871653000,"hash":"b82ab12a4574e16c71df32bec50bd290373fe527","title":"builtins: use allocate in allocateBytes"},{"results":[50.93,48381,24642,6948,15247,147,329,132,936],"time":1731869098000,"hash":"826271088cc3b4a51e52a2357596b12e7a0f135d","title":"codegen: add COCTC"},{"results":[50.94,48381,24645,6946,15246,147,329,132,936],"time":1731276054000,"hash":"73da51d5284b239787208bcad917a2030cab9e87","title":"codegen: support map in for..of"},{"results":[50.93,48381,24639,6946,15252,147,329,132,936],"time":1731272902000,"hash":"8b1c0d2f4da48965b2dd212a52c87e8b55d2ff09","title":"codegen: add map to iterable types"},{"results":[50.93,48381,24639,6947,15251,147,329,132,936],"time":1731271794000,"hash":"f0e84c995874793ad1fb70ee9725036fd86c20be","title":"test262/harness: deepEqual for iterables"},{"results":[50.93,48381,24639,6947,15251,147,329,132,936],"time":1731268903000,"hash":"7fd0aba2525e0a2f007b252661d9e546eacba87f","title":"builtins/various: minor cleanup"},{"results":[50.93,48381,24639,6947,15251,147,329,132,936],"time":1731265256000,"hash":"ce847db140d5222a2dfc45870bfc29657858cced","title":"builtins: fix allocateBytes"},{"results":[50.89,48381,24621,6888,15328,147,329,132,936],"time":1731259728000,"hash":"e817f8b37d37e5f076f208916d30d16f873b07b7","title":"codegen: cleanup allocator usage"},{"results":[50.89,48381,24621,6888,15328,147,329,132,936],"time":1731167709000,"hash":"be337798af623bcec5bd72cd492b1f53881bed48","title":"builtins/function: add apply"},{"results":[50.77,48381,24562,6876,15399,147,329,132,936],"time":1731048536000,"hash":"81a74619cf24e7a8a69c914a811e73893a163594","title":"Co-authored-by: Oliver Medhurst \r"},{"results":[50.76,48381,24556,6877,15397,150,330,135,936],"time":1730820898000,"hash":"3816b779ed3b3f8baef33784c9198167c5eed518","title":"codegen: known value Function hack"},{"results":[50.62,48381,24492,6847,15492,150,330,134,936],"time":1730783965000,"hash":"61a2d7d540af602305325e933db63a7a85f83c2a","title":"codegen: begin knownValue, use for eval"},{"results":[50.57,48381,24468,6831,15532,150,330,134,936],"time":1730782308000,"hash":"c96eb3b51a17734c3c3939ff6b567643f2077987","title":"test262/harness: use IsConstructor for isConstructor"},{"results":[50.57,48381,24465,6834,15532,150,330,134,936],"time":1730779458000,"hash":"30ee790720abc6ecdfc770d192fe4581685889d6","title":"builtins/array: handle lastIndexOf position arg correctly"},{"results":[50.51,48381,24437,6862,15532,150,330,134,936],"time":1730777549000,"hash":"d2961695cbe50c461c6995f042279d481a726bf3","title":"builtins/array: implement thisArg for various funcs"},{"results":[50.3,48381,24335,6974,15522,150,330,134,936],"time":1730710933000,"hash":"a452c75ff56c22943e780c02a80e8d69667e1daa","title":"codegen: tweak array destructuring"},{"results":[50.27,48381,24320,6989,15522,150,330,134,936],"time":1730709974000,"hash":"5f3891e0e1b51e1b18ea71b9c659bceb4be30bc0","title":"codegen: support members in destructuring"},{"results":[50.19,48381,24284,6981,15523,150,330,134,979],"time":1730705658000,"hash":"bf123ba8d0c58b2d00772473a9b2864bed0f2146","title":"test262/harness: tweak fnGlobalObject"},{"results":[50.19,48381,24284,6981,15523,150,330,134,979],"time":1730700667000,"hash":"1367078fddcab1c4f3c67cff96a53a1a8cbe0f0c","title":"codegen: do not default this to globalThis if only new'd"},{"results":[50.17,48381,24273,6984,15529,152,330,134,979],"time":1730627364000,"hash":"843001d3e3b50c6962e10209b67644ea633718b5","title":"builtins/reflect: apply, construct"},{"results":[50.14,48381,24260,6962,15564,152,330,134,979],"time":1730528501000,"hash":"c84768fe347f1e1a90d68f3254284f1817c05b9a","title":"codegen: type inference"},{"results":[50.16,48381,24268,6964,15553,152,331,134,979],"time":1730507440000,"hash":"b2af00b1c9b8eb97812154e85fe81b10501d819d","title":"builtins/string: tweak concat out types"},{"results":[50.16,48381,24267,6965,15553,152,331,134,979],"time":1729641668000,"hash":"0fdbf2d674f60f4e5af23f0dfd06e1898c835eef","title":"builtins/math: rewrite pow"},{"results":[50.14,48381,24258,6969,15556,152,331,136,979],"time":1729632570000,"hash":"b0b1d006cd3d95effebf888c9e887d2cc63f32f0","title":"builtins/math: rewrite log"},{"results":[50.14,48381,24259,6968,15556,152,331,136,979],"time":1729539741000,"hash":"6d0e875332751e1708ccf8596d5faa38ac21e674","title":"codegen: rewrite member local handling"},{"results":[50.14,48381,24260,6952,15572,152,331,136,978],"time":1729440783000,"hash":"cdf9e18a314b3641ae73a68a98f6d5453ad44d67","title":"codegen: use unique locals for indirect calls"},{"results":[50.14,48381,24260,6952,15572,152,331,136,978],"time":1729370387000,"hash":"2e2a6695ff3536267dcd4813b5c5cd78e84d2d73","title":"codegen: 10 indirect wrapper args"},{"results":[50.15,48381,24261,6951,15573,152,331,135,978],"time":1729338911000,"hash":"046f64a5d9a6e8690bb0f30950220e5afb8815b4","title":"test262/harness: TypedArray hack"},{"results":[49.98,48381,24179,6751,15854,152,331,136,978],"time":1729299901000,"hash":"fcae74491e74b5e560e7b191407833430cb10bb6","title":"codegen: remove forof await todo"},{"results":[49.43,48381,23914,6707,15575,152,331,135,1567],"time":1729298311000,"hash":"8d391a764cd61d88b49180648224801b35c70d4f","title":"codegen: array spread"},{"results":[49.35,48381,23874,6671,15572,152,331,146,1635],"time":1729295778000,"hash":"6b67a32439653720d20663d84ebc40dc268e8e46","title":"codegen: support spread and rest"},{"results":[49.35,48381,23875,6680,15572,152,331,136,1635],"time":1729294989000,"hash":"c7d81e611b88fb152f1edc1632a6b69c0c2c306e","title":"codegen: add missing i32 valtype for localTmp"},{"results":[49.35,48381,23876,6680,15572,152,331,135,1635],"time":1729287508000,"hash":"7989062c417f2dfdd3ccf87409f6905617c49071","title":"builtins/promise: basic Promise.try"},{"results":[49.35,48381,23874,6676,15578,152,331,135,1635],"time":1729285167000,"hash":"fe40adfc2ad543ee45e6ea6e9d2c9ab059457f4a","title":"codegen: use parent object as this if present"},{"results":[49.34,48381,23873,6676,15578,152,331,136,1635],"time":1729279766000,"hash":"53be241fcf17fa4996401ab64d3cd3dbd0c6899f","title":"codegen: minor opts"},{"results":[49.35,48381,23874,6676,15578,152,331,135,1635],"time":1729278199000,"hash":"77695035d6cba3e228ce1437a92418bc229a2f21","title":"codegen: check if iterable for spread in calls"},{"results":[49.3,48381,23854,6694,15580,152,331,135,1635],"time":1729277450000,"hash":"3b71893d33616333943b8e6e48e09473e53c04bd","title":"codegen: add spread hack to indirect calls"},{"results":[49.32,48381,23863,6685,15572,152,331,135,1643],"time":1729208835000,"hash":"c0aa61b7affef0d0b86771d3cf9ed33e9b6145df","title":"codegen: optional chaining short-circuiting"},{"results":[49.32,48381,23861,6684,15574,152,331,136,1643],"time":1729183277000,"hash":"00b23f99039e9d6a6e76e3aa05b9b63deb14d54f","title":"builtins/error: re-add ToString message"},{"results":[49.31,48381,23858,6724,15498,152,331,175,1643],"time":1729125430000,"hash":"61b65996ee75fa168e10880f4b391d168422c5c4","title":"builtins/error: optimize constructor"},{"results":[49.31,48381,23858,6722,15498,152,331,177,1643],"time":1729119436000,"hash":"c549afba8293fff82d597c7a055ad871fc157d5a","title":"builtins/internal_object: use fastIndexOf"},{"results":[49.31,48381,23858,6740,15503,154,331,154,1641],"time":1729118471000,"hash":"84419a9c4089bf364d9855f7fef5a98f993b3fce","title":"builtins/various: cleanup string alloc hacks"},{"results":[49.31,48381,23858,6741,15501,154,331,155,1641],"time":1729028496000,"hash":"b53a6b0a345636452f27e0e76e7f4fb0064f90a0","title":"assemble: optimize code and data sections"},{"results":[49.31,48381,23858,6729,15502,154,330,167,1641],"time":1729026794000,"hash":"84bb157bc7ea56d56e39ca1c14c73413976f9f6b","title":"assemble: add func flag for usesImports"},{"results":[49.31,48381,23857,6731,15488,153,347,164,1641],"time":1729010866000,"hash":"7bc9992305136fec359ecbf6d5f7190f2e4f9611","title":"test262: update clone"},{"results":[49.51,48414,23970,6755,15446,153,300,155,1635],"time":1729004897000,"hash":"0ecd7a4b0b78ee1b4bebd8b3ed6b5da06b293def","title":"builtins/promise: rewrite then for more conformance"},{"results":[49.38,48414,23906,6821,15444,153,300,155,1635],"time":1729003450000,"hash":"5b4196574624b9ae5126376088c42b2b37112519","title":"builtins/promise: make noop return"},{"results":[49.44,48414,23934,6823,15414,153,300,155,1635],"time":1728999119000,"hash":"aa360924bf80bc1fd743b64916c06ff3f065a58e","title":"builtins/promise: more complaint resolution"},{"results":[49.43,48414,23933,6810,15414,153,300,169,1635],"time":1728989932000,"hash":"dd33430e44412359ff521a9ffd50f94a0055c6cb","title":"codegen: fix sequence getNodeType"},{"results":[49.3,48414,23869,6826,15476,153,300,155,1635],"time":1728986784000,"hash":"bc0d7a1bd957a16097e662a782185759f0739d7f","title":"codegen: small func destr cleanup"},{"results":[49.3,48414,23868,6812,15476,153,300,170,1635],"time":1728947697000,"hash":"c447cafc050c4bff783ede49ac7c3ba9652af60e","title":"codegen: allow generators in iterable checks"},{"results":[48.8,48414,23625,6608,15915,153,300,178,1635],"time":1728946822000,"hash":"69cba277baa6e1b0099529fd5f6a4bcd2015f48d","title":"codegen: more compliant class name id set"},{"results":[48.56,48414,23508,6735,15912,153,300,171,1635],"time":1728945412000,"hash":"7475e455e5ada627fb0fbc1ff12e29bc8271fd0b","title":"codegen: set default value func id as name"},{"results":[47.71,48414,23096,7203,15856,153,300,171,1635],"time":1728943318000,"hash":"219c44dc43044a91690d39a127f0caea674f1b01","title":"builtins/various: rm some unneeded string allocations"},{"results":[47.71,48414,23097,7205,15856,153,300,168,1635],"time":1728940046000,"hash":"488f9a52c4589fa7cd6ad0a0c30f998406df733d","title":"codegen: rm makeArray, move logic into generateArray"},{"results":[47.66,48414,23074,7190,15899,153,300,163,1635],"time":1728927634000,"hash":"8a948f63f8e43d3b91aaf037e1b09140d517538a","title":"prototype: rewrite makeArray -> Porffor.allocate"},{"results":[47.66,48414,23074,7198,15899,153,300,155,1635],"time":1728917873000,"hash":"0d1b672ca86873eaa203b62e4ef805c2d54975e9","title":"codegen: separate obj assign tmp"},{"results":[47.27,48414,22886,6980,16347,153,300,154,1594],"time":1728915496000,"hash":"4a63f2cf2919c12dc6b2e15b94d8d0de36f452d0","title":"compiler: rewrite string allocation"},{"results":[47.69,48414,23088,7012,15984,153,300,241,1636],"time":1728899426000,"hash":"5673707bdd21cffbc07f5306e6f6440c5dcdaf61","title":"codegen: fix no generation wasm errors"},{"results":[47.69,48414,23090,6990,15965,292,300,239,1538],"time":1728891990000,"hash":"a3a6a3d48c5e4441efa17389e7d21794aed40228","title":"codegen: tweak adding end return"},{"results":[47.68,48414,23083,7011,15975,164,300,245,1636],"time":1728736684000,"hash":"a6f531712ac3819041190368352bfdd12e476c0f","title":"codegen: do not do expr unusedValue in eval"},{"results":[47.68,48414,23083,7014,15977,164,300,240,1636],"time":1727745250000,"hash":"c0f9a20a185b869e19036f3de8dc31fb39ddca8c","title":"builtins/json: support space arg for json.stringify"},{"results":[47.68,48414,23082,7015,15977,164,300,240,1636],"time":1727667495000,"hash":"fdd7012d1e2d63e9299887a44f24dfe4d7fa604f","title":"codegen: support symbol keys for for..in"},{"results":[47.68,48414,23082,7015,15978,164,300,239,1636],"time":1727643346000,"hash":"83ea42a4daebd927b33433f56db9ab83262be8a3","title":"builtins/json: object serialization and some fixes"},{"results":[47.66,48414,23076,7021,15976,164,300,241,1636],"time":1727548821000,"hash":"d81d10b5895aede588ecfd9b970269d3a61b951e","title":"builtins/json: fix array final ]"},{"results":[47.66,48414,23074,7024,15976,164,300,240,1636],"time":1727483719000,"hash":"836a6397b2a80fc4b650c945f52fdd7ad0620399","title":"builtins/json: improve serialization"},{"results":[47.66,48414,23073,7025,15975,164,300,241,1636],"time":1727398636000,"hash":"87ffd2b11af15144d7ae9f943b578a7923025504","title":"builtins/json: start JSON.stringify"},{"results":[47.65,48414,23071,6988,16015,164,300,241,1635],"time":1727221281000,"hash":"be9187dedb0fdc1a6b2c16a011f19f17c557aef5","title":"codegen: use Array.from for array prototype methods"},{"results":[46.89,48414,22702,7567,16018,162,300,28,1637],"time":1727216495000,"hash":"7407377043896463da09b375fafcce983fa3bc68","title":"builtins/array: more compliant Array.from"},{"results":[46.88,48414,22698,7572,16018,162,300,27,1637],"time":1727137100000,"hash":"5db64320245311ab85d177fd3a913f66549bd61e","title":"compiler: initial async generators"},{"results":[44.27,48414,21435,7452,17400,162,300,28,1637],"time":1727037184000,"hash":"78249e7253a817c4f5ca64cb1199e67b4851934b","title":"builtins/array: fix reduce with no initial value"},{"results":[44.23,48414,21413,7474,17400,162,300,28,1637],"time":1727029007000,"hash":"48df87a24abe38f286e64e29f8b452615a208505","title":"builtins/internal_object: check get/set does not change"},{"results":[44.19,48414,21395,7498,17394,162,300,28,1637],"time":1727026203000,"hash":"b32cfa21c9c8e1094c9a5971abb3880b226eaf93","title":"builtins/object: check if existing accessor with no props"},{"results":[44.17,48414,21383,7510,17395,162,300,27,1637],"time":1727020804000,"hash":"8a20df245919e463a83ced64bd34ed4d1755ce8c","title":"codegen: fix some yield malformed wasm"},{"results":[44.16,48414,21382,7501,17395,171,300,28,1637],"time":1727008742000,"hash":"31fa596a51786f87c04dd8a82ff495468bf0a378","title":"compiler: support yield like return"},{"results":[43.76,48414,21185,7294,16481,151,296,29,2978],"time":1726967793000,"hash":"4152d338a0a4cb25290b5980622c40fbacf248fa","title":"compiler: use generators for generator functions"},{"results":[42.43,48414,20541,7069,17361,151,296,27,2969],"time":1726885237000,"hash":"98e051c8629d62076e0c11bce84d94eabdaf8fd2","title":"codegen: basic arguments"},{"results":[42.33,48414,20494,7102,17375,151,296,27,2969],"time":1726881508000,"hash":"ed9ba50c0568a514330200d35544755dcbd1147b","title":"codegen: basic spread element as last arg"},{"results":[42.32,48414,20488,7106,17375,151,296,28,2970],"time":1726782769000,"hash":"e7d49db9dd2629c11f333ee7ecb4dcdf07106096","title":"codegen: more compliant unary - and ~"},{"results":[42.3,48414,20481,7115,17375,151,296,26,2970],"time":1726781907000,"hash":"c9d0581c2b9aab4a998c20d8bfd6563654284f21","title":"codegen: optimize unary + with known number type"},{"results":[42.3,48414,20480,7115,17375,151,296,27,2970],"time":1726780806000,"hash":"240c4e68a6e4703963a229cd845b697740a3b118","title":"codegen: simplify getLastType usage"},{"results":[42.3,48414,20479,7115,17375,151,296,28,2970],"time":1726715189000,"hash":"074011f4e7586b1976c5917006218753ef62d4d4","title":"codegen: support unary for non-locals"},{"results":[42.26,48414,20462,7078,17383,151,296,28,3016],"time":1726705570000,"hash":"981eab4e6d613b70d0bbae112a3222edae044fae","title":"compiler: use indirect index for funcRef"},{"results":[42.26,48414,20462,7080,17382,151,296,27,3016],"time":1726191426000,"hash":"2cb86ce78b2c64cc890541d549758093631a1756","title":"codegen: rewrite args setup"},{"results":[42.25,48414,20454,7124,17382,115,296,27,3016],"time":1726185151000,"hash":"5fccb5ce4961d88d25e0c33e291a2483ea5ca4f3","title":"codegen: stop throwing immediately in generators"},{"results":[42.48,48414,20568,6350,15243,115,296,28,5814],"time":1726183598000,"hash":"9098f77cb42798fa9a7c540984fe9e061d101f5d","title":"codegen: do not funcRef for func var decl/iife"},{"results":[42.53,48414,20591,6381,15239,64,296,28,5815],"time":1726019141000,"hash":"b478d668ccc4330cef5ce92eca4db7f5f7c9a37f","title":"builtins/promise: impl withResolvers"},{"results":[42.53,48414,20589,6379,15243,64,296,28,5815],"time":1725937651000,"hash":"4c42fe0a514d28a838ab03322966a6177cbb013c","title":"compiler: use empty indirect func if func's does not exist"},{"results":[42.52,48414,20587,6378,15246,64,296,28,5815],"time":1725933642000,"hash":"642a57e36aebed318155bd309302c7b7fce47796","title":"precompile: add usesTag flag"},{"results":[42.52,48414,20587,6378,15246,64,296,28,5815],"time":1725930750000,"hash":"48652ae1a5b8436e450a3248d3b96c8d31b853e6","title":"codegen: ensure tag for catch"},{"results":[42.52,48414,20587,6378,15246,64,296,28,5815],"time":1725929764000,"hash":"e17139bed1249f049de4c922dc2de621ab58a73e","title":"codegen: more compliant return for constructors"},{"results":[42.49,48414,20570,6396,15246,64,296,27,5815],"time":1725846896000,"hash":"17765d49ef44adbbef5f904a48dc82ca94d72197","title":"codegen: compliant delete super."},{"results":[42.48,48414,20567,6399,15246,64,296,27,5815],"time":1725844982000,"hash":"d2b7b49331ae442b2740542b7329b3b94e71144c","title":"codegen: fix malformed wasm in rare this case"},{"results":[42.48,48414,20566,6397,15246,66,296,28,5815],"time":1725843780000,"hash":"ff356303acd19f339a953edd3aa548ffa4efd793","title":"codegen: use real this for indirect internal protos"},{"results":[42.33,48414,20493,6463,15253,66,296,28,5815],"time":1725841914000,"hash":"ac9fc1a0ccc7770a418a4ccc142607351e063a17","title":"compiler: rewrite indirect funcs internals"},{"results":[42.3,48414,20480,6477,15251,66,297,28,5815],"time":1725835972000,"hash":"f00b015550c05e187f7323cd7bd3863433b003d1","title":"codegen: remove indirect param count check"},{"results":[42.3,48414,20480,6477,15252,65,297,28,5815],"time":1725835001000,"hash":"73bb8ec0304a424d7b116f73847c5c4cbccf7f83","title":"codegen: support more funcs for indirect"},{"results":[42.3,48414,20479,6477,15253,65,297,28,5815],"time":1725762364000,"hash":"215080780c22121f98351392242f565c1408ae3a","title":"compiler: rewrite indirect calls"},{"results":[42.26,48414,20460,6448,15297,65,301,28,5815],"time":1725409238000,"hash":"bacc57e5e6b9cea09a9d371209fd8e396adda948","title":"builtins: rewrite handling function name/length deletion"},{"results":[42.25,48414,20457,6446,15302,65,301,28,5815],"time":1725323503000,"hash":"547538bdb1984b6cd481209e615a3f9ca19b910d","title":"builtins/internal_object: more prototype modification hacks"},{"results":[42.17,48414,20414,6503,15288,65,301,28,5815],"time":1725322195000,"hash":"ab60b9ed40fa289ec0b75b0ec813ea08b418a99a","title":"builtins/object: more compliant defineProperty"},{"results":[42.16,48414,20412,6509,15284,65,301,28,5815],"time":1725318699000,"hash":"dc23e63cff155ca7e3e6c1d48e8037d8e8f410a4","title":"builtins: more compliant object valueOf/toString"},{"results":[42.16,48414,20409,6521,15275,65,301,28,5815],"time":1725277567000,"hash":"8a4aeaf9b08db90a389b5017c4245fa6c80a7c15","title":"codegen: delete end and loc props in objectHack"},{"results":[42.16,48414,20409,6521,15275,65,301,28,5815],"time":1725270707000,"hash":"094a05c51d2737beb1c2dff1fec16b8f32ed7703","title":"builtins/internal_object: rewrite lookup comparing"},{"results":[42.15,48414,20407,6520,15278,65,301,28,5815],"time":1725268100000,"hash":"9d7cf4270a480838a3ef743a429bf2d07a57a8e5","title":"compiler: check string/number/boolean prototype in object get"},{"results":[42.11,48414,20385,6541,15279,65,301,28,5815],"time":1725229367000,"hash":"a6e8628f6df3931545e17e121f74f4370f437bac","title":"codegen: more complaint __proto__"},{"results":[42.1,48414,20384,6542,15280,64,301,28,5815],"time":1725207162000,"hash":"684a9e44804073ca74b60353dff05e51d6471440","title":"codegen: object hack improvements"},{"results":[42,48414,20336,6500,15370,64,301,28,5815],"time":1725148790000,"hash":"9108ad98d8887fddd572acf7838846b7d16dacd1","title":"builtins/internal_object: better underlying for strings"},{"results":[41.98,48414,20323,6509,15375,64,301,28,5814],"time":1725140872000,"hash":"62a78aefd9f1f75c4c2556d69a2df34104fc843d","title":"codegen: tagged template literals"},{"results":[41.95,48414,20308,6501,15354,64,301,28,5858],"time":1725139110000,"hash":"dbe67bc1640c3080ded1fb8a17e7e8f5c33d1f1f","title":"codegen: simplify NewExpression generation"},{"results":[41.95,48414,20308,6501,15354,64,301,28,5858],"time":1725069141000,"hash":"536e9baed923ff418f38876f13d5065a97e43e80","title":"compiler: impl string primitive object"},{"results":[41.82,48414,20246,6528,15389,64,301,28,5858],"time":1725024657000,"hash":"e78e547d2d5eb1a3060eb81aa103f4146f08b30b","title":"codegen: compliant unary +"},{"results":[41.76,48414,20217,6558,15388,64,301,28,5858],"time":1724974700000,"hash":"b6c8961591e47375d817ba34eab44df50a3a9543","title":"builtins/promise: impl any, race"},{"results":[41.61,48414,20144,6505,15514,64,301,28,5858],"time":1724973662000,"hash":"459d7074af140fe79e5868b952ae39f6e2e734d1","title":"builtins/promise: do not fulfill/reject multiple times for one promise"},{"results":[41.61,48414,20144,6505,15515,64,301,27,5858],"time":1724970265000,"hash":"556636214865b6cfd51a9158ac8f6f903f659971","title":"builtins_objects: add more globals"},{"results":[41.57,48414,20128,6508,15528,64,301,27,5858],"time":1724968687000,"hash":"debfbd609c57d9a1acc97afe9612a98368531c65","title":"codegen: fix ifIdentifierErrors for new exceptions, use in delete"},{"results":[41.52,48414,20101,6460,15596,64,301,27,5865],"time":1724857434000,"hash":"d9a05bc23682dfd06703133d0a1686e136a79bb9","title":"builtins/array: impl constructor as ts"},{"results":[41.48,48414,20080,6472,15601,64,301,31,5865],"time":1724856231000,"hash":"b0fefa272ec144f1db1ab023b6574088acf6bf39","title":"builtins: replace new Array(0) with []"},{"results":[41.48,48414,20080,6472,15601,64,301,31,5865],"time":1724805533000,"hash":"095c3de4dc7b690f48ea55da59e5a84230d9836f","title":"test262/runner: force add use strict to test if scenario"},{"results":[40.9,48414,19799,6472,15882,64,301,31,5865],"time":1724802877000,"hash":"210500be93c7a22314cac15f04a684c0a8fbddeb","title":"codegen: strict mode compliance improvements"},{"results":[40.9,48414,19799,6472,15884,62,301,31,5865],"time":1724777234000,"hash":"18670a6b515b5c70ce99a9d0e655ea4384744328","title":"codegen: fix strict mode for idents in for of/in"},{"results":[40.9,48414,19799,6472,15884,62,301,31,5865],"time":1724769550000,"hash":"576be67a07c5673a0599f8823aecd5e760c6fe6b","title":"codegen: delete unneeded mapName"},{"results":[40.9,48414,19799,6472,15884,62,301,31,5865],"time":1724722021000,"hash":"86561be60b05d9217cdadcd22e376dc169f666e8","title":"codegen: set promise type as used for any async func"},{"results":[39.66,48414,19199,6472,16486,62,301,29,5865],"time":1724719870000,"hash":"506d2659453009f15aace301a2882edc02fa865c","title":"builtins/promise: make await actually throw value"},{"results":[39.65,48414,19195,6474,16487,62,301,30,5865],"time":1724710780000,"hash":"cdf3db03f353b115d162ffa661f2003e35b6e213","title":"builtins/promise: reject if Promise() executor throws"},{"results":[39.55,48414,19150,6453,16553,62,301,30,5865],"time":1724706472000,"hash":"38a13b5cc0a80b049fd9a2b74fd7a1c8afcd48c8","title":"various: reject async func promises if an exception is thrown"},{"results":[39.55,48414,19150,6439,16094,62,301,31,6337],"time":1724628311000,"hash":"afa12464fb9cef9fd4ee07a31a7bdecf6f458b59","title":"test262/harness: add asyncTest"},{"results":[39.53,48414,19139,6438,16106,62,301,31,6337],"time":1724627147000,"hash":"ec7f536280536689129634a19a141df3702f58f8","title":"codegen: retry ident and getType at end"},{"results":[39.53,48414,19136,6349,16207,62,300,30,6330],"time":1724623519000,"hash":"1f36c47545506f6bb2e5e582f7056507246e4018","title":"builtins/reflect: rm outdated underlying ownKeys code"},{"results":[39.52,48414,19135,6348,16208,62,300,31,6330],"time":1724614895000,"hash":"e81b466acee6302fef5b2b58372f69b57212fb88","title":"builtins/error: fix Test262Error.thrower"},{"results":[39.52,48414,19134,6349,16208,62,300,31,6330],"time":1724612992000,"hash":"fd2189e3b39730dcf0be30521b69193bb8229b95","title":"test262/harness: impl deepEqual.js"},{"results":[39.51,48414,19130,6347,16213,62,300,33,6329],"time":1724611349000,"hash":"349c0ac9ba7785140023cad23465930a0c9f3c4c","title":"builtins/array: implement sort default callback"},{"results":[39.49,48414,19120,6320,16253,62,300,30,6329],"time":1724607404000,"hash":"01e433cc7bdee4036a2586e84147af41e1d6a1fc","title":"precompile: use zero checks pref for charCodeAt"},{"results":[39.49,48414,19119,6320,16253,62,300,31,6329],"time":1724600358000,"hash":"0079f08020fc2e9614be7a54103e1d4f33db661c","title":"codegen: fix instanceof for prim objects"},{"results":[39.49,48414,19117,6322,16253,62,300,31,6329],"time":1724597378000,"hash":"bd866d8412db2d30ccdd1d3d841f93642ad3ffd5","title":"compiler: add backend error types for custom errors"},{"results":[39.49,48414,19119,6320,16253,62,300,31,6329],"time":1724594296000,"hash":"b6d8d427e0cd28760a2f7c593f2d49622d627a67","title":"codegen: compare properly in switch tests"},{"results":[39.49,48414,19119,6320,16253,62,300,31,6329],"time":1724584794000,"hash":"7b8d368b5bab8b40c58312fdf1845c1f5eeeb4db","title":"test262: disable last remaining replace hacks"},{"results":[39.49,48414,19120,6319,16253,62,300,31,6329],"time":1724582606000,"hash":"ad4d139dea0d7dff794e4e4ff06245ae960176e0","title":"builtins/error: set constructor of errors"},{"results":[39.47,48414,19107,6334,16251,62,300,31,6329],"time":1724579627000,"hash":"91ea2c14996752c5a53361f37b9f5fb012cdb58f","title":"codegen: make try catch actually use param"},{"results":[38.94,48414,18851,5970,16835,62,338,30,6328],"time":1724576863000,"hash":"425e687127afef9bf083b7325e75e58a1c902aea","title":"codegen: fix identifier in for loops"},{"results":[38.94,48414,18851,5970,16835,62,338,30,6328],"time":1724574728000,"hash":"444bed8c12a8233a6c279b4d048b4b3056d9f6fc","title":"codegen: even more compliant this"},{"results":[38.85,48414,18808,5962,16885,62,338,31,6328],"time":1724573186000,"hash":"c9ca8eab9ec6eb2d2433eb1f25872ce1d787732e","title":"codegen: more compliant this for strict mode"},{"results":[38.76,48414,18767,6018,16870,62,338,31,6328],"time":1724541490000,"hash":"9ce5554510c6477bb399c9e2a99cc2d00b239cfc","title":"rhemyn: fix infinite recursion crash in doesSucceedZero"},{"results":[38.76,48414,18765,6016,16867,62,345,31,6328],"time":1724540462000,"hash":"31765df2c4e4c711473d3ef0ab0ffa388064b734","title":"all: replace bad flags arg with module optional bool"},{"results":[38.76,48414,18766,6016,16867,61,345,31,6328],"time":1724531265000,"hash":"705dbbe4929990583506c84525e9201bd11e431e","title":"compiler: use stack exception mode by default"},{"results":[38.79,48414,18781,6036,16808,264,345,14,6166],"time":1724530514000,"hash":"24443127a81650ca60a972a79125ea1f64f864f9","title":"test262: update clone"},{"results":[38.85,48373,18794,6031,16680,264,423,14,6167],"time":1724518378000,"hash":"205a07bcb8be97095de3d38cdd6fe72ac78ecda9","title":"test262/runner: bump timeout to 10s"},{"results":[38.85,48373,18794,6031,16680,264,423,14,6167],"time":1724515014000,"hash":"5441672b886c18e5740c14510630ee9db82ea0fa","title":"codegen: do not make empty this for builtins"},{"results":[38.85,48373,18794,6031,16678,264,423,16,6167],"time":1724456469000,"hash":"2f357807d42a8bcd8c03e52170c06b3a60176760","title":"builtins/error: move TodoError behind Porffor namespace"},{"results":[38.85,48373,18794,6031,16678,264,423,16,6167],"time":1724436574000,"hash":"9534a5eb1255121d96137f1885a33ba5bae62940","title":"codegen: cleanup scoping for generateFunc"},{"results":[38.85,48373,18792,6031,16678,264,423,18,6167],"time":1724202515000,"hash":"ece628d575f60c9f141033ee7929c26e342d32dd","title":"various: rewrite error types"},{"results":[38.84,48373,18786,6051,16666,264,423,16,6167],"time":1724199404000,"hash":"5b76d8c204834cb4b8c8b779c551cfaafcf678d0","title":"builtins/object: tweak prototype toString, valueOf"},{"results":[38.84,48373,18786,6051,16666,264,423,16,6167],"time":1724191577000,"hash":"892150f5bf18c6423b0e611d0e0ecd4ad617c21c","title":"builtins_objects: add constructor for constructors"},{"results":[38.73,48373,18735,6012,16758,264,423,15,6166],"time":1724181212000,"hash":"727ebc52f1d27f308504953397ae5da2fc44d67f","title":"test262/harness: disable unneeded object value check for verifyProperty"},{"results":[38.52,48373,18635,6012,16856,264,423,17,6166],"time":1724174607000,"hash":"57ecd893b3fdbc219599ddc5fe71cf88092585e8","title":"codegen: fix type for arguments stub"},{"results":[38.39,48373,18570,5799,17140,264,423,15,6162],"time":1724173426000,"hash":"690e860ac58429fc0049fba52dc5c406042ae1e2","title":"builtins/object: check length value for arrays with defineProperty"},{"results":[38.24,48373,18499,5879,17134,264,423,12,6162],"time":1724157422000,"hash":"524964112491418ff5cc7f53b27539fa29b116eb","title":"codegen: use signed i32 conv for object gets"},{"results":[38.24,48373,18498,5880,17135,264,423,11,6162],"time":1724115439000,"hash":"dfe205678088ac1e7a6702fd87d0fbdf1f26d79e","title":"codegen: stub arguments"},{"results":[38.12,48373,18442,5852,17220,264,423,10,6162],"time":1724113234000,"hash":"ec4eddf594efdd410d145e5faecee1710754058f","title":"codegen: prim objs always truthy"},{"results":[38.07,48373,18414,5880,17219,264,423,11,6162],"time":1724111159000,"hash":"8d1289638d4848b0d45780ce8b06e7d055c579c4","title":"builtins/object: make prims into prim objs for Object()"},{"results":[38.06,48373,18410,5881,17219,264,423,14,6162],"time":1724109702000,"hash":"ab3d988e05e6c2f2ceb6dac34c9939a5175e21bb","title":"codegen: rewrite aliasPrimObjsBC to intentionally dup BC"},{"results":[38.06,48373,18410,5881,17220,264,423,13,6162],"time":1724107900000,"hash":"15fc5a4f13cf2cd33b93e29e6dc41f3ca75c0cbb","title":"various: begin primitive objects"},{"results":[38,48373,18380,5860,17273,264,423,11,6162],"time":1724078611000,"hash":"3b8edc188af169d041e079638858efec3ffe1fec","title":"codegen: make member extraBC lazy"},{"results":[38,48373,18380,5860,17272,264,423,12,6162],"time":1724029175000,"hash":"ee43d7fa4ee1e34dd6868d558e38d77439bb7adf","title":"builtins/object: fix forcing defineProperty desc as pure object"},{"results":[37.9,48373,18334,5906,17272,264,423,12,6162],"time":1724027981000,"hash":"4db744bb6bab11209fd9cff229fbd72f32ea5a58","title":"codegen: use real kind for for..of and for..in"},{"results":[37.9,48373,18334,5906,17274,264,423,10,6162],"time":1724024774000,"hash":"9e9fecb876355f3084b9c8bdd1afeaa7b4ca769b","title":"codegen: only do special member access for computed"},{"results":[37.78,48373,18274,5711,17526,264,427,11,6160],"time":1724021241000,"hash":"baec5899d13041728b98aaf886c5a2cd7a5a1da5","title":"builtins/object: better handling of arrays and strings"},{"results":[37.73,48373,18253,5732,17527,264,427,10,6160],"time":1723940439000,"hash":"9d38c5ae6275e9fdab963656cb0c0a496e8e8a1a","title":"builtins: simplify underlying object impl"},{"results":[37.74,48373,18254,5732,17526,264,427,10,6160],"time":1723898189000,"hash":"b14b58530bc812ba017cefce7461a07a16041ed7","title":"builtins/internal_object: more spec compliant redefining restrictions"},{"results":[37.73,48373,18250,5738,17524,264,427,10,6160],"time":1723727697000,"hash":"9ea4f48fa9d1103c39a17e203345bbc36677fe51","title":"codegen: fix template literal type"},{"results":[37.73,48373,18249,5739,17522,264,427,12,6160],"time":1723638635000,"hash":"e3bd630683490269fadadaf7c671004b4ea9f8bc","title":"codegen: make member assign default lazy"},{"results":[37.73,48373,18249,5739,17523,264,427,11,6160],"time":1723545206000,"hash":"4374f1e3ca6d7e98a1630a429de708fcabfa128e","title":"compiler: exclude optional and rest params from function length"},{"results":[37.69,48373,18233,5755,17522,264,427,12,6160],"time":1723505629000,"hash":"fe36ccd81d3e817f7fe518570199994ccb6bfb53","title":"codegen: disallow const assign"},{"results":[37.68,48373,18229,5760,17519,264,427,14,6160],"time":1723501293000,"hash":"692a4c85509230787d779803d856629808e3c888","title":"codegen: make more typeSwitches lazy"},{"results":[37.68,48373,18229,5760,17519,264,427,14,6160],"time":1723498558000,"hash":"5acf31c6b2bbf9819f604a818c0ee412f47c1ca0","title":"compiler: rewrite typeSwitch to be lazily generated"},{"results":[37.69,48373,18232,5754,17487,263,464,13,6160],"time":1723456773000,"hash":"3d0ff08b878aa5f409f0faeba08b983dea8138cb","title":"test262/harness: more typedarray harness"},{"results":[37.69,48373,18230,5743,17500,263,464,13,6160],"time":1723421852000,"hash":"00d27ff8a3e5356149b5fea9f45424c2373356c4","title":"codegen: use new typeSwitch structure for deduping"},{"results":[37.69,48373,18230,5743,17501,263,464,12,6160],"time":1723315510000,"hash":"90988143ce24922c62731496d615fdb04f756f49","title":"codegen: do not do call member hack for new"},{"results":[37.67,48373,18222,5733,17543,263,441,11,6160],"time":1723293800000,"hash":"5b8f855d3ef480b3ec3b815df300ca51785b9554","title":"codegen: fix not popping all depths in loops"},{"results":[37.67,48373,18223,5734,17538,265,441,12,6160],"time":1723211037000,"hash":"430e75fc632b2a180d550076ad25ed45dd614dc0","title":"builtins/internal_string: even faster strcmp"},{"results":[37.67,48373,18223,5734,17538,265,441,12,6160],"time":1723143734000,"hash":"4efc55ec0bd86c63e68bbc7f014e2f896c701515","title":"codegen: basic super"},{"results":[37.65,48373,18211,5697,17484,299,441,13,6228],"time":1723137729000,"hash":"e6bc8c3c3a17547fc194b5e1fbad85d6480cadff","title":"various: rewrite class definitions are defined"},{"results":[37.25,48373,18018,6019,17467,299,441,13,6116],"time":1723130317000,"hash":"a021d291f5ce494d6f22a24cb2c0ec8ec9d82365","title":"codegen: set __proto__ of this in this creation"},{"results":[37.24,48373,18012,6044,17453,301,434,13,6116],"time":1723121850000,"hash":"edbf763d9d6f5d481a6735d816776a701a5ca6a7","title":"codegen: use generic generate more and cache especially for generateFunc"},{"results":[37.24,48373,18013,6044,17453,289,434,13,6127],"time":1723038657000,"hash":"6bf6ab7e00b3799a13fd024cdc1b461669a0b3b5","title":"codegen: make class constructor and methods strict"},{"results":[37.23,48373,18011,6046,17451,289,434,14,6128],"time":1723033507000,"hash":"2ec1cbf356805cb02078a87648d98143cab72a0a","title":"codegen: do not only do class func check for method defs"},{"results":[37.23,48373,18011,6046,17451,289,434,14,6128],"time":1723030385000,"hash":"85810b90f3fdc502850c61b7026e14c61bb21c71","title":"various: rewrite underlying objects"},{"results":[37.13,48373,17963,6176,17373,286,434,13,6128],"time":1722979138000,"hash":"b1c853dc56196e0b7b24bcf04162957dae145c83","title":"builtins/objects: stub JSON as empty object"},{"results":[37.04,48373,17917,6145,17450,286,434,13,6128],"time":1722974152000,"hash":"3cb1fd363a12e53b62e9396529be85204f8393fb","title":"builtins/object: use full truthy check for prop desc in defineProperty"},{"results":[37.01,48373,17905,6157,17450,286,434,13,6128],"time":1722972435000,"hash":"b6ee7a0c62eeaca46da93080d7d5ed769bf2764d","title":"codegen: do not use ToPropertyKey for non-computed property access"},{"results":[37.01,48373,17905,6157,17450,286,434,13,6128],"time":1722971674000,"hash":"95b1365fd12d5c25e98df5c00594fb543ad76eeb","title":"codegen: only object hack built-in things"},{"results":[36.98,48373,17890,6173,17451,286,434,11,6128],"time":1722908589000,"hash":"bed283fd7e631d8861d649e11a32ed53e9722414","title":"various: strict variants of object set/delete"},{"results":[36.87,48373,17836,6235,17441,286,434,13,6128],"time":1722905954000,"hash":"8b114800f09d73da7c0f5799613b6ab5bc0092c2","title":"test262/runner: run strict mode only tests"},{"results":[37.22,47626,17726,6100,16962,280,431,11,6116],"time":1722903567000,"hash":"0354025f324e567a0bc35bdbb2fe45ec0c39db8c","title":"builtins/ecma262: add ToPrimitive string and use in ToString & ToPropertyKey"},{"results":[37.21,47626,17720,6107,16958,280,431,14,6116],"time":1722880276000,"hash":"474e2cab8b11b7d1f595d76a5d5151983472d3d9","title":"builtins/ecma262: add ToPrimitive and use in ToNumber"},{"results":[37.1,47626,17670,6180,16936,280,431,13,6116],"time":1722860239000,"hash":"10deaeb214342e16ad2d01100a848f97dc3e6316","title":"builtins/objects: use glbl for globals"},{"results":[37.01,47626,17627,6169,16936,335,431,12,6116],"time":1722856884000,"hash":"224dda7341486f7f9de0b722f3046e090822f2c0","title":"builtins/object: respect toString/valueOf overrides"},{"results":[37.01,47626,17625,6225,16926,290,431,13,6116],"time":1722813699000,"hash":"7de9be5ca2afc7770a90c8aa4e1e06bfa5bf1632","title":"builtins/objects: use expr.initWithFlags instead of define"},{"results":[37.01,47626,17625,6225,16926,290,431,13,6116],"time":1722811841000,"hash":"aa0e252cd92c4ad7c6b9705df66c7a9aa1793c83","title":"codegen: fix member gen bug in precompile"},{"results":[37,47626,17624,6225,16927,290,431,13,6116],"time":1722794749000,"hash":"03a54c52c4832bae879c60a749b88d30adc6fa72","title":"builtins/object: fix toLocaleString"},{"results":[36.99,47626,17619,6225,16932,290,431,13,6116],"time":1722788169000,"hash":"4bff90bb77a72e30c10c50a2be76770f3aa3e624","title":"codegen: support for..in for all types"},{"results":[36.75,47626,17502,6203,17072,290,430,13,6116],"time":1722778627000,"hash":"f2d9ea84aab82fb24501b02d4944bca92d827266","title":"codegen: get iter type better for for..of"},{"results":[36.75,47626,17502,6203,17077,290,424,13,6117],"time":1722772150000,"hash":"a797cb673616c6031df95d44b2a5b56e673008f8","title":"codegen: do not fully abort for object hack and do not do for some object proto methods"},{"results":[36.52,47626,17393,6202,17187,290,424,13,6117],"time":1722769122000,"hash":"acab361234c0227c6b78921d93b69608ba99b237","title":"builtins/objects: add Object"},{"results":[36.45,47626,17360,6223,17199,290,424,13,6117],"time":1722767904000,"hash":"bbeb60921e9dfa551293fb6159c91bfaf59b09ca","title":"builtins/objects: add Number auto funcs"},{"results":[36.44,47626,17355,6223,17204,290,424,13,6117],"time":1722764838000,"hash":"6c775ed3d093a0135b0fcca23f02786526d5a4cb","title":"builtins/objects: rewrite existing func handling"},{"results":[36.39,47626,17329,6235,17218,290,424,13,6117],"time":1722761417000,"hash":"c1eae714405c086fa7d55af77d7846e8a47b0f5f","title":"builtins/internal_object: do not give non-constr funcs prototypes"},{"results":[36.37,47626,17320,6254,17207,290,424,13,6118],"time":1722759337000,"hash":"8c1aa10d704a2874880c8d7fdcd48d36bc227b5e","title":"builtins/object: work better with funcs"},{"results":[36.35,47626,17312,6266,17204,290,424,12,6118],"time":1722754205000,"hash":"9bed52a282d90175b574abf0f42089503da73580","title":"various: rewrite instanceof"},{"results":[36.28,47626,17279,6214,16918,278,424,13,6500],"time":1722732564000,"hash":"983f9abab6136c802bae7691b6eea5773b409dbd","title":"codegen: impl template literals"},{"results":[36.22,47626,17252,6203,16724,447,424,13,6563],"time":1722730776000,"hash":"f09f0c07e7276a633dbae6b9640b677b24d109a2","title":"codegen: impl guesses for getNodeType"},{"results":[36.22,47626,17252,6203,16724,447,424,13,6563],"time":1722707683000,"hash":"8643a4408cdbcfff63550d532e57dca02a979ade","title":"builtins/annexb_string: rewrite"},{"results":[36.21,47626,17244,6212,16723,447,424,13,6563],"time":1722701649000,"hash":"f24c84462d896fd50d017119d2363cc2d7cd1512","title":"codegen: still set last type for setLocalWithType"},{"results":[36.2,47626,17242,6214,16722,447,424,14,6563],"time":1722699868000,"hash":"11f3ea4b461c723b0b3454614f17e6681c886aa3","title":"various: rewrite concat strings as ts"},{"results":[36.18,47626,17232,6226,16721,447,424,13,6563],"time":1722640887000,"hash":"fbe363b9642ca0249f945fe99cd4743928dd2a06","title":"codegen: impl private fields"},{"results":[35.69,47626,17000,6174,17615,447,424,15,5951],"time":1722600245000,"hash":"bc9b45cda28f7e38ffccf890a6795ee40988987f","title":"codegen: rewrite class extends impl"},{"results":[35.7,47626,17001,6170,17615,447,424,18,5951],"time":1722563143000,"hash":"27a1b07e294128f4c74791a0be15b53efaba3258","title":"codegen: disable removing blank main by default"},{"results":[35.67,47626,16986,6170,17619,462,424,14,5951],"time":1722560274000,"hash":"6298bb6b01bfca7050814a222df26ad920961d6a","title":"codegen: rewrite logic to inject promise job runner"},{"results":[35.63,47626,16971,6189,17627,447,424,17,5951],"time":1722437452000,"hash":"8c8cafe122f1a4f42fab228c4b644b7caf53de0d","title":"codegen: fix default destructured args in functions (#157)"},{"results":[34.92,47626,16629,6273,17901,447,424,13,5939],"time":1722349464000,"hash":"ef8f0ae35a3daab3169d9dd63592d397eebc5779","title":"builtins/string: rewrite isWellFormed in ts"},{"results":[34.91,47626,16625,6278,17900,447,424,13,5939],"time":1722343545000,"hash":"616b919a9a338bc313985f5274ebb4bf255e542d","title":"builtins/object: set function underlying with func"},{"results":[34.91,47626,16625,6322,18011,424,424,14,5806],"time":1722296572000,"hash":"113f447b960e5318dd1a40edf1182c53eb4f91aa","title":"codegen: add standard func lookup funcs"},{"results":[34.88,47626,16610,6335,18009,424,424,18,5806],"time":1722292776000,"hash":"0a145f276f38c27ee754ee153b6e007e5709617a","title":"codegen: lazily generate func bodies"},{"results":[34.87,47626,16607,6282,18065,424,424,17,5807],"time":1722278960000,"hash":"36870b95ed71553da8a038b124a2542aa7acd7dd","title":"various: fix bugs from allocPage rewrite"},{"results":[34.87,47626,16608,6278,18071,424,424,14,5807],"time":1722176703000,"hash":"0fcfc3410db72e3883d4d857d0390050baf6d9a8","title":"codegen: optimize indirect non-constructor new check"},{"results":[34.87,47626,16608,6278,18072,424,424,13,5807],"time":1722170972000,"hash":"04d2945e76435b79b8d8593098f5dc48e945f495","title":"test262/harness: move some to arrow funcs"},{"results":[34.85,47626,16596,6264,18086,435,424,14,5807],"time":1722164697000,"hash":"74f380d7f7fdef0a446a05d3c877c9d0d6eb7339","title":"builtins/promise: fix memory corruption"},{"results":[34.83,47626,16590,6266,18092,435,424,12,5807],"time":1722160564000,"hash":"3d4fc5f94616b3d0608e4bd4e11d60ffd6f54c6e","title":"builtins/object: impl isPrototypeOf"},{"results":[34.82,47626,16582,6256,18110,435,424,12,5807],"time":1722130711000,"hash":"b8fba2c0768168007f9f92832d4fd3a41b7b3ee2","title":"precompiled: update"},{"results":[34.8,47626,16575,6257,18117,435,424,11,5807],"time":1722121270000,"hash":"ac3d8468348a09a9a0c2fb116cc3d890369f2c83","title":"various: rewrite comparing strings as ts"},{"results":[34.79,47626,16568,6194,18184,435,424,29,5792],"time":1722119698000,"hash":"7987ff048152ef6e762ac26a8ffc094b3dff5840","title":"assemble: do not modify index"},{"results":[34.79,47626,16568,6194,18184,435,424,29,5792],"time":1722035384000,"hash":"61adb24cb90a0248f45cd9445d4c7118ba950cf9","title":"codegen: fix class constr id for existing constrs"},{"results":[34.7,47626,16525,6128,18335,435,427,29,5747],"time":1722016160000,"hash":"ed0fe01c3abac207b4f902a3337b156120b8bf36","title":"test262: update clone"},{"results":[34.74,47568,16525,6128,18278,435,427,29,5746],"time":1721953755000,"hash":"363798bae3cbed966c68a8ffe5408cb240064eda","title":"various: basic await"},{"results":[34.49,47568,16405,6118,18241,445,426,28,5905],"time":1721780182000,"hash":"f3e680cdd191ee1e6b8c2fd5966083c7fd38cf12","title":"codegen: support extends for class"},{"results":[34.37,47568,16347,6068,17913,431,427,28,6354],"time":1721778471000,"hash":"e2c7d24198b5dc7e4772438c1fa6f79e83011f36","title":"codegen: fix class prop defs and optimize constr"},{"results":[34.22,47568,16280,6177,17871,431,427,33,6349],"time":1721776856000,"hash":"ab7b79cfb57a3cbe2a02e0268476b50eea54a3ec","title":"codegen: rewrite constr params"},{"results":[34.22,47568,16276,6177,17869,462,403,32,6349],"time":1721767055000,"hash":"d558e46cb60901ff50e7e4703840dfaa3fd514a5","title":"codegen: more reliable func v class gen"},{"results":[34.01,47568,16178,5786,16356,469,511,33,8235],"time":1721730518000,"hash":"4108717f5e51901fd26cdc0edfd76f9b102329eb","title":"codegen: default value for class defs"},{"results":[33.85,47568,16102,5494,16354,467,991,16,8144],"time":1721697114000,"hash":"427b6a598387fc82a55e82ff0e01639554cf4fe6","title":"codegen: basic classes"},{"results":[32.06,47568,15248,4985,14141,444,399,10,12341],"time":1721684458000,"hash":"f4d14f39dc04e1b14d75f676ca9eca135dd6dc1b","title":"builtins/objects: fix double prefixes"},{"results":[31.61,47568,15038,5107,14224,444,399,10,12346],"time":1721679605000,"hash":"9517cee9a64957b01c59f1a95da1179b85a349d8","title":"various: proper object prototype"},{"results":[31.57,47568,15019,5118,14228,444,399,10,12350],"time":1721673141000,"hash":"3f3463336307267d44484c62d7c301d87ab8dd04","title":"codegen: impl __proto__ for primitives"},{"results":[31.44,47568,14956,5182,14227,444,399,10,12350],"time":1721661746000,"hash":"cee3a09d11c5bf00fe2513102ce9915b2fe903a7","title":"codegen: fallback for special properties"},{"results":[31.45,47568,14961,5239,14165,444,399,10,12350],"time":1721612420000,"hash":"5ab970e2be563e9205f1dccbd4b4b99f8ca79512","title":"builtins/object: use prototype chain in get"},{"results":[31.35,47568,14914,5284,14167,444,399,10,12350],"time":1721605967000,"hash":"1b5f450efa6af63f55c8095ed69decb8da011ca8","title":"various: refactor active data to use page names instead of numeric offsets"},{"results":[31.35,47568,14911,5285,14169,444,399,10,12350],"time":1721597592000,"hash":"896cd2357219496a1c03879c314fcf7fdddab1b6","title":"various: make in respect prototype chain"},{"results":[31.35,47568,14913,5287,14165,444,399,10,12350],"time":1721591837000,"hash":"65310ac3cb51d0384fcaed00039243d4b76a2f22","title":"various: use +16 instead of +4 as page 0 offset"},{"results":[31.31,47568,14895,5245,14222,444,399,12,12351],"time":1721588218000,"hash":"000a6e909e82ad1d0218c2e460b81f1b4042917c","title":"codegen: lazy globalThis as this"},{"results":[31.35,47568,14912,5292,14159,444,399,11,12351],"time":1721582247000,"hash":"6fdb665cff4882f8dd236a1640b0070469a74d90","title":"codegen: do not return no wasm for string literal exprs"},{"results":[31.33,47568,14903,5298,14163,444,399,10,12351],"time":1721573449000,"hash":"3aeddce2e231c8492c3878e39a94060d31f949bb","title":"test262/harness: remove propertyHelper verify shortcut hacks"},{"results":[31.33,47568,14903,5296,14165,444,399,10,12351],"time":1721572036000,"hash":"3d55060ca22fc22559bdf5b52389e8905d2ff31d","title":"builtins/object: change where object mapping is done"},{"results":[31.34,47568,14909,5225,14228,444,399,11,12352],"time":1721566285000,"hash":"8c631241f9a53c635412abf6d66297a76dc79635","title":"builtins/objects: move Number props to object"},{"results":[31.34,47568,14910,5224,14228,444,399,11,12352],"time":1721259421000,"hash":"a4058b62181942f87a9ca6d483eb7f7ea89b8f9d","title":"object: initialize prototype for function underlying objects"},{"results":[31.26,47568,14872,5113,14378,444,399,10,12352],"time":1721257159000,"hash":"c7aa6779d0d7d1c9b3307c0f8c7fd65b04625094","title":"object: support underlying objects for funcs"},{"results":[31.2,47568,14843,5112,14384,468,399,11,12351],"time":1721231309000,"hash":"23be40b751cfac9f68b318141a86d4ea767555a2","title":"various: support deleting function length/name"},{"results":[31.08,47568,14785,5170,14384,468,399,11,12351],"time":1721225764000,"hash":"d11c705c31aa832d272975e16714c5db954c30de","title":"various: begin the structure of the prototype chain"},{"results":[31.01,47568,14753,5004,14614,468,399,11,12319],"time":1721170043000,"hash":"d9162280f7352fca6457324293943e055bf8b192","title":"builtins/object: handle delete for non-object"},{"results":[31,47568,14747,5009,14615,468,399,11,12319],"time":1721089005000,"hash":"f960477d895469487f81f88352d7709ee5707698","title":"test262/harness: fix $DETACHBUFFER"},{"results":[30.78,47568,14640,4981,14750,468,399,11,12319],"time":1721080020000,"hash":"18a94bd2a2803420ad17445bf015bec1e88e0d89","title":"various: make object destr rest actually ignore previous keys"},{"results":[30.73,47568,14619,5002,14750,468,399,11,12319],"time":1721076704000,"hash":"08139b69b872d0e2ee497ebfa7101f5f84a272a1","title":"codegen: cleanup strict mode more"},{"results":[30.73,47568,14619,5002,14750,468,399,11,12319],"time":1721075190000,"hash":"80382a77da32323c1862d1b2c155c32e2f945d40","title":"codegen: impl strict mode (#133)"},{"results":[30.73,47568,14618,5007,14746,468,399,11,12319],"time":1721003550000,"hash":"1a8af0fa16a9b96b0c1510f0c650baa4669ab3f6","title":"codegen: more sophisticated setType"},{"results":[30.73,47568,14618,5007,14746,468,399,11,12319],"time":1721002810000,"hash":"4dffeaf29e5df64facd55b50881948187f7c7272","title":"codegen: more sophisticated getType"},{"results":[30.73,47568,14618,5007,14746,468,399,11,12319],"time":1721001409000,"hash":"9b67c7b751bd861e2b3423224a931db641aa9910","title":"codegen: object rest in destructure"},{"results":[30.7,47568,14602,4947,14746,468,399,10,12396],"time":1720999233000,"hash":"221cc6c897f11c04428cafca7c3fa45793838dd1","title":"codegen: impl spread in object expressions"},{"results":[30.64,47568,14574,4937,14696,441,515,11,12394],"time":1720995760000,"hash":"fbeecc1935ed49058b46f7ff427aace8de0f5dd9","title":"codegen: fix a destructure crash"},{"results":[30.64,47568,14574,4937,14696,441,517,11,12392],"time":1720992791000,"hash":"686a1107e4cc995ad37a0495ed9a304c94ba23ba","title":"codegen: fix some destructuring crashes"},{"results":[30.61,47568,14559,4923,14692,441,579,11,12363],"time":1720991620000,"hash":"79f33b7acfc61f13b71a9c29050cf43b18865b54","title":"test262: update clone"},{"results":[30.66,47471,14553,4914,14611,441,579,11,12362],"time":1720979136000,"hash":"8de3f67b5389c912c743146881bd71d3247cbee0","title":"codegen: destructuring to more places (#130)"},{"results":[29.8,47471,14146,4937,14512,417,510,13,12936],"time":1720821038000,"hash":"910e36a5025e4b3d4dd336b16a9c59fc9451cfa2","title":"builtins/boolean: rewrite constructor as ts"},{"results":[29.79,47471,14143,4937,14516,417,510,12,12936],"time":1720820123000,"hash":"95e89c6631b1a930e314eaee899b9f505d75ca0f","title":"codegen: more compliant falsy"},{"results":[29.79,47471,14141,4938,14516,417,510,13,12936],"time":1720815324000,"hash":"5cc314c22d4d4e9167537921a1a3a8c41f6432d1","title":"builtins/internal_object: fix getting/setting null"},{"results":[29.78,47471,14139,4940,14517,417,510,12,12936],"time":1720804082000,"hash":"e44d7de880821f7cf395359941a04bbf6d1ac471","title":"chore: run test262 after many object improvements"},{"results":[29.09,47471,13809,4956,14829,429,510,13,12925],"time":1720750814000,"hash":"39f6ec08bd048f6da3c3ab6da21b514a96402a52","title":"various: fix .name for arrow functions in certain cases"},{"results":[29.07,47471,13801,4965,14829,429,510,13,12924],"time":1720747922000,"hash":"a2cda7068e3152fdb251ea5bd5a0aa879b67dbea","title":"codegen: fix destructuring defaults"},{"results":[29.01,47471,13773,4993,14829,429,510,13,12924],"time":1720747036000,"hash":"b6e0f838e3e2f2724f5250b21b6ec23c56133f15","title":"various: Function.prototype.call hack plus tweaks"},{"results":[28.88,47471,13711,4017,15889,411,517,12,12914],"time":1720634938000,"hash":"634589eafc98a0618049c6b71f4de61030805801","title":"builtins/number: rewrite constructor"},{"results":[28.79,47471,13666,4062,15888,411,517,13,12914],"time":1720632963000,"hash":"60bd5052b90a085b658aee9b6e60f26831f42488","title":"codegen: add hack to handle prototypes called directly"},{"results":[28.78,47471,13662,4066,15841,409,596,13,12884],"time":1720613161000,"hash":"b2445452d6d44d62d9ff8fcaf80d251088836238","title":"builtins/stringtonumber: make empty strings return 0"},{"results":[28.78,47471,13660,4068,15841,409,596,13,12884],"time":1720603327000,"hash":"5df46c5127df5fb7c2f1a0765b3d13f744c03036","title":"codegen: error for object destructure with undefined or null"},{"results":[28.73,47471,13640,4088,15841,409,596,13,12884],"time":1720601475000,"hash":"4720e90f8d197c5577885c103fecc63281b17ff0","title":"codegen: error for array destructures on non iterables"},{"results":[28.69,47471,13621,4119,15829,409,596,13,12884],"time":1720598742000,"hash":"22f3c21830cb3bf8744049228cb64b7fc64553e2","title":"codegen: basic object destructuring (#121)"},{"results":[28.44,47471,13503,3983,15822,409,596,12,13146],"time":1720570357000,"hash":"d8dbd8148c0e3af236dfcce35467f5a45c00927e","title":"test262/runner: reuse script for timeout"},{"results":[28.44,47471,13503,3983,15822,409,596,12,13146],"time":1720562860000,"hash":"7704735892974cd2a6b6baf762548f8268a6fa98","title":"codegen: todo error nicely for generator functions"},{"results":[27.85,47471,13221,3973,17150,409,596,1995,10127],"time":1720559552000,"hash":"b93e722e297b5d007985abbaea35991295600bd7","title":"codegen: support optional calls"},{"results":[27.85,47471,13222,3973,17152,409,596,1992,10127],"time":1720462237000,"hash":"063e6825c87295dd4b723ffee567471efd408261","title":"builtins: cleanup some internal funcs"},{"results":[27.85,47471,13221,3973,17171,409,596,1974,10127],"time":1720459657000,"hash":"323cca3402efd4ef2507d2d501c1e787044a10df","title":"codegen: add todo for for await"},{"results":[27.85,47471,13222,3975,17136,409,596,2017,10116],"time":1720397670000,"hash":"eee71eb596cc16a86fd621af69693fb8ca7caf89","title":"test262/runner: update hacks"},{"results":[27.84,47471,13217,3975,17155,409,596,2001,10118],"time":1720395144000,"hash":"2d89c3da1c9c9c2c2385108e7099f25c2b528a02","title":"test262: more harness, async test support"},{"results":[27.53,47471,13069,3895,18974,325,596,499,10113],"time":1720391231000,"hash":"8f76958a1b653c47c95a2c94f24baaf2e59ad844","title":"compiler: move call idx encoding to assembler"},{"results":[27.53,47471,13069,3895,18946,339,596,524,10102],"time":1720384593000,"hash":"6f133a95713fa5206cd57260bd5e0a408073b992","title":"object: rewrite object exprs to support get and set kinds"},{"results":[27.31,47471,12966,3850,18757,343,482,519,10554],"time":1720380429000,"hash":"481ea677b17cd607a0a910d566f574ca5048910d","title":"builtins/arraybuffer: use ToIntegerOrInfinity"},{"results":[27.31,47471,12965,3851,18785,343,482,491,10554],"time":1720357263000,"hash":"89d2e7ab20c7491c1fb4f41b1df4af9636bc1726","title":"codegen: very basic async funcs"},{"results":[27.3,47471,12960,3846,19278,331,482,485,10089],"time":1720317780000,"hash":"853504c4fda41b882697c134351392326289c767","title":"builtins/promise: impl Promise.all, Promise.allSettled"},{"results":[27.28,47471,12950,3841,19258,313,482,526,10101],"time":1720308009000,"hash":"7dda1b99cddc11aeb272f994bf0c144e0c8ef192","title":"builtins/promise: impl Promise.resolve, Promise.reject"},{"results":[27.26,47471,12940,3838,19313,313,482,506,10079],"time":1720305243000,"hash":"6beb1db27efa6eadbb9743b583fee76954fcc53e","title":"builtins/promise: impl finally"},{"results":[27.25,47471,12936,3839,19332,313,482,490,10079],"time":1720302211000,"hash":"b9b6ced5821692322729c0fd6d7d649bd09d1cc0","title":"builtins/promise: impl catch"},{"results":[27.24,47471,12931,3840,19353,313,482,473,10079],"time":1720300078000,"hash":"be4188965cf8df550ac06a7aee1e17d1b1ba6e93","title":"test262: update clone"},{"results":[25.8,49471,12762,3835,21086,330,391,476,10591],"time":1720298935000,"hash":"7a04b0ffa4d3c991b0a8cff122eb6300da16837b","title":"builtins/promise: begin promise"},{"results":[25.74,49471,12735,3803,21166,330,311,502,10624],"time":1720283729000,"hash":"82f482625cc57adb658936b854928bd39b1acce1","title":"codegen: fix nullish for empty type"},{"results":[25.74,49471,12734,3803,21173,330,311,496,10624],"time":1720042322000,"hash":"7c33eaa1f46ee44b521ba06214ee6b0a9de6aff8","title":"codegen: fix for..in using non-enumerables"},{"results":[25.62,49471,12672,3859,21124,330,311,550,10625],"time":1720041044000,"hash":"8c9f27f3b97e5a0c2fc8349c71e87a7bf4f5bd4b","title":"builtins_objects: globalThis"},{"results":[25.55,49471,12641,3855,21366,344,311,330,10624],"time":1720038251000,"hash":"eac9fffc75c81be5e0d1d8caba90fe3e3133ddba","title":"builtins_objects: rewrite"},{"results":[25.54,49471,12633,3940,21238,344,311,377,10628],"time":1720036666000,"hash":"21f2cfa853aca5ea20f0cb6ffecf089c31c84247","title":"builtins: fix ** ops"},{"results":[25.54,49471,12636,3958,21257,347,311,335,10627],"time":1720036199000,"hash":"0239e1a77b2f14a1714a49bb5a4858e9dde5c5db","title":"test262/harness: fix verifyProperty undefined desc"},{"results":[25.54,49471,12637,3957,21295,347,311,297,10627],"time":1719969194000,"hash":"11df11480e9b25dc4bf7d1c1027e7d176f9cea74","title":"codegen: fix new.target value for indirect calls"},{"results":[25.54,49471,12633,3939,21219,347,311,395,10627],"time":1719966159000,"hash":"6750e4360ef8f427640a6c08c8d637963d2d13ec","title":"various: simplify constructor args, fix accessors"},{"results":[25.15,49471,12442,3918,21408,339,312,431,10621],"time":1719963379000,"hash":"60c96e269e39b607c66db41e8b0e351c96c861ca","title":"codegen: return this for returns in constructors"},{"results":[25.14,49471,12439,3913,21381,339,312,466,10621],"time":1719961867000,"hash":"23fce2c01a7412cd8f1c58be46b71659b35503ab","title":"test262: bump timeout to 3s to avoid flakes"},{"results":[25.15,49471,12440,3918,21259,339,312,582,10621],"time":1719960719000,"hash":"6506c3370f063d22cf224971f3cb7599a78186bb","title":"codegen: make DEFAULT_VALUE a function to avoid ast cache"},{"results":[25.14,49471,12435,3902,21313,339,312,549,10621],"time":1719957922000,"hash":"71b7d68e1c614daa6ce3db941c626928a07e5d3c","title":"assemble: remove this/new_target call_indirect hacks"},{"results":[25.14,49471,12439,3913,21264,339,312,583,10621],"time":1719956510000,"hash":"f87197e7293fba22940230a74f187fb63dd342a3","title":"chore: document test262 diff from PRs"},{"results":[25,49471,12366,3617,21058,432,311,569,11118],"time":1719951689000,"hash":"12c74dc58d0bdf1a2d59e90a26ab85476d2eab28","title":"builtins/object: more compliant toString and more"},{"results":[25.01,49471,12373,3633,21035,432,311,569,11118],"time":1719949139000,"hash":"fd9a8ac8145502078a3f4fb9cd0d9b3b54346735","title":"builtins/array: use ToIntegerOrInfinity, fixup indexOf and more"},{"results":[25.01,49471,12372,3650,21023,431,311,565,11119],"time":1719942656000,"hash":"15e826c7ea9439cc0eb420d4ae0e448fe14a3ad1","title":"builtins/arraybuffer: spec compliant constructor"},{"results":[25,49471,12366,3633,21049,431,311,562,11119],"time":1719874823000,"hash":"0e523ba94af0db195ca5069b587ce8ed8d9d4488","title":"builtins/number: impl parseFloat"},{"results":[24.93,49471,12334,3636,21075,431,311,565,11119],"time":1719873508000,"hash":"f8773586334d575d2e7edc0407ecc6cbaa9fc220","title":"builtins/number: trim parseInt input"},{"results":[24.91,49471,12321,3628,21093,431,311,568,11119],"time":1719873083000,"hash":"da32bdd8a9ac94eba696dedc549cda6900d407de","title":"builtins/stringtonumber: actually do the thing"},{"results":[24.88,49471,12306,3645,21089,431,311,570,11119],"time":1719870520000,"hash":"1122c6e04e6caec5a62d0c4e89da25b6f38f8cfb","title":"builtins/number: new Number"},{"results":[24.82,49471,12278,3684,21075,431,311,574,11118],"time":1719870064000,"hash":"9b343fda6f8ef0321117e0024dab39decf5d837c","title":"builtins/ecma262: begin proper ToNumber"},{"results":[24.81,49471,12274,3676,21086,431,311,575,11118],"time":1719868884000,"hash":"27495589f2d550d81322b943a4024b944d698bc9","title":"test262: bump timeout"},{"results":[24.82,49471,12279,3694,21014,431,311,624,11118],"time":1719864591000,"hash":"5bac36cb3e9ef080665f6decefffaca96a2e1c4a","title":"builtins/number: simplify parseInt"},{"results":[24.82,49471,12279,3694,20997,431,311,641,11118],"time":1719863710000,"hash":"b13825d0ad2133edb4abe68c2d04218da939638d","title":"builtins/number: use ToString on input for parseInt"},{"results":[24.81,49471,12272,3676,21017,431,311,646,11118],"time":1719862522000,"hash":"b240112a0dd70d0e4a6b4c1c956fb042067f3268","title":"builtins/number: use ToIntegerOrInfinity for parseInt"},{"results":[24.8,49471,12271,3677,21014,431,311,649,11118],"time":1719857869000,"hash":"2cdce78112c7fd74ca8733525b39615b4a98d7b8","title":"builtins/object: retain desc attrs in defineProperty"},{"results":[24.72,49471,12231,3740,20991,431,311,650,11117],"time":1719856228000,"hash":"c7b46944852fb1ea1aedb242be814b730efa2a4f","title":"codegen: passive data for static alloc"},{"results":[24.68,49471,12211,3724,21034,431,311,644,11116],"time":1719848438000,"hash":"748ebf75cbbe84f6a40de21a901f9ea4005ddf74","title":"builtins_objects: add automatic prototype objects"},{"results":[24.51,49471,12125,3522,21414,431,311,618,11050],"time":1719844034000,"hash":"29cedf70ec89b59e7b6bf651db4a806454673caa","title":"codegen: fix reading/setting property of undefined not throwing"},{"results":[24.61,49471,12176,3920,20889,431,311,635,11109],"time":1719843570000,"hash":"37527aa9cec51cbb15f1405a71ce3b8b04b5c6f1","title":"builtins_objects: add Reflect, clean up"},{"results":[24.59,49471,12167,3915,20899,431,311,639,11109],"time":1719793004000,"hash":"96ef67ec54a7f9f5ec078a56b7ab7f491d2578f2","title":"various: rewrite name, length props for functions"},{"results":[23.63,49471,11692,4517,20794,431,311,618,11108],"time":1719789576000,"hash":"697ec03d3e6d72490c6c6b1e3fb512f7f200cc59","title":"codegen: make non-throwing defaults for member get/set"},{"results":[23.32,49471,11537,3940,21604,432,311,609,11038],"time":1719788174000,"hash":"725d97da45ea2375a00a5b19fd20ea6b0fef6b14","title":"codegen: use dynamic allocation for forof strings"},{"results":[23.32,49471,11537,3940,21604,432,311,609,11038],"time":1719787944000,"hash":"53af7eeab679c41dab446ba3bebc83f9c7f53434","title":"codegen: use dynamic allocation for string member"},{"results":[23.26,49471,11509,3971,21616,432,311,594,11038],"time":1719784355000,"hash":"c52e163e90fec8fa3777f89943c26afdc9499dbe","title":"test262/harness: impl propertyHelper.js"},{"results":[22.96,49471,11358,3159,22636,419,311,591,10997],"time":1719783683000,"hash":"eb3fcee1fa0cebe9311e16635d39ef76b38eac12","title":"codegen: generate member asts before typeSwitch"},{"results":[22.94,49471,11351,3153,22657,419,311,584,10996],"time":1719769874000,"hash":"f3b766a2958417576fa02aef52419d96745e438d","title":"compiler/builtins_objects: initial add"},{"results":[22.91,49471,11333,3124,22697,419,311,591,10996],"time":1719750356000,"hash":"72beaa0ba5568cc195ff54ae72dc2a2acb39e115","title":"object: fix missing get/set breaking for accessors"},{"results":[22.84,49471,11301,3138,22690,419,311,616,10996],"time":1719746764000,"hash":"2feb87fb29c52c69080bad1fc0c6ea70633b91ef","title":"object: impl accessors"},{"results":[22.66,49471,11209,3264,22713,417,311,575,10982],"time":1719701221000,"hash":"cb45b5a3f4d5f782c7a162579e1313a74cefbad9","title":"builtins/reflect: impl most of the rest"},{"results":[22.64,49471,11198,3228,22762,417,311,573,10982],"time":1719697379000,"hash":"a84aee9d46f65350c0c7849e0e86a5e45f23ff19","title":"assemble: add final wasm transform layer for nits"},{"results":[22.63,49471,11197,3228,22740,423,311,592,10980],"time":1719690806000,"hash":"f1345ce46dfb09376218468dcd69b539e62e108b","title":"assemble: fix malformed wasm from export func >128"},{"results":[22.63,49471,11196,3224,22754,423,311,583,10980],"time":1719690502000,"hash":"f3f98abce30d85ba8bf8662b3913c7f78a60fa53","title":"codegen: todo for unsupported exports"},{"results":[22.63,49471,11196,3224,22745,423,354,582,10947],"time":1719689891000,"hash":"856d0abe55e655179d8865e26d596ec1488df747","title":"codegen: fix hasFuncWithName"},{"results":[22.69,49471,11226,3195,22720,413,489,564,10864],"time":1719688022000,"hash":"5ffe93dd1866298de346a326b953fbf7ea64c7d2","title":"codegen: delete for objects"},{"results":[22.53,49471,11146,3250,22750,416,489,583,10837],"time":1719662201000,"hash":"379017f814bb132cad2373965110a1a67d6264c5","title":"builtins/reflect: impl has"},{"results":[22.53,49471,11144,3245,22757,416,489,583,10837],"time":1719534182000,"hash":"9d358df7b608ead210480a461aa30fa02aa9a3d3","title":"builtins/reflect: impl get"},{"results":[22.52,49471,11143,3237,22770,416,489,579,10837],"time":1719484384000,"hash":"61b8924070d8aec2d28b61b7283a315c943edd38","title":"codegen: opt known return type of multiple proto funcs same returnType"},{"results":[22.52,49471,11143,3237,22766,416,489,583,10837],"time":1719483897000,"hash":"e5a346bff1d2c2c2270f38e0751cd5bfb7eb80a3","title":"codegen: basic in operator"},{"results":[22.52,49471,11140,3322,22762,431,489,583,10744],"time":1719483084000,"hash":"2c916bdbb04d4696d1e20dedaadaa1fc33340121","title":"builtins/object: impl getOwnPropertySymbols"},{"results":[22.51,49471,11134,3324,22766,431,489,583,10744],"time":1719481915000,"hash":"c041607f4d38ee95a4f7307cd8e0461f1359aa35","title":"compiler: support symbols for object props"},{"results":[22.5,49471,11131,3327,22772,431,489,577,10744],"time":1719442545000,"hash":"dcb0c5aba0c12045bd0bd00a914a3ca20b939ee9","title":"builtins/object: basic groupBy"},{"results":[22.5,49471,11132,3325,22774,431,489,576,10744],"time":1719441550000,"hash":"7da4dd86df47e5acfa38e02d4da3e7599be4d1ff","title":"builtins/object: impl getOwnPropertyNames"},{"results":[22.46,49471,11112,3319,22807,431,489,570,10743],"time":1719441179000,"hash":"10208bd2a1fff87b313b3c9a5502939d9d3cb70a","title":"builtins/object: impl getOwnPropertyDescriptors"},{"results":[22.45,49471,11107,3319,22804,431,489,578,10743],"time":1719439753000,"hash":"1c47b5168d26833a88088dd753c350388b2ac192","title":"builtins/object: exit early for non-pure-objects in getOwnPropDesc"},{"results":[22.45,49471,11106,3321,22806,431,489,575,10743],"time":1719438762000,"hash":"c8d9bc956f46dbb0eb44113a68f9801b8ec9b4b1","title":"builtins/object: impl getOwnPropertyDescriptor"},{"results":[22.22,49471,10990,3231,23197,418,489,576,10570],"time":1719427027000,"hash":"0067e5f89b0d4045c0750df52ff1f9871de70cce","title":"builtins/object: impl seal, isSealed"},{"results":[22.09,49471,10926,3216,23283,418,489,571,10568],"time":1719419173000,"hash":"de7cfa144689f81f7c9eb36f8d8b5e683ece60b0","title":"builtins/object: impl freeze, isFrozen"},{"results":[21.98,49471,10875,3206,23332,418,489,584,10567],"time":1719396097000,"hash":"f75bc407a341ce7fdde1a7f4c9b3dddbc2705c46","title":"builtins/object: impl extensibility methods"},{"results":[21.89,49471,10828,3183,23410,414,489,583,10564],"time":1719359497000,"hash":"5f1f820256fa79bad0ba8d3ae6682d8c264b7149","title":"builtins/object: basic Object.create"},{"results":[21.68,49471,10724,3124,23578,414,489,585,10557],"time":1719357923000,"hash":"33b232695d0139899a76feabf698862de291615f","title":"builtins/object: impl Object.is"},{"results":[21.65,49471,10708,3125,23594,414,489,583,10558],"time":1719346843000,"hash":"a9af1540093c1ab6953529f4e32fa1b634fe8150","title":"builtins/object: better getter/setter type checks for defineProperty"},{"results":[21.6,49471,10685,3147,23594,414,489,584,10558],"time":1719344131000,"hash":"a5a9d2945011f2315432040e01b23dcc0c9e6fa4","title":"builtins/object: fix descriptor type check for defineProperty"},{"results":[21.59,49471,10680,3137,23610,414,489,583,10558],"time":1719343485000,"hash":"24a519f33e08aed26da2edf7349652930f2f4462","title":"builtins/object: impl Object.defineProperties"},{"results":[21.56,49471,10665,3034,23735,406,489,583,10559],"time":1719323753000,"hash":"887e643a046987967466106169e9ec4235074316","title":"codegen: impl for..in"},{"results":[21.47,49471,10619,2990,23707,404,489,583,10679],"time":1719284010000,"hash":"f1558dde1c23a0c1f12687e432b0e870322d6fab","title":"builtins/object: impl #propertyIsEnumerable"},{"results":[21.46,49471,10616,2989,23710,404,489,584,10679],"time":1719282958000,"hash":"d1cfb381bd20d28ec217aa3018977b382f75cb68","title":"builtins/object: new check methods"},{"results":[21.47,49471,10619,2984,23713,404,489,583,10679],"time":1719281032000,"hash":"fae6ebce14327f90502bd812c5109cf2e2dba174","title":"builtins/object: impl Object.defineProperty"},{"results":[20.9,49471,10339,2611,24808,376,489,524,10324],"time":1719280112000,"hash":"4bff002fd9e79b8aa3dc9ef68381d6d30e71217e","title":"codegen: use name for object property generation"},{"results":[20.85,49471,10317,2554,24889,376,489,523,10323],"time":1719262075000,"hash":"17d704a6f0b10ffd0f259de0081b07bebfe92c1f","title":"builtins/object: respect enumerable flag for keys/values"},{"results":[20.85,49471,10317,2554,24889,376,489,523,10323],"time":1719192112000,"hash":"65ba7712f6bd7baeefaadd0f554b0aad008cafcb","title":"various: object overhaul + more"},{"results":[20.8,49471,10288,2521,24960,370,489,525,10318],"time":1719172218000,"hash":"f21c052b82231f1217b886dfb2678639664bc366","title":"codegen: cache generating individual ast nodes"},{"results":[20.79,49471,10287,2523,24949,379,489,527,10317],"time":1719004711000,"hash":"d866b28307978bc769594f0f4cb048fa765a1a87","title":"builtins/object: impl Object.fromEntries"},{"results":[20.78,49471,10280,2524,24953,379,489,528,10318],"time":1718995522000,"hash":"962f72a13aa7b037cff7ef3276a234e2cff5c3fc","title":"types: move around main types"},{"results":[20.78,49471,10278,2526,24952,379,489,529,10318],"time":1718986099000,"hash":"aa60d63525d294e9618bf62b535c3462415c4436","title":"codegen: fix for..of for empty iterators"},{"results":[20.74,49471,10258,2517,24982,379,489,528,10318],"time":1718982145000,"hash":"0d41b0d441d1e3f74e5b5a463cef8395382d4076","title":"builtins/object: impl Object.assign"},{"results":[20.73,49471,10254,2518,24986,379,489,531,10314],"time":1718933303000,"hash":"68c8b2e1bdbc2bbea72fb9913d301e7f90d4d864","title":"builtins/object: throw in keys, values for nullish args"},{"results":[20.72,49471,10250,2523,24986,379,489,526,10318],"time":1718932573000,"hash":"dc4d6b913c1aae95ffc41a19323172e7b9f9406c","title":"codegen: optimize == null|undefined"},{"results":[20.71,49471,10246,2527,24986,379,489,526,10318],"time":1718931613000,"hash":"949ef5c61aa8673f9108f63647e91fef2068eb44","title":"codegen: fix missing drops in nullish"},{"results":[20.71,49471,10243,2527,24986,380,489,528,10318],"time":1718929824000,"hash":"53ef7baa92c29b22559604256cfdd73711dce424","title":"builtins/object: impl Object.hasOwn"},{"results":[20.7,49471,10242,2522,24992,380,489,528,10318],"time":1718928466000,"hash":"e278ebc43dcdbbdccae235cbd20d39c7d45f1fba","title":"builtins/object: impl #hasOwnProperty"},{"results":[20.66,49471,10220,2512,25026,380,489,526,10318],"time":1718926580000,"hash":"595fef91a929bfc4e35cc4318c724226d53e06c5","title":"builtins/object: impl #valueOf"},{"results":[20.66,49471,10219,2515,25023,380,489,527,10318],"time":1718926102000,"hash":"e4783ba85a0a79879414ab165d3d1f05166b6aaa","title":"builtins/object: impl Object.entries"},{"results":[20.64,49471,10213,2512,25033,380,489,526,10318],"time":1718923976000,"hash":"d9b6af8b82d5b6c65032ca7f4f8bdac6901273ef","title":"builtins/map: fix keys, values"},{"results":[20.64,49471,10213,2512,25033,380,489,526,10318],"time":1718921495000,"hash":"972d3de0963fa6a9047153ef8fd73f1a9bafa216","title":"builtins/object: impl Object.keys"},{"results":[20.62,49471,10201,2511,25046,380,489,528,10316],"time":1718920935000,"hash":"b96e8c9d71a8733c8c3959063e8c5283697c7fa8","title":"codegen: use ToPropertyKey for object access"},{"results":[20.53,49471,10156,2502,24405,375,489,526,11018],"time":1718920233000,"hash":"fc83543e6ccdc26e2cf8ded78d0d51eccd2d64d5","title":"assemble: fix element section for >128 funcs"},{"results":[20.51,49471,10148,2489,24225,616,489,526,10978],"time":1718903588000,"hash":"f2ea154d4912290134ea49a5ef09648001ebb535","title":"assemble: fix bad table size for >128 funcs"},{"results":[20.51,49471,10146,2489,24219,641,489,525,10962],"time":1718901604000,"hash":"c32f7d50205bd78b372e46c21434883d6a54c83a","title":"builtins/symbol: add keyFor and cleanup"},{"results":[20.51,49471,10145,2492,24225,616,489,526,10978],"time":1718838582000,"hash":"4d06d60473f30b793cc84a0f1be4f87cf1afc0a4","title":"builtins/symbol: rewrite"},{"results":[20.5,49471,10142,2504,24278,539,489,523,10996],"time":1718831355000,"hash":"2c7ae3dd79d9bbf434a2aab5f663897770962d91","title":"codegen: fix type for UpdateExpression"},{"results":[20.49,49471,10138,2508,24278,539,489,523,10996],"time":1718829481000,"hash":"c7616d692de19f38c4a7d4575be964fc766b2e19","title":"codegen: new setLocalWithType util"},{"results":[20.49,49471,10136,2510,24278,539,489,523,10996],"time":1718814723000,"hash":"904450d10469fb5d71636925c9f4725e47adc2d9","title":"codegen: use name args for assign with logic op"},{"results":[20.49,49471,10136,2510,24278,539,489,523,10996],"time":1718802455000,"hash":"e1b7f149e67de3004e7dfc026fe9b01001d67099","title":"builtins/console: overhaul"},{"results":[20.49,49471,10136,2506,24278,547,489,523,10992],"time":1718798003000,"hash":"0e505707a4c57903bb988a2fb21e85079ef5bda4","title":"builtins/map: impl toString"},{"results":[20.49,49471,10135,2510,24279,542,489,524,10992],"time":1718797014000,"hash":"e577aecb31a8f2896c2addab9108805f01cd824e","title":"codegen: never do object hack for length, name"},{"results":[20.48,49471,10130,2573,24222,542,489,523,10992],"time":1718755287000,"hash":"554fc1c65a34dc9939a3c70f0003de81eb2f11d9","title":"builtins/symbol: Symbol.for"},{"results":[20.47,49471,10125,2568,24233,541,489,523,10992],"time":1718729823000,"hash":"f45631653d86b1e48535c47d91a90b699426dc54","title":"test262/runner: bump timeout to 1s and track files"},{"results":[20.46,49471,10124,2568,24233,541,489,524,10992],"time":1718717987000,"hash":"dcc39b075ec0b759d419d7b7aa11843dfb411ac6","title":"codegen: optional chaining"},{"results":[20.44,49471,10112,2568,24744,384,813,195,10655],"time":1718708433000,"hash":"f0d253fc366ce7e0953e90234fc41aad77136a8e","title":"codegen: use hasOwn in more places"},{"results":[20.45,49471,10116,2570,24729,383,825,195,10653],"time":1718703218000,"hash":"8c351bb3c354707d1471f10f9cb9c42381ef3bb7","title":"codegen: use hasOwn in generateCall"},{"results":[20.45,49471,10116,2570,24669,419,848,196,10653],"time":1718702289000,"hash":"6b191bd0e1d0e47fde6e9ceb65323b66f6dfcd8f","title":"codegen: use hasOwn in getNodeType calls"},{"results":[20.45,49471,10117,2570,24669,419,848,195,10653],"time":1718701325000,"hash":"91a9bc8dab383aebd5101f3d9cd4714b2b033de9","title":"codegen: use hasOwn for getType"},{"results":[20.44,49471,10111,2562,24425,419,1107,196,10651],"time":1718699805000,"hash":"d8707ddd7af078d13c4cd297a663d9f51265f492","title":"codegen: use hasOwn for hasFuncWithName"},{"results":[20.38,49471,10083,2586,24467,419,981,199,10736],"time":1718699068000,"hash":"a30d56ccf1be216b8eababad9012c20463bfe855","title":"codegen: use hasOwn for length getter"},{"results":[20.38,49471,10082,2586,24444,419,1011,200,10729],"time":1718696931000,"hash":"efaa807fabcc85675d5a917193ad452122cd4f7a","title":"test262: update clone"},{"results":[20.18,50032,10094,2588,24910,436,1011,198,10795],"time":1718655278000,"hash":"9a11318c4ba12e4b102d6dbeaefe37fc124ec266","title":"codegen: remove object shorthand restriction"},{"results":[20.15,50032,10082,2587,24883,436,1010,199,10835],"time":1718653452000,"hash":"a716db93ab3e549a77947c4fb151b954a7458adb","title":"codegen: remove object method restriction"},{"results":[19.92,50032,9966,2480,24256,428,1007,76,11819],"time":1718651553000,"hash":"d2baa4209e27cf30139af762c7b6c1eb248a29b4","title":"codegen: remove object key ast type restriction"},{"results":[19.92,50032,9964,2459,24247,427,1007,77,11851],"time":1718650698000,"hash":"b9ddb485c09183c59c96b98e9e53b2eb6aeea5a6","title":"codegen: cleanup includeBuiltin"},{"results":[19.91,50032,9963,2459,24247,427,1007,78,11851],"time":1718579783000,"hash":"a777a76758042ef6063c904b3a08f9deff24d194","title":"various: OBJECTS, and more"},{"results":[19.29,50032,9651,3030,19039,498,425,7,17382],"time":1718493503000,"hash":"9f50efe135fefe06bb1af6bd193e77b04cf5246b","title":"builtins/map: optimize common methods"},{"results":[19.29,50032,9651,3030,19039,498,425,7,17382],"time":1718489975000,"hash":"af99369b2bd05a800e7d8bb201528faacf281e19","title":"builtins/map: fix delete splice being borked"},{"results":[19.29,50032,9651,3030,19039,498,425,7,17382],"time":1718489629000,"hash":"a801fb1be2b12d0dcf837f6aae28193e5779b1a8","title":"builtins/map: fix has"},{"results":[19.28,50032,9645,3037,19038,498,425,7,17382],"time":1718485177000,"hash":"6357b5f8ab03027ccf7731e0ba83248cc757f589","title":"compiler/types: add new empty type as 0x00"},{"results":[19.21,50032,9610,3065,19048,498,425,6,17380],"time":1718468772000,"hash":"74d24adc2df6161246e2e9440b6220f370bb60f9","title":"builtins/weakset: fix iterable check, move to last"},{"results":[19.21,50032,9610,3065,19048,498,425,6,17380],"time":1718468495000,"hash":"ce0117cefea429da4c03ecd263cfb30dda335d23","title":"builtins/weakmap: initial add"},{"results":[19.18,50032,9598,3065,19065,493,425,6,17380],"time":1718464761000,"hash":"7a4e5e23e02b13ba034260754a41c94dc7b7383e","title":"builtins/weakset: simplify"},{"results":[19.18,50032,9598,3065,19065,493,425,6,17380],"time":1718407278000,"hash":"0fed13f0e560912d9ead8a9f57a4dc20f05e536f","title":"builtins/set: fix null as iterable constructor arg"},{"results":[19.18,50032,9598,3065,19065,493,425,6,17380],"time":1718406853000,"hash":"149989c8f0c1cc0e6b2319ab40b83aac1ceef629","title":"builtins/map: impl iterable arg in constructor"},{"results":[19.18,50032,9594,3075,19065,488,425,6,17379],"time":1718402747000,"hash":"80c8a64e481fbfda8d4896d55aca042c5feb2714","title":"builtins/map: impl keys, values"},{"results":[19.17,50032,9592,3079,19063,488,425,6,17379],"time":1718402445000,"hash":"87f761afb7852db5c7e132f6e3ad5464ade51497","title":"builtins/set: impl forEach"},{"results":[19.16,50032,9585,3081,19071,487,425,6,17377],"time":1718401990000,"hash":"b552a06107172d214fe0a18570e2f79830750319","title":"builtins/map: fix delete"},{"results":[19.15,50032,9583,3081,19073,487,425,6,17377],"time":1718401692000,"hash":"e25b1dd9c44714d613dea8d4b06021c7205d8101","title":"builtins/map: initial add"},{"results":[19.11,50032,9559,3068,19121,486,425,6,17367],"time":1718396404000,"hash":"23594c24b8ab525c159c309682641344e65cf67a","title":"encoding: optimize ieee754_binary64"},{"results":[19.11,50032,9559,3068,19121,486,425,6,17367],"time":1718391612000,"hash":"e7c4ae034b3c5001b46b81e7231458f52e0530e1","title":"builtins/dataview: impl float32 methods"},{"results":[19.08,50032,9548,3064,19136,486,425,6,17367],"time":1718371783000,"hash":"dbea5f72c64dfd5597369f18293c2eb98b4252a0","title":"builtins/dataview: rewrite int internals for BE"},{"results":[19.08,50032,9548,3064,19136,486,425,6,17367],"time":1718323959000,"hash":"93b2713ea8fff8e43479ed13ed18ea1f1c5d6102","title":"codegen: impl switch"},{"results":[18.98,50032,9498,2994,19132,486,425,6,17491],"time":1718320187000,"hash":"0c77b0ee34deb0de7df474bd5ccb1fffdeced458","title":"builtins/string: impl toWellFormed"},{"results":[18.98,50032,9495,2998,19131,486,425,6,17491],"time":1718318710000,"hash":"87967961bd084899f0775b6a56ebc7029c954f2f","title":"builtins/string: basic localeCompare"},{"results":[18.97,50032,9489,3000,19133,487,425,6,17492],"time":1718317665000,"hash":"6d7ebfc7a0a71f6bf898a78376d38ad6600f8ef1","title":"builtins/set: impl rest of set methods proposal"},{"results":[18.94,50032,9474,3029,19119,487,425,6,17492],"time":1718316415000,"hash":"1d8b008d180964b7b899613955525b19f818ede3","title":"builtins/annexb_string: impl arg methods"},{"results":[18.93,50032,9470,3029,19119,487,425,6,17496],"time":1718314918000,"hash":"35b2af7deba03a6703e420595d727a2d350dde6a","title":"test262/runner: bump timeout to 1000ms"},{"results":[18.93,50032,9470,3029,19119,487,425,6,17496],"time":1718314308000,"hash":"6548117f4e52fd78d1cc238dcb8f63941483d1c9","title":"builtins/string: impl codePointAt"},{"results":[18.92,50032,9466,3028,19118,487,425,6,17502],"time":1718311904000,"hash":"9b16fca937f80b918ae947bfc6669292b9085af5","title":"builtins/string: stub locale case to regular variants"},{"results":[18.91,50032,9460,3015,19112,488,425,6,17526],"time":1718311307000,"hash":"5349f1bc0d6cce23def41c608b4ac7ed8de8ce9b","title":"builtins/string: impl split"},{"results":[18.9,50032,9458,3015,19107,490,425,6,17531],"time":1718306599000,"hash":"9e0b2ac59c75d59a5c5b291792a94b3450662fc1","title":"builtins/string: impl repeat"},{"results":[18.9,50032,9456,3013,19107,490,425,6,17535],"time":1718305374000,"hash":"5e3f817d1e56d7e6c9bed5770fc5959292f67738","title":"builtins/string: impl concat"},{"results":[18.88,50032,9448,3015,19114,489,425,6,17535],"time":1718236750000,"hash":"599964d76bb428681e4c6f250a2410a0144621f6","title":"test262: update clone"},{"results":[18.89,50032,9449,3014,19114,489,425,6,17535],"time":1718236238000,"hash":"c0533828512d7d4f0a0a57075a55ac45b568b9b8","title":"builtins/weakref: impl toString"},{"results":[18.89,50032,9449,3014,19114,489,425,6,17535],"time":1718236131000,"hash":"7d9062bb69d3988c07bb3d40e09c60147770021a","title":"builtins/weakset: initial add"},{"results":[18.85,50032,9432,3018,19132,483,425,7,17535],"time":1718235423000,"hash":"2b3d0c22fc244567f6744c76a89af0de9f286630","title":"builtins/weakref: add target type check"},{"results":[18.86,50032,9435,3017,19131,483,425,6,17535],"time":1718234849000,"hash":"5cba530620cdc796c17ef0270ae005e237905d1c","title":"builtins/weakref: initial add"},{"results":[18.84,50032,9428,3022,19133,483,425,6,17535],"time":1718230655000,"hash":"84dd645688c7c69a5d605d7668217431c3ac9069","title":"builtins/array: impl unshift"},{"results":[18.84,50032,9426,3022,19134,483,425,7,17535],"time":1718228872000,"hash":"a9fd81a0d098043dcce0a5688d9bfbe188bfd2e3","title":"builtins/array: rewrite push as ts"},{"results":[18.84,50032,9427,3022,19134,483,425,6,17535],"time":1718227849000,"hash":"f7dd00d1d3d2da71adf30747bdf122fb971a8520","title":"builtins/array: impl flatMap"},{"results":[18.84,50032,9425,3029,19124,484,425,6,17539],"time":1718226739000,"hash":"0b9a7bf0069b1c3845e5b6e05ed63d57f14e2367","title":"builtins/array: impl toSpliced"},{"results":[18.82,50032,9414,3028,19127,484,425,7,17547],"time":1718225195000,"hash":"a77816523c80092af382be6f1469d1033e08ff93","title":"builtins/array: impl flat"},{"results":[18.81,50032,9411,3029,19126,484,425,7,17550],"time":1718218468000,"hash":"ea366f0154be4aeaa2009392ebe85206fa7a1433","title":"builtins/dataview: impl rest of int methods"},{"results":[18.71,50032,9363,3021,19182,484,425,7,17550],"time":1718204348000,"hash":"2102b127612321ce021be40aa7cad923fdbceca0","title":"builtins/dataview: initial add"},{"results":[18.47,50032,9240,2986,19423,484,425,6,17468],"time":1718196814000,"hash":"c571823a5f166878c1e7c5095ca5fa4fcfdacc74","title":"builtins/typedarray: rewrite arraybuffer arg handling"},{"results":[18.47,50032,9240,2986,19423,484,425,6,17468],"time":1718149610000,"hash":"98051ea58e2bbefa79cc189f18f27744b547b72c","title":"builtins/typedarray: impl TypedArray.of"},{"results":[18.47,50032,9239,2986,19423,484,425,7,17468],"time":1718149108000,"hash":"47b3eafa7258081325980b12f3a969c2604565a9","title":"builtins/typedarray: impl TypedArray.of"},{"results":[18.47,50032,9241,2981,19434,483,425,6,17462],"time":1718147083000,"hash":"20edacc890665e87430452534e3ac357c3a9570c","title":"compiler: basic SharedArrayBuffer"},{"results":[18.36,50032,9187,2959,19534,483,425,6,17438],"time":1718143222000,"hash":"0dbfbf08409fc5beca93bf6ce5b1676541e62fd3","title":"builtins/arraybuffer: stub resize"},{"results":[18.35,50032,9180,3017,19486,483,425,7,17434],"time":1718142611000,"hash":"c6fec65f1881dee76bdea2a9fb6c418b24558e12","title":"builtins/arraybuffer: impl transferToFixedLength"},{"results":[18.32,50032,9166,3020,19497,483,425,7,17434],"time":1718142100000,"hash":"8fee092624289d5d7ba80463ce7110a8c19ef507","title":"builtins/arraybuffer: add detached checks"},{"results":[18.31,50032,9159,3028,19497,483,425,6,17434],"time":1718140632000,"hash":"edd11eecf4b0246881ab13b15f67c5441c201e5a","title":"builtins/arraybuffer: impl detached, transfer"},{"results":[18.3,50032,9156,3019,19508,483,425,7,17434],"time":1718127818000,"hash":"35a9a9c6007859a64041cbf154da51ef6e007a58","title":"builtins/arraybuffer: basic maxByteLength getter"},{"results":[18.3,50032,9157,3019,19508,483,425,6,17434],"time":1718127360000,"hash":"a26ef143b4d6b74d980d5093d04a30c2ca80f514","title":"builtins/arraybuffer: stub detached and resizable getters"},{"results":[18.3,50032,9157,3019,19508,483,425,6,17434],"time":1718124927000,"hash":"ec2bf70b0fd1aaaa63d7d5da11b68f2466ffc7c5","title":"builtins/typedarray: impl byteOffset getter"},{"results":[18.3,50032,9156,3022,19506,483,425,6,17434],"time":1718119513000,"hash":"8a4e5fdc327931650321ffc85ddbc224691291a5","title":"builtins/arraybuffer: impl slice"},{"results":[18.29,50032,9149,3018,19516,483,425,7,17434],"time":1718063437000,"hash":"5d1e11df361cbd48a6e7a9454602c214e825530d","title":"builtins/arraybuffer: impl isView"},{"results":[18.27,50032,9141,3019,19524,483,425,6,17434],"time":1718062428000,"hash":"c4c7b338450c6043e8ecab02aa6048550508254b","title":"builtins/typedarray: ArrayBuffer rewrite"},{"results":[18.2,50032,9104,2984,19629,478,425,7,17405],"time":1718036571000,"hash":"612823e6b1282de4ddc54fad1a5b94fc4ce7549e","title":"builtins/array: impl toSorted"},{"results":[18.19,50032,9103,2986,19629,478,425,6,17405],"time":1718028625000,"hash":"2bb4f51cec9da5dc2f7378499ff2a621ad4e73fd","title":"precompile: rewrite output to be more compact"},{"results":[18.19,50032,9103,2986,19629,478,425,6,17405],"time":1717951159000,"hash":"453d0a4b0b0d33cb9a8ace20ef9f0109f89e41ef","title":"builtins/various: impl toLocaleString"},{"results":[18.19,50032,9099,2987,19635,475,424,6,17406],"time":1717950468000,"hash":"12df8d129eb27447b9bb9e3e0a3edd4f9dcbf77b","title":"builtins/number: Number.parseInt, merge parseInt into number.ts"},{"results":[18.18,50032,9098,2988,19635,475,424,6,17406],"time":1717949307000,"hash":"a209e7115f0072b77fbcc437ece7fce1d22f34eb","title":"builtins/array: impl splice"},{"results":[18.17,50032,9092,2954,19676,475,424,7,17404],"time":1717893436000,"hash":"43fe92beae876f1b76db26284b27e5517311f37e","title":"builtins/string: rewrite String.fromCharCode"},{"results":[18.17,50032,9090,2957,19675,475,424,7,17404],"time":1717890159000,"hash":"9053758ff605a8a10c39bfc36fe18939a1d47699","title":"builtins/string: use spec-compliant trim chars"},{"results":[18.16,50032,9085,2962,19675,475,424,7,17404],"time":1717889853000,"hash":"666e3188eed0cce8d1549cf7fbfa10e31aeb16a5","title":"test262: rewrite threads to use as pool"},{"results":[18.16,50032,9085,2962,19675,475,424,7,17404],"time":1717887487000,"hash":"e670a4233b63c5c7c42040bfa98661fe3360a9a1","title":"codegen: rewrite concat and compare strings"},{"results":[18.11,50032,9063,2984,19679,475,424,4,17403],"time":1717886212000,"hash":"a030775e900cfa1e20fe99e58bc83fa08e8cce3f","title":"codegen: fix getting type for setting default param type"},{"results":[18.11,50032,9060,2963,19676,502,424,4,17403],"time":1717885941000,"hash":"5dccb176a7102a7a80a0b8b4c59f4b58790680ed","title":"codegen: fix length getter not always running object wasm"},{"results":[18.11,50032,9060,2977,19662,505,424,4,17400],"time":1717885405000,"hash":"9607d9f06c542b84aad202c6aa81b3689bbab5e0","title":"builtins/various: use Porffor.allocate in many places"},{"results":[18.11,50032,9059,2980,19660,505,424,4,17400],"time":1717785543000,"hash":"f8bc29de0f762e0730cceb4ff312a7a4124636af","title":"builtins/date: use allocateBytes where useful"},{"results":[18.11,50032,9059,2980,19660,505,424,4,17400],"time":1717784905000,"hash":"ee42d5e07dd6bf0c4beef4fa5fe3a98ef7e94284","title":"builtins/annexb_string: fix bytestring types"},{"results":[18.11,50032,9059,2980,19659,505,428,4,17397],"time":1717412749000,"hash":"e6c3567de21802968a87d9a1da5e9249e25b2279","title":"builtins/array: impl concat"},{"results":[18.1,50032,9058,2976,19647,507,428,4,17412],"time":1717410870000,"hash":"f36707444d5e53a8e7747de5654e8e8c2f506d53","title":"builtins/array: impl copyWithin"},{"results":[18.09,50032,9053,2966,19636,507,428,4,17438],"time":1717110321000,"hash":"3d806f3945a24e8f121a24d7dcdf11478801b3de","title":"builtins/array: impl sort"},{"results":[18.08,50032,9046,2967,19639,507,428,4,17441],"time":1717105903000,"hash":"cbb73d209042797733b728c00d2d25f00fe32c83","title":"test262: run after pr"},{"results":[18.07,50032,9042,2969,19641,507,428,4,17441],"time":1717102561000,"hash":"6a05ca3ad7154e47749dfe94753ac19cb2bca9d3","title":"test262: update clone"},{"results":[18.07,50029,9042,2969,19639,506,428,4,17441],"time":1717101943000,"hash":"3c2d70d66127955513f770875c3a5dfe647c197f","title":"opt: rm unused builtin types"},{"results":[18.07,50029,9042,2969,19638,507,428,4,17441],"time":1717087904000,"hash":"a23029b3af588da8dd686efbcd0c0d59a06ceba9","title":"codegen: cleanup and fix destructure edge-cases"},{"results":[17.97,50029,8990,2852,19374,807,428,4,17574],"time":1717071651000,"hash":"c2dd8f88fc26e5098642f9cbdadedbd63032e3f2","title":"codegen: fix array member assign not setting type"},{"results":[17.95,50029,8982,2860,19374,807,428,4,17574],"time":1717067538000,"hash":"97531bba4f348dc0a0f03f6ef3695ec04bb98c49","title":"builtins/array: rewrite fill in ts, support start + end"},{"results":[17.95,50029,8979,2862,19377,807,428,4,17572],"time":1717031193000,"hash":"0564424f433683fef9afd9257ad06f2f211ee082","title":"compiler: target.new, rewrite indirect calls"},{"results":[17.71,50029,8858,2806,14441,799,424,4,22697],"time":1716996962000,"hash":"223b9b35a87c310d3cb40dbc3f110e0130276d74","title":"builtins/typedarray: impl at"},{"results":[17.71,50029,8858,2806,14441,799,424,4,22697],"time":1716984013000,"hash":"13bf3b35d0242e289431ea326017644fcac1bfdc","title":"builtins/typedarray: impl slice"},{"results":[17.71,50029,8858,2806,14441,798,424,4,22698],"time":1716976892000,"hash":"c2af76d417b6a08cf65ed80daa47fc4c3812b793","title":"builtins/array: re-use many array prototype methods"},{"results":[17.71,50029,8858,2811,14472,701,424,4,22759],"time":1716938194000,"hash":"b92c546cfa431fa1bc15f10fcea0077a61fc7a39","title":"builtins/typedarray: impl byteLength"},{"results":[17.71,50029,8861,2808,14472,701,424,4,22759],"time":1716936698000,"hash":"b598eb7bb4b2e7c5676921294857b2df41942857","title":"codegen: fix using unsigned i32 from in rhemyn protos"},{"results":[17.71,50029,8861,2808,14472,701,424,4,22759],"time":1716936533000,"hash":"432d65133ef6b49ab95b5de852dff2bf3db785e9","title":"codegen: fix crashing for rhemyn protos with bad arg"},{"results":[17.7,50029,8857,2798,14467,701,450,4,22752],"time":1716936233000,"hash":"bb4c3ba8e38e8fa12557f1081eb235ed64788ad1","title":"codegen: sanitize func names for rhemyn"},{"results":[17.7,50029,8857,2797,14467,701,452,4,22751],"time":1716935700000,"hash":"41e9c641ac0911b8df75ab22d4f66ab1e7309578","title":"codegen: revive rhemyn proto methods"},{"results":[17.7,50029,8855,2796,14482,703,425,4,22764],"time":1716932724000,"hash":"6c1cca2e0b665f5c02629545bb155373efbbe491","title":"builtins: add TypedArray's BYTES_PER_ELEMENT"},{"results":[17.7,50029,8856,2805,14472,703,425,4,22764],"time":1716890461000,"hash":"4e4a65afe94253370430993d88080b26b8ff78db","title":"codegen: fix float32array"},{"results":[17.7,50029,8854,2803,14472,710,425,4,22761],"time":1716890198000,"hash":"65aa646f6bf07dabe8969fe5fcd61a6d24864c7a","title":"codegen: for of typed array support"},{"results":[17.67,50029,8838,2803,14488,711,424,4,22761],"time":1716788619000,"hash":"8677c8b6b0f0745537c9bf2b2ce5f066517cba3d","title":"builtins/array: fix reduceRight"},{"results":[17.65,50029,8832,2809,14488,711,424,4,22761],"time":1716764461000,"hash":"b103c8894933d361463251ff3ec434795e7b6032","title":"builtins/array: impl reduceRight"},{"results":[17.64,50029,8824,2791,14499,716,424,4,22771],"time":1716764274000,"hash":"81100a5aa0b598f981f0391644338580c09b4607","title":"builtins/array: impl some"},{"results":[17.58,50029,8797,2787,14498,720,424,4,22799],"time":1716764023000,"hash":"436fbc00664df6f1f91fb62d364e63a456ef3289","title":"test262/harness: impl testTypedArray.js"},{"results":[17.55,50029,8779,2785,15047,705,418,4,22291],"time":1716763896000,"hash":"763bd1a0e38ead7c5698ec3d11c48157cef50d53","title":"compiler: initial typedarray impl"},{"results":[17.54,50029,8776,2749,15068,697,418,4,22317],"time":1716758490000,"hash":"4d17fa1233e75937cf3e393f2cbc270b18c21c57","title":"builtins/set: error on non-iterable arg"},{"results":[17.54,50029,8775,2751,15067,697,418,4,22317],"time":1716738462000,"hash":"cab4904b8dc93c674922956524029ad1c520f993","title":"builtins: impl ** operator"},{"results":[17.53,50029,8771,2747,15062,697,418,4,22330],"time":1716738344000,"hash":"5aa364f53935fda16935f2e31a5461e697934ddc","title":"builtins/math: fix exp for large input"},{"results":[17.54,50029,8773,2746,15062,697,418,3,22330],"time":1716737151000,"hash":"a1f691e30494d45c0f16e6dbd4a465eece41693f","title":"codegen: remove assign objectpattern hack"},{"results":[17.52,50029,8766,2769,15075,697,418,3,22301],"time":1716737087000,"hash":"e01a6bd60a7494c4ba033234609068638e2beccc","title":"codegen: impl sequence expressions"},{"results":[17.51,50029,8760,2748,15068,697,418,3,22335],"time":1716734385000,"hash":"94400a2b81f850d7642474c086ebc9ea9b1f8e59","title":"codegen: hacky basic instanceof"},{"results":[17.5,50029,8756,2732,15073,657,418,3,22390],"time":1716730905000,"hash":"146d8162b4873bb43295adf6ecf0a48ecf478ec3","title":"test262: simplify runner to use wrap"},{"results":[17.5,50029,8756,2733,15073,657,417,3,22390],"time":1716726558000,"hash":"b7ba5b83de65b41d545d66a0892b2fe8a2b80970","title":"test262: comment out some old hacks"},{"results":[17.49,50029,8751,2738,15073,657,417,3,22390],"time":1716721222000,"hash":"55999d22b460c522a6ac6d9d6769df18e5df969d","title":"builtins/set: impl toString"},{"results":[17.49,50029,8751,2738,15073,657,417,3,22390],"time":1716718032000,"hash":"93ba20045ddb51b3b96195349fe51b9ed6186171","title":"test262: update clone"},{"results":[17.49,50026,8751,2737,15073,657,417,3,22388],"time":1716682691000,"hash":"61ae4fd8d1760ec1a6d629342a24fd3a8a470ef9","title":"codegen: impl default parameters"},{"results":[17.45,50026,8728,2771,15135,632,417,3,22340],"time":1716680512000,"hash":"fa391403025cefa7b2b575833d2665e94623675f","title":"builtins/string: impl String"},{"results":[17.26,50026,8635,2665,15102,631,417,3,22573],"time":1716679357000,"hash":"60619b22ed0ab669e5f2eda228f7b5b5a2fc5bee","title":"test262/harness: impl decimalToHexString.js"},{"results":[17.26,50026,8635,2665,15148,631,417,3,22527],"time":1716679023000,"hash":"7339fdd798a7312fcce661503a0db494acf37725","title":"test262/harness: impl assertRelativeDateMs"},{"results":[17.25,50026,8629,2665,15154,631,417,3,22527],"time":1716678703000,"hash":"4fe5becc82eb28e233542e057fcb841fd5634d69","title":"test262/harness: add Test262Error.thrower"},{"results":[17.25,50026,8629,2665,15154,631,417,3,22527],"time":1716678374000,"hash":"f9e625159c6f52a6758a95a4279c7f9e90e69a33","title":"test262/harness: add half working isConstructor"},{"results":[16.95,50026,8478,2588,15382,631,417,3,22527],"time":1716677857000,"hash":"ed4d75769582dadf6f9fa7e113cb42c952901b24","title":"test262/harness: check func in assert.throws"},{"results":[16.94,50026,8476,2594,15501,443,417,3,22592],"time":1716677616000,"hash":"af482af783837df476eae7368def9e7f9c837fa0","title":"test262/harness: fix Test262Error in assert.throws"},{"results":[16.49,50026,8247,2520,15805,438,417,3,22596],"time":1716677089000,"hash":"5a591d85f521578be128e8dc0a57806fd71062f5","title":"codegen: return value for generateNew errors"},{"results":[16.49,50026,8247,2464,15789,562,417,3,22544],"time":1716676743000,"hash":"4d434e7974f036bd1550a582f44b6ba13f08d751","title":"builtins/array: use strict eq ops for search methods"},{"results":[16.48,50026,8245,2466,15789,562,417,3,22544],"time":1716676563000,"hash":"69a1743004736552c56724f446161a5407e8757c","title":"builtins/array: rewrite join, tostring to follow spec"},{"results":[16.48,50026,8242,2463,15795,562,417,3,22544],"time":1716676432000,"hash":"a61e863b818801e61f41b554df05c3785e69d4d0","title":"codegen: optimize away allocations for member exprs of known array types"},{"results":[16.48,50026,8242,2463,15795,562,417,3,22544],"time":1716676313000,"hash":"5e6816f0c1f2085d96cde57ec0d3c83bcb741b1f","title":"codegen: fix known arrays using only number type elements"},{"results":[16.46,50026,8235,2476,15789,562,417,3,22544],"time":1716676112000,"hash":"bfac82a6084de1969b7f402f76dd2b6df5e4d017","title":"opt: fix removing last type in some internals"},{"results":[16.44,50026,8222,2489,15789,562,417,3,22544],"time":1716673880000,"hash":"a44950ddac828451692fd5c3f49d6e32c0ed9c1d","title":"builtins: minor cleanup, new wip ecma262 file"},{"results":[16.44,50026,8222,2489,15789,562,417,3,22544],"time":1716671157000,"hash":"f858c9f96b42f8f67b78827f8711f504aeb36f7e","title":"builtins/array: impl tostring"},{"results":[16.43,50026,8221,2484,15795,562,417,3,22544],"time":1716670318000,"hash":"f29f3011f34181deddebfbdb7dc9f1a023378932","title":"builtins/array: impl join"},{"results":[16.43,50026,8220,2480,15800,562,417,3,22544],"time":1716668745000,"hash":"70a4335a850f69f56cba248f905849a1d37ad12a","title":"codegen: fix concat assign for strings"},{"results":[16.43,50026,8220,2480,15799,562,417,3,22545],"time":1716668391000,"hash":"84469b271107f13d64b11b6cf4a00490d6e5bde0","title":"codegen: fix assignment types for non-="},{"results":[16.42,50026,8215,2485,15799,562,417,3,22545],"time":1716651004000,"hash":"c5f77fc1a07ef9afd2fd424c55ea47b178837d7e","title":"builtins/array: impl reduce"},{"results":[16.41,50026,8208,2468,15807,564,417,3,22559],"time":1716429227000,"hash":"688a50c134c7a7a728413ee67fb23c3a9132aee2","title":"compiler: rewrite, new allocator system"},{"results":[16.41,50026,8208,2459,15785,675,417,2,22480],"time":1716410810000,"hash":"1a6e16aae7aa7f7d31262ab3f020d9ff7e5d71f6","title":"codegen: cleanup old memory code"},{"results":[16.41,50026,8208,2459,15790,675,397,2,22495],"time":1716242489000,"hash":"099bf13f1831c79d8b6f6c64df4ea19619ba9ffe","title":"test262: update clone and from prs"},{"results":[16.4,50012,8203,2461,15790,680,397,2,22479],"time":1716149898000,"hash":"cffd7c54d8ba4e30ac4232331faa99b16973036a","title":"builtins/array: use conformant ifs for callbacks"},{"results":[16.39,50012,8199,2465,15790,680,397,2,22479],"time":1716149001000,"hash":"f8a8b32f188e7d4a88ede852de8359365ee05b36","title":"codegen: rewrite truthy to be more conformant"},{"results":[16.39,50012,8196,2468,15790,680,397,2,22479],"time":1716137038000,"hash":"fd7929568b3e471e31958aa97b36a0b8c9412849","title":"codegen: fix comparing empty strings crashing"},{"results":[16.35,50012,8178,2475,15802,680,397,2,22478],"time":1716135300000,"hash":"bb0b06c17ba2a8e3ca5aa0866975727e8e93f45b","title":"builtins/math: more spec compliant args handling"},{"results":[16.32,50012,8163,2487,15802,680,397,5,22478],"time":1716132676000,"hash":"7b4b613a574feb6cb8c169320180b881ece15ba4","title":"codegen: rewrite some calling code"},{"results":[16.37,50012,8189,2485,15764,719,374,5,22476],"time":1716119873000,"hash":"11decbd355a55b3308b80764912a8e0fb1337f9a","title":"builtins/math: impl complex math funcs"},{"results":[16.25,50012,8129,2452,15863,718,374,2,22474],"time":1716070184000,"hash":"b5a80d8e3e4d190d4fb227678f224a49f2facfa7","title":"codegen: basic try..finally"},{"results":[16.24,50012,8120,2434,15850,717,374,2,22515],"time":1716068719000,"hash":"697ea54e06002db44c97f027c86e3de577de06ae","title":"builtins/array: impl findIndex, findLastIndex"},{"results":[16.24,50012,8120,2429,15853,716,374,2,22518],"time":1716068526000,"hash":"99f87003a56016eb8524ee6d15eb78d7505111e5","title":"builtins/array: impl findLast"},{"results":[16.23,50012,8119,2428,15854,715,374,2,22520],"time":1716067952000,"hash":"6dccbca08af095620f307aa65b0227956b4f353a","title":"builtins/array: impl every"},{"results":[16.18,50012,8094,2423,15850,764,374,2,22505],"time":1716067219000,"hash":"f0b9be871a382fad113093eb95846318b14c60e0","title":"builtins/array: impl find"},{"results":[16.18,50012,8093,2421,15855,758,374,2,22509],"time":1716067019000,"hash":"cc93ae2486d065e84cb9f2024be00a802f04056b","title":"builtins/array: fix not checking callback types"},{"results":[16.16,50012,8084,2427,15858,758,374,2,22509],"time":1716066905000,"hash":"1619e879ff9a16bd89004d239dc33a5500e5d664","title":"builtins/array: impl map"},{"results":[16.16,50012,8081,2417,15858,759,374,2,22521],"time":1716066372000,"hash":"db4b909969577c3739d09ebf1b49df56b10fe1bf","title":"builtins/array: impl filter"},{"results":[16.11,50012,8059,2405,15856,759,374,2,22557],"time":1716064013000,"hash":"c6edfd32899e2255d76c2a25ad8d3c3a6c921de9","title":"builtins/array: impl forEach"},{"results":[15.94,50012,7972,2401,15719,676,374,2,22868],"time":1716063390000,"hash":"fd6ac2b7653b36a1f4400d5f227269a3d09edb68","title":"codegen: rewrite indirect calls for varargs"},{"results":[15.89,50012,7946,2375,15771,675,374,1,22870],"time":1715986752000,"hash":"b481bfc5f6255d31266f8739bf9ecbade4dcdc9d","title":"test262: rewrite runner to be multi-threaded"},{"results":[15.89,50012,7946,2375,15771,675,374,1,22870],"time":1715903994000,"hash":"549a04f841631d27eaebb282e8021e70531db8ca","title":"test262: replace assert.throws hack with function"},{"results":[14.71,50012,7355,2258,15654,649,1628,1,22467],"time":1715903867000,"hash":"b4697689348eb6519dc798fd320530efed852f31","title":"builtins/error: declare errors"},{"results":[14.69,50012,7347,2247,15634,646,1628,1,22509],"time":1715897871000,"hash":"5951093a3d02f84163900506ddeb20280191a567","title":"various: rewrite array to store types"},{"results":[14.66,50012,7332,2263,15633,646,1628,1,22509],"time":1715887473000,"hash":"5ab1b8434d794bfb129e5ab666612550f0f6b09b","title":"codegen: add proto builtin getters, opt length"},{"results":[14.63,50012,7319,2276,15641,646,1628,1,22501],"time":1715868294000,"hash":"63b47e3b956e23abe711a5aa50d64689625f343b","title":"codegen: rewrite length, clean up"},{"results":[14.63,50012,7318,2204,15711,643,1628,1,22507],"time":1715857660000,"hash":"e1a34c10519aa747d24aab1552c1df26adb3b1e7","title":"prefs: disable aotPointerOpt by default"},{"results":[14.62,50012,7314,2204,15715,643,1628,1,22507],"time":1715853202000,"hash":"2ce6edbb38e2268f9daa55ac8dceab721957f01a","title":"codegen: stub empty object expressions"},{"results":[14.43,50012,7216,2057,14003,780,1628,1,24327],"time":1715791467000,"hash":"967c69c759cd324610c30bbc7a650eb3dcbbd1a0","title":"builtins/symbol: initial add"},{"results":[14.36,50012,7182,2033,14343,779,1628,1,24046],"time":1715769104000,"hash":"3fae2aae2d327e13edc9eafa5c45b535ce629f29","title":"codegen: throw not a constructor for some built-ins"},{"results":[14.36,50012,7182,2033,14343,779,1628,1,24046],"time":1715734363000,"hash":"a24ac8cf2a08acc42b18a0a9a721b9762745b8ad","title":"codegen: impl indirect calls"},{"results":[14.31,50012,7157,2033,14368,778,1628,1,24047],"time":1715719882000,"hash":"4e46400a9e8cbf8eea4dc543efc1193858591f5f","title":"codegen: improve setting of function values"},{"results":[14.28,50012,7142,2036,14365,780,1628,2,24059],"time":1715646020000,"hash":"47559014148bf701cbe7bf228a201570ed557fce","title":"builtins/date: initial add"},{"results":[14.23,50012,7118,2023,14286,778,1628,2,24177],"time":1715556909000,"hash":"edb06b8134fa42f3735fd32fc04bb956d9ca5a7d","title":"builtins/array: impl valueOf"},{"results":[14.23,50012,7118,2023,14286,778,1628,2,24177],"time":1715556358000,"hash":"2afd28c85ca84cc478b4376a94abf1bbd4918af9","title":"builtins/tostring: split into per-type files"},{"results":[14.23,50012,7118,2023,14286,778,1628,2,24177],"time":1715555213000,"hash":"5723df81d8e580b8aad4faa9b4877de8cb7da0bc","title":"codegen: use prop for Function.name"},{"results":[14.23,50012,7118,2023,14286,778,1628,2,24177],"time":1715554865000,"hash":"e69a2a293ad7e22cf55f09391361226228219d8f","title":"codegen: impl better length for $constructors"},{"results":[14.23,50012,7118,2023,14286,778,1628,2,24177],"time":1715553941000,"hash":"e99ca11170eafbdb12f8619daa4bcab83f6b71b1","title":"codegen: implement function .name property"},{"results":[14.22,50012,7112,1959,14356,778,1628,2,24177],"time":1715550250000,"hash":"d0eb0a35cc667923ca5fa04b5c7cc69df9d02329","title":"builtins/string: implement valueOf"},{"results":[14.22,50012,7112,1959,14356,778,1628,2,24177],"time":1715550250000,"hash":"c652395e6580782dc9c2e8b90dbafa698af79ee8","title":"builtins/number: implement valueOf"},{"results":[14.21,50012,7109,1959,14360,778,1628,2,24176],"time":1715550250000,"hash":"5cfd12a70ff9113f6539d49e14478104ac8344b5","title":"builtins/boolean: implement valueOf"},{"results":[14.21,50005,7107,1957,14360,776,1628,2,24175],"time":1715548490000,"hash":"e62542f9a4fb8b3d279c059a797bda657b47c86c","title":"prefs: enable alwaysMemory by default"},{"results":[14.2,50005,7101,1943,13963,1768,1628,2,23600],"time":1715545635000,"hash":"63f91bb1c3c35426c5036c3270e12564665c918f","title":"builtins/date: minor opt"},{"results":[14.2,50005,7101,1943,13963,1768,1628,2,23600],"time":1715544796000,"hash":"905aa17240c3fe3d0a771ac28724013f95443387","title":"builtins/date/parse: fix not setting last n"},{"results":[14.2,50005,7100,1944,13963,1768,1628,2,23600],"time":1715544511000,"hash":"d56a1924d6c2ce61b416eae5d085b1e04fa329c0","title":"builtins/date: impl Date.parse"},{"results":[14.19,50005,7096,1946,13965,1771,1628,2,23597],"time":1715481234000,"hash":"6352ecf7c5c774f80f90f67a8dcc88db5c9434e4","title":"builtins/date: impl Date()"},{"results":[14.19,50005,7096,1946,13965,1771,1628,2,23597],"time":1715480788000,"hash":"eb60e83e1da3e6d4fb258004a7b84d850b893537","title":"builtins/date: fix ToIntegerOrInfinity returning -0"},{"results":[14.18,50005,7092,1950,13965,1771,1628,2,23597],"time":1715480619000,"hash":"3d124804028feaba622ab08044bb87af9add542d","title":"builtins/date: impl valueOf"},{"results":[14.18,50005,7092,1943,13971,1739,1628,2,23630],"time":1715479424000,"hash":"59b6ba98bec51785279d7561b0fe71caaac9d4bf","title":"builtins/date: impl rest of toStrings"},{"results":[14.17,50005,7085,1950,14038,1532,1628,2,23770],"time":1715445036000,"hash":"8858ca7ff11d9eabb92f0ea605d0b5923dcab98d","title":"builtins/date: impl toJSON"},{"results":[14.17,50005,7085,1950,14039,1525,1628,2,23776],"time":1715444606000,"hash":"fd54022177d2ecb5e39631fddc3c3eca1f3c86b1","title":"builtins/date: impl toISOString"},{"results":[14.16,50005,7082,1940,14050,1533,1628,2,23770],"time":1715376634000,"hash":"bae0c5b2bb63ca256116bf3824f3595ec4ab335b","title":"chore: run test262"},{"results":[14.17,50005,7086,1936,14050,1533,1628,2,23770],"time":1715338671000,"hash":"89b3a9c8c3760d092f0b881865fb25272a4c193e","title":"codegen: fix up basic regex usage"},{"results":[14.17,50005,7085,1932,14049,1539,1628,2,23770],"time":1715330856000,"hash":"7b4a8d48dbe694e586f0b7b0d85ea35cc041e27f","title":"builtins/date: clean up source"},{"results":[14.17,50005,7085,1932,14051,1536,1628,2,23771],"time":1715196493000,"hash":"9928127bfdf41e4d7531f66e2800d2bce6ac0548","title":"builtins/date: impl set* prototype methods"},{"results":[14.11,50005,7056,1930,14082,1536,1628,2,23771],"time":1715172125000,"hash":"e04e26ffb5815fb5e676f92e8ba60631ebf48fb4","title":"builtins/date: impl get* prototype methods"},{"results":[14.04,50005,7019,1928,14097,1535,1628,2,23796],"time":1715131485000,"hash":"9088235ce39acce528acc406c7f7efcb499f1982","title":"builtins/date: rewrite to store date in memory"},{"results":[14.03,50005,7017,1931,14087,1562,1628,2,23778],"time":1715125925000,"hash":"532d8d0e295032efbf04f51f7774924ba45cb9bb","title":"builtins/date: big rewrite"},{"results":[14.02,50005,7010,1924,14093,1569,1628,2,23779],"time":1715040679000,"hash":"b9abe0dc52d2a21bd7e036b9bdc0708b93716e68","title":"builtins/date: initial super basic date support"},{"results":[13.9,50005,6950,1871,14109,1575,1628,2,23870],"time":1715037479000,"hash":"25601413577a52f347caf15459512c3ed143de56","title":"codegen: better importedFuncs support in countLeftover"},{"results":[13.9,50005,6950,1871,14107,1577,1628,2,23870],"time":1714952850000,"hash":"ca2e5b9bcb8bc06dc5f724be6a6c3d27f81ae195","title":"types: initial add"},{"results":[13.9,50005,6950,1871,14107,1577,1628,2,23870],"time":1714948664000,"hash":"f2900ac5f1353f24816fde03c98260521e745355","title":"codegen: impl do while"},{"results":[13.85,50005,6927,1863,14100,1575,1628,2,23910],"time":1714945713000,"hash":"348b9a5c92788f1ff6b2a0d9bd8f0f2ceb153c10","title":"builtins/number: impl toExponential, tweaks"},{"results":[13.85,50005,6924,1860,14099,1575,1628,2,23917],"time":1714925615000,"hash":"5d3c75d90fb5111b7e7dafce00b708f39ce62994","title":"codegen: make typeof give undefined for non-existing identifiers"},{"results":[13.84,50005,6921,1115,14827,1574,1661,2,23905],"time":1714924299000,"hash":"23c56fd92e3e24132f95771a3ea43a885d2270e6","title":"codegen: check internal proto funcs for idents"},{"results":[13.83,50005,6915,1112,14842,1574,1661,2,23899],"time":1714923599000,"hash":"ebf0985eb507fde1daef76d98bc47c14e315649e","title":"codegen: clone builtinVars wasm"},{"results":[13.83,50005,6914,1113,14842,1574,1661,2,23899],"time":1714923298000,"hash":"3c2a2fdf39f854d89411836c6ef4f58f1c750643","title":"codegen: make typeof generate argument"},{"results":[13.87,50005,6934,1907,14071,1574,1661,2,23856],"time":1714918278000,"hash":"520a8dc94b4e81773db68d2886b0981b39625ad0","title":"builtins/number: impl toFixed"},{"results":[13.87,50005,6934,1904,14069,1578,1661,2,23857],"time":1714845722000,"hash":"1e035148e10b3dc3abfd67fc8028e0abad4ba9ed","title":"builtins/tostring_number: exponential support, fixes"},{"results":[13.87,50005,6934,1904,14069,1578,1661,2,23857],"time":1714783215000,"hash":"a20de34514c52920c13712ea7d900faf55dc698a","title":"builtins/array: wip toReversed"},{"results":[13.86,50005,6933,1903,14071,1578,1661,2,23857],"time":1714782699000,"hash":"1fd5ca4b16218b99515fb804b65a47c6dfb2a3a0","title":"codegen: add todo check for for of no left local"},{"results":[13.79,50005,6894,1897,14039,1576,2533,2,23064],"time":1714782255000,"hash":"a4929806b7734e7a10068fe0c53c27c25cf089f3","title":"rhemyn/compile: fix malformed wasm with empty set"},{"results":[13.79,50005,6894,1897,14039,1574,2535,2,23064],"time":1714782075000,"hash":"e5afe316976af93039b6d78fda92ff230281d768","title":"codegen: tweak generateCall to not crash in edgecases"},{"results":[13.79,50005,6894,1897,14039,1572,2537,2,23064],"time":1714781478000,"hash":"2d333d18dbe81528105458299d47bd6690156eb7","title":"test262/prelude: remove a compareArray hack"},{"results":[13.79,50005,6894,1897,14039,1572,2537,2,23064],"time":1714781158000,"hash":"5dfb9b4649ac7421e72eba43a7003fd38ecd54ec","title":"rhemyn/parse: fix crash for quantifiers if no last"},{"results":[13.78,50005,6891,1894,14038,1570,2546,2,23064],"time":1714780163000,"hash":"7e346849e71fca5f49a3fc56485934617e7a7d2b","title":"codegen: fix last type sometimes being improperly used"},{"results":[13.77,50005,6885,1888,14035,1588,2546,2,23061],"time":1714779027000,"hash":"df6ee69e14639901060e8d347df396187df4b641","title":"rhemyn: fix groups making malformed wasm"},{"results":[13.76,50005,6881,1888,14035,1588,2550,2,23061],"time":1714776978000,"hash":"2ab895e7ede37434fcf05e0a6d1b7e7958f4d7af","title":"codegen: fix objectHack not running on given up memberexpressions"},{"results":[13.76,50005,6879,1888,14010,1605,2550,2,23071],"time":1714776732000,"hash":"ed6ad2aa65071b203cebdb1a02044206c890e5cb","title":"builtins/tostring_number: impl negative"},{"results":[13.76,50005,6879,1890,14008,1605,2550,2,23071],"time":1714773079000,"hash":"9ffa326887af55719c522851d8ecb00c710cab45","title":"builtins/tostring_number: impl decimal part"},{"results":[13.76,50005,6879,1890,14008,1605,2550,2,23071],"time":1714742434000,"hash":"3d5fc89b590d11c1c9c4206c7ff45539339ee537","title":"builtins/string: fix string prefix for some methods"},{"results":[13.75,50005,6875,1891,14005,1611,2550,2,23071],"time":1714696144000,"hash":"8db42995967a5255115ccad71d5f75bdaf6421f0","title":"builtins/array: impl basic reverse"},{"results":[13.75,50005,6874,1890,14009,1609,2550,2,23071],"time":1714694936000,"hash":"5a08c4b918e3c03bf49ee6e5361e3333261ed75c","title":"builtins/array: impl basic with"},{"results":[13.74,50005,6873,1887,14012,1610,2550,2,23071],"time":1714693912000,"hash":"87f44b850fd5800a136e90235374b5822974efdd","title":"builtins/array: impl includes"},{"results":[13.74,50005,6869,1884,14019,1610,2550,2,23071],"time":1714693376000,"hash":"bde63e5d12782abc15c07b335ad705f4415b1b6b","title":"builtins/array: basic indexOf/lastIndexOf"},{"results":[13.64,50005,6820,1851,14101,1614,2550,2,23067],"time":1714692568000,"hash":"0d82565cd9e59f407764f58d0f6a303e5ab64825","title":"builtins/array: impl Array#slice"},{"results":[13.64,50005,6820,1851,14103,1641,2550,2,23038],"time":1714690977000,"hash":"45d4ae2323f2b656677c468594ce939a8726b368","title":"builtins/tostring_number: impl radix"},{"results":[13.64,50005,6819,1852,14103,1641,2550,2,23038],"time":1714689214000,"hash":"19a1c84c37164ecccee6eefc0f653a02b93fd04c","title":"builtins/tostring_number: initial basic impl"},{"results":[13.56,50005,6783,1812,14191,1641,2550,2,23026],"time":1714688614000,"hash":"6ac415e291481e5f62d0b3b3a4c0590e9466a67d","title":"codegen: optimize Porffor.s/bs type setting"},{"results":[13.56,50005,6783,1812,14191,1641,2550,2,23026],"time":1714687729000,"hash":"68efce0c13b48fd848d820964bc7f8f460a97e54","title":"builtins/tostring: String#toString"},{"results":[13.56,50005,6783,1810,14193,1641,2550,2,23026],"time":1714686542000,"hash":"b49e49b32ff0e86abd216a9886fb75429ed16656","title":"builtins/tostring: basic Function#toString"},{"results":[13.56,50005,6782,1810,14192,1644,2550,2,23025],"time":1714686304000,"hash":"6aa8758efc89018ad0334e295dd5333eccbb3a0f","title":"builtins/tostring: basic Object#toString"},{"results":[13.56,50005,6781,1809,14195,1644,2550,2,23024],"time":1714685961000,"hash":"27e7fed4f3ace8e73f295f921a17f455c902e362","title":"builtins: make Object always return 1 as value"},{"results":[13.56,50005,6780,1811,14195,1644,2550,2,23023],"time":1714685630000,"hash":"3db91426734f0cbe29df20d99ae364826bafa609","title":"builtins/tostring: Boolean#toString"},{"results":[13.56,50005,6780,1808,14140,1645,2550,2,23080],"time":1714684356000,"hash":"a4b8742257334a48d08d27ff380b910f3719cbc2","title":"codegen: fix breaking main returns when last op is setting last type"},{"results":[13.56,50005,6780,1796,13962,2548,2550,2,22367],"time":1714682936000,"hash":"8a6a5b4df889042f85f12c6bacda21db572b2edd","title":"codegen: do not run objectHack for some identifier objects"},{"results":[13.56,50005,6780,1796,13972,2504,2550,2,22401],"time":1714645201000,"hash":"4843abb56e0bde130a62f2f8ca4e0c368b3bc12b","title":"codegen: impl length for internalConstrs"},{"results":[13.55,50005,6778,1798,13971,2505,2550,2,22401],"time":1714643924000,"hash":"33faabe54c1f017961dad00e568710aef9e9f0eb","title":"codegen: impl Math.max/min"},{"results":[13.54,50005,6772,1796,13981,2503,2550,2,22401],"time":1714608472000,"hash":"4d097848d0c3c783e0dc642c1a1b08c9785bda8e","title":"builtins/int: impl radix"},{"results":[13.52,50005,6762,1806,13981,2503,2550,2,22401],"time":1714606618000,"hash":"eb347d2503681fdf0be795744aa4b8ebc15acbc5","title":"builtins/int: impl prefix +/- support"},{"results":[13.52,50005,6761,1809,13980,2502,2550,2,22401],"time":1714603734000,"hash":"130255848ee916d48a9ecbed19b4d826f34156ff","title":"builtins/int: impl parseInt"},{"results":[13.49,50005,6748,1779,14024,2502,2550,2,22400],"time":1714599288000,"hash":"b1476c77a82eb2372a666ae2a8964399df45b6e5","title":"codegen: impl Boolean"},{"results":[13.27,50005,6636,1751,14011,2534,2550,2,22521],"time":1714597064000,"hash":"fff24577ae320cea0d1cd0153ebefd6f05d4363d","title":"test262: try to replace all assert.throws"},{"results":[11.85,50005,5926,1680,15654,2478,1303,2,22962],"time":1714592221000,"hash":"f01558f3480b06c481c7e354a4b5b1533c530842","title":"builtins: simplify generated call"},{"results":[11.85,50005,5926,1680,15654,2478,1303,2,22962],"time":1714586013000,"hash":"e3afe3edb3ba0d767d57fd07b8056c10ea1011b5","title":"assemble: optimize making global section"},{"results":[11.85,50005,5926,1680,15654,2478,1303,2,22962],"time":1714562567000,"hash":"56a88ddb272a8c41c841e422c3c02715d5d7860d","title":"profiler: rewrite internals"},{"results":[11.85,50005,5926,1680,15655,2477,1303,2,22962],"time":1714518205000,"hash":"6bc80ea7b2af32778769875e7df880b8c0747285","title":"builtins/string: impl ascii for String case funcs"},{"results":[11.85,50005,5926,1680,15655,2477,1303,2,22962],"time":1714516254000,"hash":"ee95c7947fb52aecca7bf7a3545c607a653d72a0","title":"builtins/annexb_string: impl trimLeft, trimRight"},{"results":[11.85,50005,5924,1680,15657,2477,1303,2,22962],"time":1714515542000,"hash":"b4335f3b3f463b2c8abdbb380ad5a829dbed070f","title":"builtins/string: impl trim methods"},{"results":[11.76,50005,5882,1666,15657,2535,1303,2,22960],"time":1714515191000,"hash":"1cdcbc872ab4d1fab8f4fc4814853ae8eb3cc874","title":"codegen: do not try proto for non-existing literals"},{"results":[11.76,50005,5882,1666,15650,2543,1303,2,22959],"time":1714425852000,"hash":"e3ceafafbe8d04f1a3b214b59edcc29eb2f2e182","title":"builtins/string: minor opt"},{"results":[11.76,50005,5882,1666,15650,2543,1303,2,22959],"time":1714405752000,"hash":"26805f7b9c5f3af5a921446a50eef7e5e9a5db59","title":"builtins/string: impl slice"},{"results":[11.76,50005,5880,1665,15645,2543,1303,2,22967],"time":1714405526000,"hash":"bd22603b43dd70e4f11b858fd4f0bea6e54457d1","title":"builtins/string: fix return type of String#substring"},{"results":[11.76,50005,5880,1665,15645,2543,1303,2,22967],"time":1714404232000,"hash":"112e239279a6d150570722751aab5ff2db180241","title":"test262: update test262"},{"results":[11.76,49990,5880,1665,15644,2538,1302,2,22959],"time":1714394029000,"hash":"6703ce81476138adc6600867f5ab7af6851ed83e","title":"builtins/string: impl substr"},{"results":[11.76,49990,5879,1660,15645,2544,1302,2,22958],"time":1714386779000,"hash":"ea1ec71ad9caa122d09ab42ad93e1bb51bca9b01","title":"builtins/string: impl substring"},{"results":[11.75,49990,5875,1659,15642,2545,1302,2,22965],"time":1714349269000,"hash":"9ff8a1366bc065a26dd867290a83357a6f337870","title":"builtins/string: add padEnd"},{"results":[11.75,49990,5873,1657,15641,2550,1302,2,22965],"time":1714349124000,"hash":"2ab635aa7cfa902a6d88dadf7ad768e25bd7b1de","title":"builtins/string: improve padStart"},{"results":[11.75,49990,5873,1657,15641,2550,1302,2,22965],"time":1714347909000,"hash":"a5e08f273c421d77b04206ae8113e799ec1b55a6","title":"builtins/string: impl padStart"},{"results":[11.74,49990,5871,1655,15640,2555,1302,2,22965],"time":1714344983000,"hash":"ade1dc22134800751118f1a9a04ef60c15279f7b","title":"builtins/annexb_string: initial add"},{"results":[11.74,49990,5871,1655,15632,2554,1299,2,22977],"time":1714256853000,"hash":"64572dcb215cdef4e0a4d8d6afc77f69ac434e74","title":"builtins/string: impl includes"},{"results":[11.72,49990,5861,1653,15637,2563,1299,2,22975],"time":1714256266000,"hash":"1d4a8afb36eaf2716db058ef101b17e401cc3f16","title":"builtins/string: impl lastIndexOf"},{"results":[11.72,49990,5860,1653,15638,2556,1299,2,22982],"time":1714255177000,"hash":"d8f1cd900c9174dc99451c23e24177ffcf957e5c","title":"codegen: do not error for non-func named exports"},{"results":[11.65,49990,5822,1651,15622,2556,1355,2,22982],"time":1714253855000,"hash":"0c5bcafeb264eafe2237eea817dcb6ce1c717aae","title":"builtins/string: impl indexOf"},{"results":[11.63,49990,5815,1650,15622,2551,1355,2,22995],"time":1714253472000,"hash":"d61bb5a6ec054be5015c61a9daf231b98a6fbcab","title":"builtins/string: add oob position handling to starts/endsWith"},{"results":[11.63,49990,5813,1651,15623,2551,1355,2,22995],"time":1714247020000,"hash":"2de48fccbf70486edea1597ec2fb52f18bc2210e","title":"test262: use assert.throws hack in block"},{"results":[11.63,49990,5813,1649,15608,2545,1631,2,22742],"time":1714245545000,"hash":"a9f99ed4a394800813bbfa1e2e50abe8421f446a","title":"codegen: fix literal eval compile error with no args"},{"results":[11.63,49990,5813,1649,15607,2545,1632,2,22742],"time":1714238005000,"hash":"17e395ef1ab62ddafafdd819597a3f6557d360cd","title":"chore: bump acorn"},{"results":[11.63,49990,5813,1649,15607,2545,1632,2,22742],"time":1714223971000,"hash":"76f2384910b38b16c368853c768c4a61d11a31a3","title":"chore: bump @babel/parser"},{"results":[11.63,49990,5813,1649,15607,2545,1632,2,22742],"time":1713654348000,"hash":"80059a92c0e47096229e32cb4887e74893ef0f73","title":"builtins/string: fix startsWith position"},{"results":[11.62,49990,5811,1652,15606,2545,1632,2,22742],"time":1713653332000,"hash":"49765cfe09002c68e753af9e619e404e28e2a709","title":"builtins/string: fix name of String endsWith"},{"results":[11.62,49990,5810,1653,15606,2545,1632,2,22742],"time":1713651897000,"hash":"b26bb75ae4d46921c85475f1d775afc7ae29a2aa","title":"builtins/string: basic String.fromCharCode"},{"results":[11.62,49990,5807,1644,15625,2545,1632,2,22735],"time":1713648726000,"hash":"86a7ea927b3142c743c773d6b31242945a09ad7e","title":"builtins/string: impl startsWith, endsWith"},{"results":[11.59,49990,5794,1639,15636,2552,1632,2,22735],"time":1713557871000,"hash":"0955df568ce7fac47430213332ee1365ff8e4629","title":"builtins/string: add bytestring toLowerCase, toUpperCase"},{"results":[11.58,49990,5789,1634,15632,2562,1632,2,22739],"time":1713484876000,"hash":"df3a5a1280f87f2b23a3d639df6fdf0bb8293463","title":"codegen: implement static concat for bytestrings"},{"results":[11.57,49990,5786,1624,15596,2556,1632,2,22794],"time":1713482665000,"hash":"2341434ac436ff748b3134c613f64a173c16520e","title":"codegen: throw eval syntax errors at runtime not compile time"},{"results":[11.53,49990,5765,1624,15584,2556,1665,2,22794],"time":1713138791000,"hash":"d48520b937440010d11a36be2e3dab10b308ade3","title":"test262: blank unknown preludes"},{"results":[11.53,49990,5765,1620,15480,2744,1665,2,22714],"time":1713137829000,"hash":"596f22b292ab1bcc54268916c1544917b070d252","title":"test262: update test262 tests"},{"results":[11.53,49986,5765,1620,15477,2743,1665,2,22714],"time":1713137123000,"hash":"f743ff19f174a8bd317c1b29e494f7a0143ef761","title":"codegen: impl labelled statements"},{"results":[11.45,49986,5724,1619,15470,2737,1665,2,22769],"time":1713133514000,"hash":"6d1bdaded4d4c5c51ddaa6451bdd6cb315f17d6d","title":"codegen: fix continue in while loops"},{"results":[11.45,49986,5724,1619,15470,2737,1665,2,22769],"time":1713133178000,"hash":"49c5e13dcc379ca7ca104b59f5a08ddc96f40d6a","title":"builtins/escape: initial add"},{"results":[11.45,49986,5721,1617,15476,2736,1665,2,22769],"time":1713050872000,"hash":"98150178b6bf2ac26e0f0ec5f7692819972c2f40","title":"builtins/ts: add Array.isArray"},{"results":[11.43,49986,5711,1617,15498,2713,1665,2,22780],"time":1713047740000,"hash":"7504bc582875227d80b1fbf182d0de919ede5f8e","title":"codegen: avoid crashing when setType fails"},{"results":[11.43,49986,5711,1617,15498,2713,1665,2,22780],"time":1713043485000,"hash":"db13b02730684d32cac9b406e63da48e8bc3505c","title":"codegen: add value to more internal throws"},{"results":[11.42,49986,5709,1531,12947,9356,1665,2,18776],"time":1712964982000,"hash":"ed855561e848b0c970d4031560ef25d6f76905cc","title":"codegen: implement Function.length"},{"results":[11.41,49986,5702,1530,12944,9368,1665,2,18775],"time":1712964361000,"hash":"48a4bdf1924d13ca55aa83b0f12b843b4e96dbc7","title":"codegen: switch todo to throw at runtime by default"},{"results":[11.06,49986,5528,1099,9019,2360,772,2,31206],"time":1712957932000,"hash":"35c12af3e18a051560dc420e5ffdd0c1d3fff327","title":"test262: update test262 and start logging results again"},{"results":[11.29,49377,5574,1249,8717,2523,707,2,30605],"time":1707869262000,"hash":"1afe9b87d2ac7eb2105ccd292a3abd45f1416f06","title":"codegen: js resistant gen literal"},{"results":[11.29,49377,5573,1248,8684,2517,748,2,30605],"time":1707786766000,"hash":"dfa058388192370f9bfcfe43c89e97311152ce88","title":"codegen: fix crash with for of no left decl"},{"results":[11.28,49377,5570,1247,8683,2517,754,2,30604],"time":1707782146000,"hash":"4c545e71f62daa77bbd29c6ca64cfd6f335f022e","title":"codegen: add todo throws for destructuring"},{"results":[11.29,49377,5576,1277,8798,2523,1106,2,30095],"time":1707781052000,"hash":"1ad50e95c506c6c10562b804311c1047112a6e13","title":"codegen: fix regex literal crash"},{"results":[11.23,49377,5547,1265,8720,2481,1436,2,29926],"time":1707780364000,"hash":"fcf750ddec95aac4e5fc5adef8681c1375de2cae","title":"test262: tweaks, add timeout"},{"results":[11.23,49377,5547,1265,8720,2481,1436,2,29926],"time":1707780127000,"hash":"fbab1de9c17256aee9d20ece79d50a1ca07b139e","title":"codegen: fix for without test or update crashing"},{"results":[11.17,49377,5513,1256,8656,2478,1551,1,29922],"time":1707730974000,"hash":"c671f9ccdbf1b164a998a9dfad9a08f849ba7ffb","title":"codegen: check if func exists in rhemyn"},{"results":[11.17,49377,5513,1256,8656,2478,1854,1,29619],"time":1707697785000,"hash":"4035760a88e741b008ea0eca36a3ad94ad6b9b44","title":"codegen: fix objecthack crash"},{"results":[11.17,49377,5513,1252,8607,2469,2304,1,29231],"time":1707697416000,"hash":"f4cee87a080160855826f9f18e6172c0a4013d30","title":"codegen: do not crash when throwing with no msg"},{"results":[11.14,49377,5499,1250,8467,2468,2697,1,28995],"time":1707697078000,"hash":"1f6eef0cb73aa42ec0545211b8b1111622c67a03","title":"codegen: use hasOwn for proto cand check"},{"results":[11.14,49377,5499,1248,8336,1873,3767,1,28653],"time":1707696087000,"hash":"d582cd4d3e825b34a1a30e6c3a6ea216c7b45ca9","title":"test262: remove a hack"},{"results":[11.13,49377,5496,1248,8233,1843,4278,1,28278],"time":1706671860000,"hash":"6dcd7238f19dede1b35966252df23fc50d230a80","title":"codegen: fix last type being removed always badly"},{"results":[11.12,49377,5492,1258,8345,1726,4378,1,28177],"time":1705884043000,"hash":"77e30e836b63e81c01f11077bc724e534101cada","title":"Rewrite: v0.2"},{"results":[11.1,48843,5424,1106,9030,272,4182,1,28828],"time":1694469325000,"hash":"e975d7a64a94faaa6e48a36ae303c047e92604d0","title":"chore: retest test262"},{"results":[11.12,48843,5431,1103,9005,270,4179,1,28854],"time":1693914077000,"hash":"679c4ea2bc1826d40972df7a41a2e1c18cc5dc19","title":"constrs: add Array.of"},{"results":[11.12,48843,5431,1102,9005,270,4179,1,28855],"time":1693787842000,"hash":"beff13ffd459f55ce9579838b612d31e83332544","title":"usage: `-funsafe-zero-proto-checks=func1,func2,etc`"},{"results":[11.12,48843,5431,1102,9005,270,4179,1,28855],"time":1693787326000,"hash":"3f87ef70fd2cfbe69146743b19d2c1f2294b7755","title":"compiler: use data segments for some array/string init values"},{"results":[11.12,48843,5432,1097,9009,270,4179,1,28855],"time":1693778440000,"hash":"1b0a5c6eb7c2727937ca3746e6ab0eb097593712","title":"codegen: opt array member setting update ops"},{"results":[11.12,48843,5432,1097,9009,270,4179,1,28855],"time":1693778324000,"hash":"10f46174aaa86ed570df31eccf661a55144ae42f","title":"codegen: protos, only make length i32 cache if used"},{"results":[11.12,48843,5432,1097,9009,270,4179,1,28855],"time":1693777406000,"hash":"7396d7e73d866ff7a9a9976aab33a581bb109597","title":"opt: make update exprs unused ret removal more generic"},{"results":[11.12,48843,5432,1097,9007,270,4179,1,28857],"time":1693733649000,"hash":"d650361979630917bcc549089eb206ea342975ad","title":"site: weekly test262 graph"},{"results":[11.12,48843,5432,1097,9007,270,4179,1,28857],"time":1693703070000,"hash":"83bcd67471b7c08c04c25e3064c9ca03cd3277a0","title":"prototype: add Array fill (wip)"},{"results":[11.12,48843,5429,1094,9039,269,4180,1,28831],"time":1693701185000,"hash":"7820a2d9ee02ed594a05e5f9563f38a9ac819f7f","title":"codegen: correcter eq ops with an undefined operand"},{"results":[11.1,48843,5422,1101,9039,269,4180,1,28831],"time":1693697660000,"hash":"520f1cd97d5320a61a7ebb847b07410d5b0b738e","title":"codegen: swap some pushes to concat"},{"results":[11.1,48843,5422,1101,9039,269,4182,1,28829],"time":1693614626000,"hash":"5594e9d6b9903a54c2614724523644495541712b","title":"codegen: add wip member assign"},{"results":[11.11,48843,5425,1108,9116,255,4194,1,28744],"time":1693525524000,"hash":"f74a73a20c9328b02b12cd79baaa37263158a2ea","title":"codegen: add for...of support"},{"results":[11.1,48843,5422,1095,9007,250,4036,1,29032],"time":1693516363000,"hash":"05f898fccf351bbc26e5753b66cf2ed9d7527090","title":"2c: add time import, brackets, platform specific utils"},{"results":[11.1,48843,5422,1095,9007,250,4036,1,29032],"time":1692223855000,"hash":"ee33579de3944329c95602e656c394be63347de3","title":"rhemyn: make metachars for each parse"},{"results":[11.1,48843,5422,1095,9007,250,4036,1,29032],"time":1692222333000,"hash":"b5da8c46eccc3f0a4f945e4e555f5e1a2bc5d981","title":"rhemyn: get args for each compile"},{"results":[11.1,48843,5422,1095,9007,250,4036,1,29032],"time":1692220811000,"hash":"b78ef901ef0b5bc79785ad41ab45c795d6973fb2","title":"chore: fix browser"},{"results":[11.1,48843,5422,1095,9007,250,4036,1,29032],"time":1692065567000,"hash":"ba812f2241e2f8ec6b9310b9be758c681bbf5f39","title":"2c: initial add"},{"results":[11.1,48843,5422,1095,9007,250,4036,1,29032],"time":1692049160000,"hash":"84da82b7d0cae6b1068b7a390cbdea4302fec06b","title":"rhemyn: initial add"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691685306000,"hash":"ebc04915203a951da1289dc9f9add20279ecfd06","title":"runner: add -v and v8 flags if compile hints on"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691667325000,"hash":"758fed55db12bae835198f5b8fd7e0fa623c29d5","title":"sections: add experimental v8 compile hints section"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691667029000,"hash":"6f463a4bf5fd707f9d4e3a44a4ecbea384f10a91","title":"readme: update"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691629990000,"hash":"425ea20e8475d14467d1476c5eeb054431ea64de","title":"readme: add more todo"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691629131000,"hash":"98041f178529752cfbcac910672e6e95369ac5df","title":"readme: add more todo"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691628464000,"hash":"c74334481a12c9f1d3bc593de338bfa446bc8565","title":"compiler: delete func.memory ๐Ÿš€"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691628228000,"hash":"cc3b8fdc2ce64d68cc2818287dd57488efb5f378","title":"codegen: make bitwise not less jank"},{"results":[11.05,48843,5398,1090,9006,246,3428,1,29674],"time":1691628084000,"hash":"e1b6f8339990feef712968781467df6fddadff52","title":"opt: change const, convert to const of converted valtype"},{"results":[11.04,48843,5394,1096,8975,275,3428,1,29674],"time":1691624107000,"hash":"16458defaa3766c84a7f9c391cd7b1b1ec8e797a","title":"decompile: support 16 bit mem ops well"},{"results":[11.04,48843,5394,1096,8975,275,3428,1,29674],"time":1691623799000,"hash":"3af9cbf72fe5a67d3f7c4802e89792b5a69fba69","title":"codegen: use undefined returnType if 0 returns, other tweaks"},{"results":[11.05,48843,5395,1096,8974,275,3428,1,29674],"time":1691623153000,"hash":"6c75596718ffce57a264864aea3cde1c16f2b434","title":"codegen: special logic assign ops"},{"results":[11.05,48843,5395,1096,8974,275,3428,1,29674],"time":1691622861000,"hash":"2d7bb29d6363d2cc579a29530dfc7c5eeef27f19","title":"codegen: fix proto funcs having undefined cloned pointers"},{"results":[11.05,48843,5395,1096,8974,275,3428,1,29674],"time":1691618816000,"hash":"203547ea4448a26f64751ee186899f50ed7a2a99","title":"codegen: add nullish coal op and more logic fixes"},{"results":[11.01,48843,5378,1095,8971,275,3428,1,29695],"time":1691614236000,"hash":"61de7290a65741a0c78e6ccdaab3668b6c811887","title":"codegen: use truthy/falsy for logic ops + fix them for strings"},{"results":[11,48843,5375,1098,8971,275,3428,1,29695],"time":1691608501000,"hash":"70c279266467fae5c6633312983821620e4dd907","title":"compiler: add specific alloc log arg + free page util"},{"results":[11,48843,5375,1098,8971,275,3428,1,29695],"time":1691608327000,"hash":"087fcd83df5ff3b84e1f9fa17626a7043ec69b3c","title":"codegen: tweak todo to use custom error class"},{"results":[11,48843,5375,1098,8971,275,3428,1,29695],"time":1691608214000,"hash":"4547052d8d6a386e1d3d51fb5f2887757632597e","title":"prototype: fix String at"},{"results":[11,48843,5374,1095,8971,279,3498,1,29625],"time":1691537733000,"hash":"44bc2d8ee6a91f3ed2a9bab9ee50e9d6f4679a5b","title":"wrap: add nice function output"},{"results":[11,48843,5374,1095,8971,279,3498,1,29625],"time":1691535082000,"hash":"c6cb67064453e94651820eca1ca105406cc2fecf","title":"sections: fix tail calls breaking"},{"results":[11,48843,5374,1095,8971,279,3498,1,29625],"time":1691519403000,"hash":"bddcdc3dbc8b984fd4b8cf53a068233cbfb8e9f8","title":"codegen: use if in strcmp logic instead of entire block"},{"results":[11,48843,5374,1095,8970,280,3498,1,29625],"time":1691449430000,"hash":"1989c2268a5ab6010fdc1b7269ea726bd883e301","title":"codegen: add string comparison"},{"results":[10.96,48843,5354,1126,8960,279,3498,1,29625],"time":1690934032000,"hash":"745e9950af60c94d404feb09909cb24d69a0672c","title":"codegen: ensure strict equal types match, looser tracking"},{"results":[10.96,48843,5354,1125,8961,279,3498,1,29625],"time":1690884301000,"hash":"828ee154cdc011ecb12b01e83502b74385852732","title":"repl: only add to prev if declaring"},{"results":[10.96,48843,5354,1125,8961,279,3498,1,29625],"time":1690849050000,"hash":"7e89c1dee31ab540bc060a692feb9e4ed5a38142","title":"repl: tweak memory command"},{"results":[10.96,48843,5354,1125,8961,279,3498,1,29625],"time":1690848911000,"hash":"406d1d004e1b87b88555add0f84bcb77c06655c7","title":"codegen: fix chain concat and internal arr tweaks"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690845437000,"hash":"579ef369bd86615d0bf8f3e01530b40efc6b98a0","title":"repl: only add to prev if no error"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690845056000,"hash":"06503501c8ffaff03e0b7d0033693e85f0e68769","title":"chore: tweak publishing"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690844801000,"hash":"b45f853fcb27315feafca53d861b31ab87228184","title":"repl: fallback get rev from package version"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690844686000,"hash":"1963eed047c88b2124c2b5a2c9cb59400083fef0","title":"chore: add publish script and tweak npmignore"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690841268000,"hash":"8c0bdaae7f99214e4fdbfff2465327be604fde06","title":"chore: add shebang to runner/index.js"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690840928000,"hash":"bb203c78d5de18fc0d17eea0db98437d0dbd6475","title":"chore: add more to npmignore and bump"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690839995000,"hash":"88a88e4568a2eb806f289c77da2bbf703340be9d","title":"chore: prepare for npm publish"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690838634000,"hash":"d6dd46aabef0cc97b0978f5d2406c0d30ea8568a","title":"repl: debug commands + tweaks"},{"results":[10.96,48843,5353,1126,8961,279,3498,1,29625],"time":1690838218000,"hash":"04b29cd815011dc8d080361fb72d0b94590d5524","title":"codegen: rewrite local tmp, array length setter, unsigned lengths"},{"results":[10.95,48843,5347,1129,8950,252,3566,1,29598],"time":1690821050000,"hash":"3d612976a0c3d0ecc22ceb3213ced70cea6c8bdf","title":"codegen: rewrite array constructor"},{"results":[10.94,48843,5344,1128,8973,276,3499,1,29622],"time":1690818240000,"hash":"e05d50614e7140f2fbbbdd8bf4d44e7cafaf8307","title":"codegen: leave stringy bool ops for now"},{"results":[10.87,48843,5307,1019,8763,632,3499,1,29622],"time":1690813480000,"hash":"d573f984a6cd5eb1e599c60a36030b81788df51c","title":"compiler: rewrite arrays + more strings + truthy/falsy + btoa + tweaks"},{"results":[10.95,48843,5346,1372,9846,222,2421,2,29634],"time":1690673105000,"hash":"74166d7ab7df077fc3726d93437fbb35ae87d746","title":"codegen: eq ops return bool type"},{"results":[10.95,48843,5346,1372,9846,222,2421,2,29634],"time":1690672674000,"hash":"a0059e4a991f31620e214d52fa91d53c0871e4fd","title":"improvements also include: using prototypes with literals (eg `'wow'.charCodeAt(0)`), passing local type from prototypes, and tweaks."},{"results":[10.94,48843,5342,1367,9845,222,4675,2,27390],"time":1690640921000,"hash":"077ed8467c46c28f281e47088bbb5eb97642e465","title":"improvements also include: types for return values of prototype functions, better memory alignments for array prototype functions, array shell creation for prototype functions."},{"results":[10.94,48843,5342,1373,9840,222,4675,2,27389],"time":1690576200000,"hash":"9773583abb7e6428d5fb16b7b1bf84e7744cce31","title":"test262: add select timeouts"},{"results":[10.94,48843,5342,1373,9840,222,4675,2,27389],"time":1690575887000,"hash":"6727de6ca9ab3013ac65055dbad42fcf6e0b4310","title":"compiler: basic strings + array rewrite"},{"results":[10.91,48843,5330,972,8337,135,4517,0,29552],"time":1690255488000,"hash":"dd94d24c9645152dbb3058d558b77d3716e49635","title":"prototype: fix Array.at out of range crashing"},{"results":[10.91,48843,5329,972,8338,135,4517,0,29552],"time":1690255309000,"hash":"a150e6fd231f46d3d248a06dbabf57edb991717d","title":"codegen: fix getting types of prototype funcs"},{"results":[10.9,48843,5326,984,8329,135,4517,0,29552],"time":1690253762000,"hash":"6bc27895121f3132d4eaf7cde0e837b5aba892e7","title":"codegen: fix empty elements in array expressions erroring"},{"results":[10.89,48843,5318,977,8222,133,5574,0,28619],"time":1690253340000,"hash":"f7f784103d3d3a00e7788305d60f1b9d47d3b370","title":"prototype: add Array.at"},{"results":[10.89,48843,5318,978,8222,133,5574,0,28618],"time":1690251956000,"hash":"e7f3001a8b9d931c6a176d7a91914d42d0ffad7c","title":"prototype: add Array.shift"},{"results":[10.88,48843,5316,978,8224,133,5574,0,28618],"time":1690250553000,"hash":"7d9719885f0fd2a38b9f2b49f63c79a2f60c4c80","title":"prototype: add Array.pop"},{"results":[10.88,48843,5315,978,8225,133,5574,0,28618],"time":1690250013000,"hash":"ef18a7c290413188391c869f153c62e99ce0ddc9","title":"codegen: support items for array constructor"},{"results":[10.88,48843,5314,978,8232,134,5576,0,28609],"time":1690249339000,"hash":"9067f270910b02eaa366c8bd70d7d511588666bd","title":"test262: 10.88% | ๐Ÿงช 48843 | ๐Ÿค  5315 (+1) | โŒ 978 | ๐Ÿ’€ 8225 (-7) | ๐Ÿงฉ 133 (-1) | ๐Ÿ’ฅ 5574 (-2) | ๐Ÿ“ 28618 (+9)"},{"results":[10.88,48843,5314,978,8232,134,5576,0,28609],"time":1690248217000,"hash":"39146472319ac24d71a110dbe62597523a834d1e","title":"codegen: add Array and push + test262 tweaks"},{"results":[10.84,48843,5296,942,8154,110,5570,0,28771],"time":1690244259000,"hash":"1d47ca0bf834fddb012bc45748c219b69e35ac98","title":"test262: add NaNs to prelude"},{"results":[10.84,48843,5295,942,8154,110,5570,0,28772],"time":1690239652000,"hash":"152e7523dbed3a007b0604c434a4760d5f938b33","title":"compiler: initial array prototype"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690232626000,"hash":"d2bf21f54571aefd679067f3116c713e5f34cd9b","title":"bench ci: disable for now"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690122522000,"hash":"ace1cb1dec46a0c83a7ec42d4c6f3bbf13338d89","title":"bench ci: add perms to write"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690122344000,"hash":"fdce081b89167137d4d4dfc356a833b56c5ce87f","title":"bench ci: fix fetching"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690121630000,"hash":"a647650a3ea976d8fa70f79ca4c0faf7c4790254","title":"bench ci: fix more imports"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690121474000,"hash":"ef7fca3bd4a35b013fa36b92f9127a45c9ef2c86","title":"test262: 10.84% | ๐Ÿงช 48843 | ๐Ÿค  5295 | โŒ 942 | ๐Ÿ’€ 8183 | ๐Ÿงฉ 143 | ๐Ÿ’ฅ 3344 | ๐Ÿ“ 30936"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690121355000,"hash":"8e9a8fa2335d43f8f0ab67143f1c2adf8ca9900d","title":"bench ci: remove package"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690121004000,"hash":"832665ec083edf68eea4802532590bc4ebce5b26","title":"bench ci: fix yaml"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690120352000,"hash":"dccb2c2112fec8842ea77c822a71120e97ff8316","title":"bench ci: initial add"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1690071810000,"hash":"438f4d9f7f1278bf0443867f7113056fdf18806e","title":"codegen: improve array pretty print in repl"},{"results":[10.84,48843,5295,942,8183,143,3344,0,30936],"time":1689903614000,"hash":"00d1583e25b9c9e8290eb839d45843fec248832c","title":"builtins: add Math constants"},{"results":[10.82,48843,5284,953,8183,143,3344,0,30936],"time":1689903164000,"hash":"d570765e3176819bea58b0ba59aa15acfc631b5a","title":"expression: add >>> op"},{"results":[10.76,48843,5254,948,8182,138,3344,0,30977],"time":1689902855000,"hash":"93627ea79fcdf34637f116ac7ff99ab2d22bbdd1","title":"test: add array tests"},{"results":[10.76,48843,5254,948,8182,138,3344,0,30977],"time":1689902753000,"hash":"8dfde4c6f93b6217961f6ebca8abca3c060d6e07","title":"site: add examples"},{"results":[10.76,48843,5254,948,8182,138,3344,0,30977],"time":1689902146000,"hash":"a7e963f00804de1c97dc1a0c687ece84a4280da8","title":"wrap: types rewrite"},{"results":[10.76,48843,5254,948,8182,138,3344,0,30977],"time":1689902078000,"hash":"5ece8f59e9c68f5f4a3f8d54008c2210cf3ca569","title":"wasmspec: update"},{"results":[10.76,48843,5254,948,8182,138,3344,0,30977],"time":1689902006000,"hash":"8e8215722010c6884505e092c441dca26d4e2eed","title":"decompile: nicer memory insts"},{"results":[10.76,48843,5254,948,8182,138,3344,0,30977],"time":1689901879000,"hash":"740094a42677269f23f08e11cf5864975c40f03c","title":"codegen: basic array support"},{"results":[10.72,48843,5234,919,7829,74,3090,0,31697],"time":1689857160000,"hash":"d83936754a6a98eeab4c5feeac53cdacf997d1a3","title":"types: add internal types and rewrite enum"},{"results":[10.72,48843,5234,919,7829,74,3090,0,31697],"time":1689808721000,"hash":"3d3b9217d450a3c5a1d2610b3b0f230da7220000","title":"codegen: fix bug with built-ins from last commit"},{"results":[10.71,48843,5229,925,7828,74,3090,0,31697],"time":1689807456000,"hash":"49dc74f1adbae88057d5c7f59344e276cfaf5066","title":"codegen: store returnType of functions and main expr"},{"results":[10.72,48843,5234,919,7829,74,3090,0,31697],"time":1689805139000,"hash":"a37e5cb9903382f47b39127383ebf6a549753fea","title":"builtins: add various Math proposals"},{"results":[10.72,48843,5234,919,7829,74,3090,0,31697],"time":1689801117000,"hash":"c8bc1a25d7875bb679c62e09b724f82a28fad784","title":"test: add Math.imul tests"},{"results":[10.72,48843,5234,919,7829,74,3090,0,31697],"time":1689800960000,"hash":"06c99d1d393357d765077a01abbcec3a371fb7f8","title":"builtins: add types for undefined and null"},{"results":[10.71,48843,5232,921,7829,74,3090,0,31697],"time":1689800458000,"hash":"f6caefcf19d5241f864e5ac66d1c96b91369d54a","title":"codegen: reset type states on each codegen"},{"results":[10.71,48843,5232,921,7829,74,3090,0,31697],"time":1689799134000,"hash":"32d767c6734f79823a1e72f43ecd7e43d3c99f58","title":"opt: add signed ops to unneeded converts"},{"results":[10.71,48843,5232,921,7829,74,3090,0,31697],"time":1689798352000,"hash":"81b4105bb417a7f4027091a2777073fc745ef661","title":"builtins: add Math.imul"},{"results":[10.71,48843,5232,920,7830,74,3090,0,31697],"time":1689782185000,"hash":"283d1df0837d67303cf5327528ec787a133257ce","title":"readme: add codebase section"},{"results":[10.71,48843,5232,920,7830,74,3090,0,31697],"time":1689782041000,"hash":"48749c17af7daf76f6bf0bc17c05e5299f08f157","title":"codegen: add simd ops to leftover calc"},{"results":[10.71,48843,5232,920,7830,74,3090,0,31697],"time":1689781945000,"hash":"cda6cd6234d2c573a76e078151fcb2209e3d5954","title":"codegen: only add undefined return if no leftover"},{"results":[10.71,48843,5232,920,7830,74,3090,0,31697],"time":1689697510000,"hash":"0ba1c09da75f0efeb43f9256426902b6243b620c","title":"test262: update test262"},{"results":[10.76,48642,5232,920,7830,74,3091,0,31495],"time":1689688057000,"hash":"aeaafacd58479e27521923956f20432e35f9e512","title":"test262: replace some assert.throws with inline try"},{"results":[10.68,48642,5193,882,8001,72,2734,0,31760],"time":1689683675000,"hash":"e4823077ff92b90a4f74fbcfb2892b8aafadcd05","title":"readme: update"},{"results":[10.68,48642,5193,882,8001,72,2734,0,31760],"time":1689682196000,"hash":"02f0d7681c9617068ac958d2288efd3f51b86178","title":"codegen: handle new for type get"},{"results":[10.67,48642,5191,884,8001,72,2734,0,31760],"time":1689681948000,"hash":"074917b2a4fc4f8b6f876326ede3acddd862b0e6","title":"builtins: add return type"},{"results":[10.67,48642,5188,888,8000,72,2734,0,31760],"time":1689678202000,"hash":"11dd04afe9315f0f1a95395b157d09a0872135d5","title":"codegen: fix delete for undeclared"},{"results":[10.65,48642,5181,887,8008,72,2734,0,31760],"time":1689637647000,"hash":"6ef0300fd09d291cbf9de3fe464048b9d447666c","title":"codegen: static-y typeof"},{"results":[10.61,48642,5162,913,8001,72,2734,0,31760],"time":1689635079000,"hash":"6999da4e288ce610aa7edc38b4bb230ef4219a01","title":"codegen: typeof hack"},{"results":[10.52,48642,5119,213,7507,53,2702,0,33048],"time":1689631637000,"hash":"25f4059a5adf1f22c1280784f3b8aa21a62a0544","title":"site: add test262 graph"},{"results":[10.52,48642,5119,213,7507,53,2702,0,33048],"time":1689625907000,"hash":"ca84ac0121362cab90c28abc83e7a7959bdfa249","title":"test262: add another error detail removal"},{"results":[10.52,48642,5119,213,7507,53,2702,0,33048],"time":1689619065000,"hash":"38d5334143140a080ae86ecd29f72165fe6b45de","title":"codegen: throw ref errors at runtime"},{"results":[10.3,48642,5012,147,0,12,14792,0,28679],"time":1689618757000,"hash":"afb1513ef2ca8205916563df46e77fced7a86cce","title":"test: add tailcall"},{"results":[10.3,48642,5012,147,0,12,14792,0,28679],"time":1689592341000,"hash":"04abeaa7a56b4e75491d8ef4f623e7eff0d0b68b","title":"readme: add test262 section"},{"results":[10.3,48642,5012,147,0,12,14792,0,28679],"time":1689521232000,"hash":"4bef00fb1e9e85eaa5727994b1e14b01cdb0adaa","title":"bench/sunspider: initial add"},{"results":[10.3,48642,5012,147,0,12,14792,0,28679],"time":1689515220000,"hash":"47b4b8fb2286372d9cdb7026e914d99699c76b92","title":"test262: 10.3% | ๐Ÿงช 48642 | ๐Ÿค  5012 | โŒ 147 | ๐Ÿ’€ 0 | ๐Ÿงฉ 12 | ๐Ÿ’ฅ 14792 | ๐Ÿ“ 28679"},{"results":[10.3,48642,5010,147,0,12,14792,0,28681],"time":1689506972000,"hash":"20aed82da3d60ea9472f07833bb45d7c5693d642","title":"codegen: fix assign ops with >2 chars"},{"results":[10.25,48642,4985,149,0,51,14792,0,28665],"time":1689469355000,"hash":"2b8435c91387e22952fd98b81e86bd34901660af","title":"test262: 10.3% (+0.05) | ๐Ÿงช 48642 | ๐Ÿค  5010 (+25) | โŒ 147 (-2) | ๐Ÿ’€ 0 | ๐Ÿงฉ 12 (-39) | ๐Ÿ’ฅ 14792 | ๐Ÿ“ 28681 (+16)"},{"results":[10.25,48642,4985,149,0,51,14793,0,28664],"time":1689461749000,"hash":"21a06e87e49d08104a59d1ff14ab893c7b056a1b","title":"test262: 10.25% | ๐Ÿงช 48642 | ๐Ÿค  4985 | โŒ 149 | ๐Ÿ’€ 0 | ๐Ÿงฉ 51 | ๐Ÿ’ฅ 14792 (-1) | ๐Ÿ“ 28665 (+1)"},{"results":[10.19,48642,4956,143,0,41,14791,0,28711],"time":1689461521000,"hash":"456816f7420fec7238dd69920289cdea3fd9af19","title":"compiler: rewrite imports to use params/returns for each"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689453092000,"hash":"b4994d26d87e1568be16e2bfa464166b03159181","title":"repl: remove unused own parsing"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689452924000,"hash":"d4c088f4dbfbe6ccf6b67d772449d9f8ee4da863","title":"repl: return now removed return flag"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689448790000,"hash":"9c288705f7ea0d7117e20b758f4b8744c58375ee","title":"test262: 10.19% | ๐Ÿงช 48642 | ๐Ÿค  4956 | โŒ 138 | ๐Ÿ’€ 0 | ๐Ÿงฉ 41 | ๐Ÿ’ฅ 14799 | ๐Ÿ“ 28708"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689447325000,"hash":"ae3d50f7bd5c182109324f5c12d959cf07b5c407","title":"test: add bitwise not tests"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689435818000,"hash":"fe15f01f7e5f4d6faefb75af932a138f82605462","title":"site: get more commits from api"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689426594000,"hash":"0161dbf640f2234795d78ef74a80af67c5083c7f","title":"site: tweak commit log"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689419956000,"hash":"4d870fa9c5af119e7e3481cdbc33ae8459f3e454","title":"site: fix header overlap"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689419820000,"hash":"78fc62ac1e00cbc37e9f3480c7817fcb6e5a19e4","title":"site: fix getting percent from commits"},{"results":[10.19,48642,4956,138,0,41,14799,0,28708],"time":1689419143000,"hash":"9b329dde3c309a3b7334d76a117f54edda4b53c5","title":"test262: 10.19% | ๐Ÿงช 48642 | ๐Ÿค  4956 | โŒ 138 | ๐Ÿ’€ 0 | ๐Ÿงฉ 41 | ๐Ÿ’ฅ 14799 | ๐Ÿ“ 28708"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689371531000,"hash":"34b6cdfa108e2aa63c3ab1314c9f6d4172b370c9","title":"runner: do not write trailing newline"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689257189000,"hash":"1436c865df42d9e630769bbf106ff1701141c818","title":"runner: only log name and message for errors"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689257027000,"hash":"6ccc544205f82a260bd925ed5eac1a4ea4910a63","title":"codegen: remove debug info from referrors"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689256698000,"hash":"e7e7354ec88459900ff1cfde79babe25bbce983e","title":"wrap: tweak imports"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689256128000,"hash":"f4a2206aff1114dcc462ecfd2ec87e51ab61759e","title":"runner: move info to separate file"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689172794000,"hash":"ebbdb4f83634c2f93bf2f5135fc7ee4450279591","title":"opt: remove const, drop and index fixes"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689162489000,"hash":"e09b2a3fb1f433674e621dfc1c53a83cc31d85de","title":"test262: 10.18% | ๐Ÿงช 48642 | ๐Ÿค  4952 | โŒ 134 | ๐Ÿ’€ 0 | ๐Ÿงฉ 49 | ๐Ÿ’ฅ 14799 | ๐Ÿ“ 28708"},{"results":[10.18,48642,4952,134,0,49,14799,0,28708],"time":1689162376000,"hash":"85b711f9ffa301d417688d3f95eb9c904f2a8942","title":"codegen: improve leftover, add basic literal eval"},{"results":[10,48642,4864,124,0,41,15189,0,28424],"time":1689123121000,"hash":"4cdc58f2aaa4b9ad7d2fb1e3b3f9a9d534d3e352","title":"codegen: rewrite disposing of leftover"},{"results":[9.4],"time":1688830518000,"hash":"1216bfcec05b7e4204021064fdfcd2813eab1d6e","title":"builtins: add Boolean()"},{"results":[9.2],"time":1688828970000,"hash":"04c895650e9facbee6256e47fa53219b32030865","title":"codegen: add new expression hack for builtins"},{"results":[9.1],"time":1688828381000,"hash":"aab91a9c6da20cfafd874dd77c32663def173405","title":"builtins: add Number()"}] \ No newline at end of file