mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-23 08:00:20 +00:00
cf6792ec40
Since we can't rely on shape identity (i.e its pointer address) for unique shapes, give them a serial number that increments whenever a mutation occurs. Inline caches can then compare this serial number against what they have seen before.
18 lines
438 B
JavaScript
18 lines
438 B
JavaScript
test("Inline cache invalidated by deleting property from unique shape", () => {
|
|
// Create an object with an unique shape by adding a huge amount of properties.
|
|
let o = {};
|
|
for (let x = 0; x < 1000; ++x) {
|
|
o["prop" + x] = x;
|
|
}
|
|
|
|
function ic(o) {
|
|
return o.prop2;
|
|
}
|
|
|
|
let first = ic(o);
|
|
delete o.prop2;
|
|
let second = ic(o);
|
|
|
|
expect(first).toBe(2);
|
|
expect(second).toBeUndefined();
|
|
});
|