Andreas Kling
e23fe8cf87
LibJS: Make define_native_foo() take SafeFunctions
...
We were taking AK::Function and then passing them along to
NativeFunction, which takes a SafeFunction. This works, since
SafeFunction will transparently wrap AK::Function in a CallableWrapper
when assigned, but it was causing us to accumulate thousands of
pointless wrappers around direct function pointers.
By using SafeFunction at every step of the setup call chain, we no
longer create any CallableWrappers for the majority of native functions
in LibJS. Also, the number of heap-registered SafeFunctions in a new
realm goes down from ~5000 to 5. :^)
2022-10-20 15:16:23 +02:00
..
2022-10-17 12:56:05 +02:00
2022-10-20 00:53:44 +02:00
2022-09-02 22:47:28 +01:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-16 05:39:28 +00:00
2022-08-29 03:24:54 +02:00
2022-08-26 19:18:26 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-08-29 03:24:54 +02:00
2022-02-14 23:02:56 +00:00
2022-10-01 15:36:20 +01:00
2022-10-17 17:08:33 +02:00
2022-10-02 23:02:27 +01:00
2022-08-23 13:58:30 +01:00
2022-09-21 20:03:49 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-10-15 22:55:48 +02:00
2022-10-15 18:05:02 +02:00
2022-09-17 18:53:14 +02:00
2022-08-29 03:24:54 +02:00
2022-10-15 18:05:02 +02:00
2022-08-29 03:24:54 +02:00
2022-09-02 02:07:37 +01:00
2022-09-18 13:27:24 -04:00
2022-10-02 23:02:27 +01:00
2022-08-29 03:24:54 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-07-12 23:11:35 +02:00
2022-10-17 17:08:33 +02:00
2022-09-06 00:27:09 +02:00
2022-10-02 23:02:27 +01:00
2022-09-03 00:36:26 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-09-15 09:45:13 +02:00
2022-09-15 09:45:13 +02:00
2022-09-15 09:45:13 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-28 16:36:56 +01:00
2022-08-29 03:24:54 +02:00
2022-10-10 12:23:12 +02:00
2022-08-29 03:24:54 +02:00
2022-04-01 21:24:45 +01:00
2022-04-01 21:24:45 +01:00
2022-09-27 14:56:17 +01:00
2022-09-27 14:56:17 +01:00
2022-02-18 13:57:34 +00:00
2022-08-27 11:29:10 +01:00
2022-08-23 13:58:30 +01:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-10-06 16:41:36 +02:00
2022-10-06 16:41:36 +02:00
2022-09-02 02:07:37 +01:00
2022-08-29 03:24:54 +02:00
2022-09-27 14:56:17 +01:00
2022-09-27 14:56:17 +01:00
2022-10-04 23:35:07 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-10-20 15:16:23 +02:00
2022-10-20 15:16:23 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-08-29 03:24:54 +02:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-08-23 13:58:30 +01:00
2022-10-02 23:02:27 +01:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-07-12 23:11:35 +02:00
2022-08-27 11:29:10 +01:00
2022-08-23 13:58:30 +01:00
2022-10-01 15:36:20 +01:00
2022-08-23 13:58:30 +01:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-09-02 22:44:44 +01:00
2022-08-29 03:24:54 +02:00
2022-09-06 00:27:09 +02:00
2022-09-06 00:27:09 +02:00
2022-08-27 11:29:10 +01:00
2022-08-23 13:58:30 +01:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-10-17 17:08:33 +02:00
2022-10-17 17:08:33 +02:00
2022-10-19 16:10:42 +02:00
2022-10-19 16:10:42 +02:00
2022-10-17 17:08:33 +02:00
2022-10-17 17:08:33 +02:00
2022-10-19 16:10:42 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-10-02 23:02:27 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-28 16:36:56 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-23 13:58:30 +01:00
2022-08-29 03:24:54 +02:00
2022-10-16 17:32:02 +02:00
2022-09-18 13:27:24 -04:00
2022-08-23 13:58:30 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-10-15 18:05:02 +02:00
2022-10-15 18:05:02 +02:00
2022-04-02 14:15:43 +01:00
2022-10-02 23:02:27 +01:00
2022-10-02 23:02:27 +01:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-09-15 09:45:13 +02:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00
2022-08-27 11:29:10 +01:00
2022-08-29 03:24:54 +02:00