Aliaksandr Kalenik
ebb3d8025c
LibJS: Get this from execution context for non-arrow functions
...
Allows to skip function environment allocation for non-arrow functions
if the only reason it is needed is to hold `this` binding.
The parser is changed to do following:
- If a function is an arrow function and uses `this` then all functions
in a scope chain are marked to allocate function environment for
`this` binding.
- If a function uses `new.target` then all functions in a scope chain
are marked to allocate function environment.
`ordinary_call_bind_this()` is changed to put `this` value in execution
context when function environment allocation is skipped.
35% improvement in Octane/typescript.js
50% improvement in Octane/deltablue.js
19% improvement in Octane/raytrace.js
2024-05-22 18:30:13 +02:00
..
2024-04-27 18:29:35 -04:00
2024-05-13 23:45:45 +01:00
2024-05-13 23:45:45 +01:00
2024-05-13 23:45:45 +01:00
2024-04-27 18:29:35 -04:00
2024-01-04 10:10:44 +01:00
2024-04-16 07:40:01 +02:00
2024-03-09 16:13:32 +01:00
2024-03-09 16:13:32 +01:00
2024-04-27 18:29:35 -04:00
2024-03-16 14:27:59 +01:00
2024-04-27 18:29:35 -04:00
2024-03-18 13:42:16 +01:00
2024-03-11 18:29:10 +01:00
2024-03-16 16:35:54 +01:00
2024-04-27 18:29:35 -04:00
2024-05-20 08:21:41 +02:00
2024-05-14 13:35:36 -04:00
2024-05-14 13:35:36 -04:00
2024-04-27 18:29:35 -04:00
2024-05-20 16:57:52 -04:00
2024-04-22 17:10:11 +02:00
2024-03-09 16:13:32 +01:00
2024-04-27 18:29:35 -04:00
2024-05-19 16:24:11 +02:00
2024-05-19 16:24:11 +02:00
2024-05-19 16:24:11 +02:00
2024-05-16 20:31:23 +02:00
2024-01-12 09:11:18 +01:00
2024-05-19 07:22:17 +02:00
2024-05-07 17:21:52 -06:00
2024-05-19 16:24:11 +02:00
2024-04-17 07:17:27 +02:00
2024-04-27 18:29:35 -04:00
2024-04-08 14:25:08 +02:00
2024-02-25 10:17:25 +01:00
2024-05-22 18:30:13 +02:00
2024-04-09 09:13:06 +02:00
2024-05-07 16:45:28 -06:00
2024-04-26 07:44:01 -04:00
2024-04-27 18:29:35 -04:00
2023-12-23 20:53:11 +01:00
2024-01-18 14:00:06 +01:00
2024-04-09 09:13:06 +02:00
2024-04-09 09:13:06 +02:00
2024-05-07 16:45:28 -06:00
2024-04-27 18:29:35 -04:00
2024-04-09 09:13:06 +02:00
2024-04-27 18:29:35 -04:00
2024-04-27 18:29:35 -04:00
2024-04-14 22:08:22 +02:00
2024-01-03 10:13:47 +01:00
2024-05-07 16:45:28 -06:00
2024-05-07 16:45:28 -06:00
2024-04-27 18:29:35 -04:00
2024-04-27 18:29:35 -04:00
2024-04-27 18:29:35 -04:00
2024-01-12 09:11:18 +01:00
2024-05-07 16:45:28 -06:00
2024-05-12 07:28:09 +01:00
2024-05-12 07:28:09 +01:00
2024-02-24 08:09:01 +01:00
2024-04-27 18:29:35 -04:00
2023-12-24 13:26:50 +01:00
2024-03-16 16:35:54 +01:00
2024-05-07 16:45:28 -06:00
2024-05-12 07:28:09 +01:00
2024-01-20 08:56:52 +01:00
2024-05-07 17:27:37 -06:00
2024-05-07 17:27:37 -06:00
2024-05-07 17:27:37 -06:00
2024-05-07 16:45:28 -06:00
2024-04-16 07:40:01 +02:00
2024-04-27 18:29:35 -04:00
2024-04-16 07:41:33 +02:00
2024-04-16 07:41:33 +02:00
2024-04-27 18:29:35 -04:00
2024-04-26 20:01:58 +02:00
2024-04-27 18:29:35 -04:00
2024-03-18 14:06:28 -04:00
2024-03-18 14:06:28 -04:00