Aliaksandr Kalenik
e81833423b
LibJS: Add PutByNumericId and change PutById to be string key only
...
Previously, PutById constructed a PropertyKey from the identifier,
which coerced numeric-like strings to numbers. This moves that decision
to bytecode generation: the bytecode generator now emits PutByNumericId
for numeric keys and PutById for string keys. This removes per-execution
parsing from the interpreter.
1.4x speedup on the following microbenchmark:
```js
const o = {};
for (let i = 0; i < 10_000_000; i++) {
o.a = 1;
o.b = 2;
o.c = 3;
}
```
2025-09-13 20:02:28 +02:00
..
2025-09-13 20:02:28 +02:00
2025-09-07 08:35:10 -04:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2025-01-21 14:58:32 +01:00
2024-12-14 12:08:50 -08:00
2025-06-17 20:48:45 +02:00
2025-05-26 12:44:21 +03:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2025-09-02 12:59:52 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2025-04-29 07:33:08 -04:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2025-08-10 13:35:37 +02:00
2024-12-26 17:23:10 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2025-05-12 07:41:29 -04:00
2025-06-02 00:15:36 +02:00
2024-11-10 12:50:45 +01:00
2025-02-05 08:05:01 -05:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2025-01-17 17:15:12 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2025-04-29 07:33:08 -04:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2025-03-27 12:18:30 +00:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2025-06-16 14:20:48 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00
2025-01-17 14:36:03 +01:00
2024-11-10 12:50:45 +01:00
2024-11-10 12:50:45 +01:00