Andreas Kling
a3e4535f34
LibJS: Resolve rope strings directly to UTF-16 when preferable
...
When someone calls PrimitiveString::utf16_string() on a rope string,
we know for sure that the client wants a UTF-16 string and may not
be interested in a UTF-8 version at all.
To avoid round-tripping through UTF-8 in this scenario, callers can
now inform resolve_rope_if_needed() about their preferred encoding,
should rope resolution take place. The UTF-16 case is actually a lot
simpler than the UTF-8 case, since we can simply ask for UTF-16 data
for each fiber of the rope, and then concatenate all the fibers.
Since LibJS always uses UTF-16 for regular expression matching, this
avoids round-tripping through UTF-8 whenever the input to a regex test
is already UTF-16. :^)
2023-07-13 20:53:54 +02:00
..
2023-07-08 10:32:56 +01:00
2023-07-08 10:32:56 +01:00
2023-07-07 19:35:08 +02:00
2023-07-12 00:34:01 +02:00
2023-04-30 06:04:33 +02:00
2023-04-13 14:29:42 +02:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-07-09 12:54:06 +02:00
2023-07-09 12:54:06 +02:00
2023-03-20 16:33:16 +00:00
2023-07-08 10:32:56 +01:00
2023-07-01 16:55:17 +01:00
2023-07-06 14:55:46 +01:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-07-01 16:55:17 +01:00
2023-06-30 23:23:15 +02:00
2023-04-15 16:23:03 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-07-12 00:03:54 +02:00
2023-01-29 00:02:45 +00:00
2023-06-26 10:39:07 +02:00
2023-06-26 10:39:07 +02:00
2023-06-26 10:39:07 +02:00
2023-06-26 10:39:07 +02:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-06-27 13:48:27 +02:00
2023-02-26 19:40:09 +01:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-07-06 14:55:46 +01:00
2023-01-29 00:02:45 +00:00
2023-02-16 14:32:22 +01:00
2023-02-16 14:32:22 +01:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-03-15 08:48:49 +01:00
2023-04-15 16:06:02 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-01-29 00:02:45 +00:00
2023-03-15 08:48:49 +01:00
2023-07-13 00:02:19 +02:00
2023-04-13 14:29:42 +02:00
2023-03-06 13:05:43 +00:00
2023-06-22 06:46:27 +02:00
2023-06-22 06:46:27 +02:00
2023-04-13 14:29:42 +02:00
2023-03-15 08:48:49 +01:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-07-06 14:55:46 +01:00
2023-01-29 00:02:45 +00:00
2023-06-15 14:03:51 +01:00
2023-06-15 14:03:51 +01:00
2023-05-24 23:18:07 +02:00
2023-01-29 00:02:45 +00:00
2023-06-15 14:03:51 +01:00
2023-01-29 00:02:45 +00:00
2023-07-12 16:03:16 +02:00
2023-07-12 16:03:16 +02:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-07-09 06:26:10 +02:00
2023-07-08 10:32:56 +01:00
2023-04-30 06:04:33 +02:00
2023-03-15 08:48:49 +01:00
2023-07-13 10:56:59 +02:00
2023-05-28 14:40:22 +02:00
2023-05-28 10:03:11 +02:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-06-26 10:39:07 +02:00
2023-07-05 21:03:01 +02:00
2023-07-05 21:03:01 +02:00
2023-01-28 00:41:18 +00:00
2023-03-15 08:48:49 +01:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-07-08 14:03:12 +02:00
2023-01-29 00:02:45 +00:00
2023-03-15 08:48:49 +01:00
2023-02-26 19:40:09 +01:00
2023-02-11 21:47:57 +00:00
2023-07-08 10:32:56 +01:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-07-02 14:50:02 +02:00
2023-03-15 08:48:49 +01:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-07-13 10:56:59 +02:00
2023-03-15 08:48:49 +01:00
2023-07-01 16:55:17 +01:00
2023-01-29 00:02:45 +00:00
2023-07-09 12:54:06 +02:00
2023-07-01 16:55:17 +01:00
2023-06-26 10:39:07 +02:00
2023-07-12 23:57:41 +02:00
2023-07-12 23:26:51 +02:00
2023-07-12 23:26:51 +02:00
2023-06-26 10:39:07 +02:00
2023-06-26 10:39:07 +02:00
2023-06-26 10:39:07 +02:00
2023-06-26 10:39:07 +02:00
2023-06-26 10:39:07 +02:00
2023-06-26 10:39:07 +02:00
2023-06-26 10:39:07 +02:00
2023-07-12 23:26:51 +02:00
2023-06-26 10:39:07 +02:00
2023-04-13 14:29:42 +02:00
2023-03-15 08:48:49 +01:00
2023-04-13 14:29:42 +02:00
2023-03-15 08:48:49 +01:00
2023-07-12 00:03:54 +02:00
2023-07-12 00:03:54 +02:00
2023-04-13 14:29:42 +02:00
2023-03-15 08:48:49 +01:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-04-15 14:07:28 +02:00
2023-01-29 00:02:45 +00:00
2023-05-30 06:16:20 +02:00
2023-01-29 00:02:45 +00:00
2023-03-15 08:48:49 +01:00
2023-07-09 12:54:06 +02:00
2023-07-09 12:54:06 +02:00
2023-04-13 14:29:42 +02:00
2023-07-08 10:32:56 +01:00
2023-07-02 21:19:09 +01:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-07-09 12:54:06 +02:00
2023-07-11 00:14:50 +02:00
2023-07-12 00:03:54 +02:00
2023-07-12 00:03:54 +02:00
2023-04-13 14:29:42 +02:00
2023-03-15 08:48:49 +01:00
2023-04-15 14:07:28 +02:00
2023-01-29 00:02:45 +00:00
2023-07-13 20:53:54 +02:00
2023-07-13 20:53:54 +02:00
2023-04-30 06:04:33 +02:00
2023-03-15 08:48:49 +01:00
2023-04-13 14:29:42 +02:00
2023-03-15 08:48:49 +01:00
2023-06-29 08:43:28 +02:00
2023-06-28 23:36:15 +01:00
2023-07-13 00:02:19 +02:00
2023-07-13 00:02:19 +02:00
2023-03-15 08:48:49 +01:00
2023-03-15 08:48:49 +01:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-04-30 06:04:33 +02:00
2023-04-30 06:04:33 +02:00
2023-03-15 08:48:49 +01:00
2023-04-13 14:29:42 +02:00
2023-03-15 08:48:49 +01:00
2023-02-16 14:32:22 +01:00
2023-07-09 12:54:06 +02:00
2023-04-13 14:29:42 +02:00
2023-04-14 09:59:29 +02:00
2023-04-15 14:07:28 +02:00
2023-01-29 00:02:45 +00:00
2023-07-09 12:54:06 +02:00
2023-07-09 12:54:06 +02:00
2023-02-27 23:57:08 +00:00
2023-03-15 08:48:49 +01:00
2023-07-13 10:56:59 +02:00
2023-07-06 21:36:13 +01:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-06-23 20:22:45 +02:00
2023-01-29 00:02:45 +00:00
2023-04-09 22:00:54 +02:00
2023-06-23 20:22:45 +02:00
2023-01-29 00:02:45 +00:00
2023-06-23 20:22:45 +02:00
2023-01-29 00:02:45 +00:00
2023-06-23 20:22:45 +02:00
2023-03-15 08:48:49 +01:00
2023-06-23 20:22:45 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-03-15 08:48:49 +01:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-06-26 10:39:07 +02:00
2023-01-29 00:02:45 +00:00
2023-07-12 16:03:16 +02:00
2023-03-15 08:48:49 +01:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-07-11 00:14:50 +02:00
2023-07-11 00:14:50 +02:00
2023-07-01 16:55:17 +01:00
2023-07-01 16:55:17 +01:00
2023-07-01 16:55:17 +01:00
2023-07-01 16:55:17 +01:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-04-15 14:07:28 +02:00
2023-03-15 08:48:49 +01:00
2023-02-11 21:47:57 +00:00
2023-05-26 05:23:55 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 13:04:44 +02:00
2023-04-13 13:04:44 +02:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-03-15 08:48:49 +01:00
2023-04-15 16:06:52 +02:00
2023-01-29 00:02:45 +00:00
2023-02-17 09:14:23 -05:00
2023-02-17 09:14:23 -05:00
2023-07-06 14:55:46 +01:00
2023-07-09 12:54:06 +02:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-07-06 14:55:46 +01:00
2023-01-29 00:02:45 +00:00
2023-07-01 20:29:12 +01:00
2023-07-08 10:32:56 +01:00
2023-01-29 00:02:45 +00:00
2023-06-26 10:39:07 +02:00
2023-07-11 09:38:37 +03:30
2023-04-13 14:29:42 +02:00
2023-07-08 10:32:56 +01:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-07-08 10:32:56 +01:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-04-13 14:29:42 +02:00
2023-07-08 10:32:56 +01:00
2023-04-13 14:29:42 +02:00
2023-01-29 00:02:45 +00:00
2023-04-14 09:59:29 +02:00
2023-01-29 00:02:45 +00:00
2023-06-26 10:39:07 +02:00
2023-06-26 10:39:07 +02:00
2023-03-15 08:48:49 +01:00
2023-03-15 08:48:49 +01:00