1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 07:08:10 +00:00
serenity/Userland/Libraries/LibJS/Tests/builtins/Array
Andreas Kling d0664ce6c9 LibJS: Don't punish large arrays with generic indexed property storage
This patch rethinks the way indexed property storage works:

Instead of having a cut-off point at 200 elements where we always move
to generic property storage, we now allow arrays to stay in simple mode
as long as we don't create a gap/hole larger than 200 elements.

We also simplify generic storage to only have a hash map (for now)
instead of juggling both a vector and a hash map. This is mostly fine
since the vast majority of arrays get to stay simple now.

This is a huge speedup on anything that uses basic JS arrays with more
than 200 elements in them. :^)
2021-03-21 11:37:10 +01:00
..
array-basic.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
array-length-setter.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
array-shrink-during-find-crash.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
array-simple-and-generic-storage-initialization.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
array-spread.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.from.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.isArray.js LibJS: Make ArrayPrototype an Array object 2021-02-24 10:22:17 +01:00
Array.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.of.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype-generic-functions.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.at.js LibJS: Implement 'Relative Indexing Method' proposal (.at()) 2021-03-12 19:01:08 +01:00
Array.prototype.concat.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.every.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.fill.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.filter.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.find.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.findIndex.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.flat.js LibJS: Implement tests for Array.prototype.flat 2021-02-18 00:22:45 +01:00
Array.prototype.forEach.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.includes.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.indexOf.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.join.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.lastIndexOf.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.map.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.pop.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.push.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.reduce.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.reduceRight.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.reverse.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.shift.js LibJS: Don't punish large arrays with generic indexed property storage 2021-03-21 11:37:10 +01:00
Array.prototype.slice.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.some.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.sort.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.splice.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.toLocaleString.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.toString.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.unshift.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Array.prototype.values.js Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00