Timothy Flynn
66264f7c2a
LibJS: Change ExecutionContext's arguments list to a MarkedValueList
...
The test262 tests under RegExp/property-escapes/generated will invoke
Reflect.apply with up to 10,000 arguments at a time. In LibJS, when the
call stack reached VM::call_internal, we transfer those arguments from
a MarkedValueList to the execution context's arguments Vector.
Because these types differ (MarkedValueList is a Vector<Value, 32>), the
arguments are copied rather than moved. By changing the arguments vector
to a MarkedValueList, we can properly move the passed arguments over.
This shaves about 2 seconds off the following test262 test (from 15sec):
RegExp/property-escapes/generated/General_Category_-_Decimal_Number.js
2021-08-10 23:07:50 +02:00
..
2021-08-08 20:14:59 +01:00
2021-08-09 17:33:14 +01:00
2021-08-10 23:07:50 +02:00
2021-07-23 23:06:57 +01:00
2021-06-27 22:36:04 +02:00
2021-06-23 13:59:17 +01:00
2021-06-23 13:59:17 +01:00
2021-07-06 14:20:30 +01:00
2021-06-27 22:36:04 +02:00
2021-07-06 14:20:30 +01:00
2021-07-16 17:50:01 +01:00
2021-07-05 02:38:31 +02:00
2021-07-07 10:14:44 +01:00
2021-07-07 10:14:44 +01:00
2021-07-14 20:44:42 +01:00
2021-07-08 01:45:15 +01:00
2021-06-27 22:36:04 +02:00
2021-08-08 21:32:58 +01:00
2021-07-16 17:50:01 +01:00
2021-06-27 22:36:04 +02:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-07-06 14:20:30 +01:00
2021-08-09 17:33:14 +01:00
2021-08-06 16:17:25 +01:00
2021-07-14 22:13:15 +01:00
2021-07-14 22:13:15 +01:00
2021-08-03 00:14:48 +01:00
2021-08-03 00:14:48 +01:00
2021-07-08 01:45:15 +01:00
2021-06-27 22:36:04 +02:00
2021-08-01 08:10:16 +02:00
2021-07-06 14:20:30 +01:00
2021-06-27 22:36:04 +02:00
2021-08-01 08:10:16 +02:00
2021-07-06 14:20:30 +01:00
2021-07-01 12:28:57 +02:00
2021-08-08 20:14:59 +01:00
2021-07-06 14:20:30 +01:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-07-06 14:20:30 +01:00
2021-06-27 22:36:04 +02:00
2021-08-01 08:10:16 +02:00
2021-06-14 01:45:04 +01:00
2021-08-01 08:10:16 +02:00
2021-07-27 19:51:44 +01:00
2021-07-10 19:51:07 +01:00
2021-06-27 22:36:04 +02:00
2021-08-09 17:33:14 +01:00
2021-07-08 01:25:49 +01:00
2021-07-02 00:26:31 +02:00
2021-07-02 00:26:31 +02:00
2021-07-01 12:28:57 +02:00
2021-07-02 00:26:31 +02:00
2021-07-06 14:20:30 +01:00
2021-06-26 19:06:55 +01:00
2021-07-06 14:20:30 +01:00
2021-06-27 22:36:04 +02:00
2021-07-06 14:20:30 +01:00
2021-08-08 17:45:06 +01:00
2021-06-24 19:28:00 +02:00
2021-06-27 22:40:49 +02:00
2021-06-27 22:40:49 +02:00
2021-07-06 14:20:30 +01:00
2021-06-27 22:36:04 +02:00
2021-08-01 08:10:16 +02:00
2021-06-15 23:59:21 +01:00
2021-07-06 14:20:30 +01:00
2021-06-27 22:36:04 +02:00
2021-07-05 13:53:30 +01:00
2021-07-01 12:28:57 +02:00
2021-06-27 22:36:04 +02:00
2021-07-05 13:53:30 +01:00
2021-08-01 08:10:16 +02:00
2021-07-06 14:20:30 +01:00
2021-07-13 20:40:57 +02:00
2021-07-06 14:20:30 +01:00
2021-06-27 22:36:04 +02:00
2021-07-06 14:20:30 +01:00
2021-07-01 12:28:57 +02:00
2021-07-06 14:20:30 +01:00
2021-06-19 00:04:57 +01:00
2021-07-16 17:50:01 +01:00
2021-07-02 00:26:31 +02:00
2021-08-08 20:14:59 +01:00
2021-08-09 17:33:14 +01:00
2021-07-07 10:14:44 +01:00
2021-07-07 10:14:44 +01:00
2021-07-06 14:20:30 +01:00
2021-07-04 00:51:43 +01:00
2021-06-25 22:01:23 +01:00
2021-06-27 22:36:04 +02:00
2021-07-06 14:20:30 +01:00
2021-06-27 22:36:04 +02:00
2021-06-13 00:33:18 +01:00
2021-06-15 23:51:20 +01:00
2021-07-08 01:45:15 +01:00
2021-06-27 22:36:04 +02:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-08-01 08:10:16 +02:00
2021-06-13 00:33:18 +01:00
2021-08-01 08:10:16 +02:00
2021-06-13 00:33:18 +01:00
2021-07-21 19:51:19 +02:00
2021-08-08 21:32:58 +01:00
2021-07-01 12:28:57 +02:00
2021-07-01 12:28:57 +02:00
2021-08-08 10:55:36 +02:00
2021-06-27 22:36:04 +02:00
2021-08-01 08:10:16 +02:00
2021-06-19 16:13:59 +01:00
2021-08-09 17:33:14 +01:00
2021-08-09 17:33:14 +01:00
2021-07-16 17:50:01 +01:00
2021-07-06 18:41:15 +01:00
2021-07-16 17:50:01 +01:00
2021-07-02 00:26:31 +02:00
2021-08-09 17:33:14 +01:00
2021-07-05 00:53:57 +01:00
2021-08-09 17:33:14 +01:00
2021-07-05 17:26:31 +01:00
2021-08-10 23:07:50 +02:00
2021-08-10 23:07:50 +02:00
2021-08-01 08:10:16 +02:00
2021-06-27 22:36:04 +02:00
2021-07-08 01:45:15 +01:00
2021-06-27 22:36:04 +02:00
2021-06-13 00:33:28 +01:00
2021-08-09 17:33:14 +01:00
2021-07-06 14:20:30 +01:00
2021-06-27 22:36:04 +02:00
2021-07-06 14:20:30 +01:00
2021-06-27 22:40:49 +02:00
2021-07-04 22:07:36 +01:00
2021-07-04 22:07:36 +01:00
2021-07-04 22:07:36 +01:00
2021-07-07 21:24:26 +01:00
2021-07-08 01:45:15 +01:00
2021-06-27 22:36:04 +02:00
2021-07-07 01:38:10 +01:00
2021-07-04 22:07:36 +01:00
2021-07-16 17:50:01 +01:00
2021-07-01 12:28:57 +02:00
2021-08-08 21:32:58 +01:00
2021-07-09 19:45:55 +01:00
2021-06-27 22:36:04 +02:00
2021-08-01 08:10:16 +02:00
2021-07-30 21:26:31 +01:00
2021-08-10 23:07:50 +02:00
2021-08-10 23:07:50 +02:00
2021-08-10 23:07:50 +02:00
2021-08-10 23:07:50 +02:00
2021-08-10 23:07:50 +02:00
2021-07-16 13:53:11 +01:00
2021-06-15 23:51:20 +01:00
2021-07-08 01:45:15 +01:00
2021-06-27 22:36:04 +02:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-08-01 08:10:16 +02:00
2021-08-08 21:32:58 +01:00
2021-07-04 22:07:36 +01:00
2021-06-13 19:11:29 +02:00
2021-08-10 23:07:50 +02:00
2021-06-27 22:36:04 +02:00
2021-06-20 12:12:39 +02:00
2021-06-20 12:12:39 +02:00
2021-08-01 08:10:16 +02:00
2021-07-22 09:10:44 +02:00
2021-07-04 22:07:36 +01:00
2021-06-13 19:11:29 +02:00
2021-08-10 23:07:50 +02:00
2021-07-27 22:35:24 +01:00
2021-06-15 18:31:52 +01:00
2021-06-15 18:31:52 +01:00
2021-07-08 01:45:15 +01:00
2021-06-27 22:36:04 +02:00
2021-08-01 08:10:16 +02:00
2021-06-15 18:31:52 +01:00
2021-08-01 08:10:16 +02:00
2021-07-16 17:50:01 +01:00
2021-07-14 20:44:42 +01:00
2021-07-16 17:50:01 +01:00
2021-07-05 00:27:03 +01:00
2021-08-09 17:33:14 +01:00
2021-08-06 16:17:25 +01:00
2021-08-10 23:07:50 +02:00
2021-08-10 23:07:50 +02:00
2021-08-10 23:07:50 +02:00
2021-08-10 23:07:50 +02:00
2021-08-10 23:07:50 +02:00
2021-08-10 23:07:50 +02:00
2021-07-21 20:17:55 +02:00
2021-07-21 20:17:55 +02:00
2021-06-27 22:40:49 +02:00
2021-06-27 22:40:49 +02:00
2021-07-06 14:20:30 +01:00
2021-06-27 22:36:04 +02:00
2021-08-08 21:32:58 +01:00
2021-06-27 22:40:49 +02:00
2021-06-27 22:40:49 +02:00
2021-07-06 14:20:30 +01:00
2021-06-27 22:36:04 +02:00
2021-08-08 21:32:58 +01:00
2021-06-27 22:40:49 +02:00
2021-06-27 22:40:49 +02:00
2021-07-06 14:20:30 +01:00
2021-06-27 22:36:04 +02:00
2021-08-01 08:10:16 +02:00