Guido van Rossum
8deb8bc2e5
gh-112287: Speed up Tier 2 (uop) interpreter a little ( #112286 )
...
This makes the Tier 2 interpreter a little faster.
I calculated by about 3%,
though I hesitate to claim an exact number.
This starts by doubling the trace size limit (to 512),
making it more likely that loops fit in a trace.
The rest of the approach is to only load
`oparg` and `operand` in cases that use them.
The code generator know when these are used.
For `oparg`, it will conditionally emit
```
oparg = CURRENT_OPARG();
```
at the top of the case block.
(The `oparg` variable may be referenced multiple times
by the instructions code block, so it must be in a variable.)
For `operand`, it will use `CURRENT_OPERAND()` directly
instead of referencing the `operand` variable,
which no longer exists.
(There is only one place where this will be used.)
2023-11-20 11:25:32 -08:00
..
2023-10-30 22:33:49 +00:00
2023-08-26 04:05:17 +02:00
2023-11-16 12:19:54 -07:00
2023-08-21 18:05:59 +00:00
2023-07-25 03:16:28 +00:00
2023-08-21 18:05:59 +00:00
2023-08-21 19:15:52 +02:00
2023-08-24 16:06:53 +00:00
2023-11-15 16:38:31 +00:00
2023-08-29 01:20:02 +00:00
2023-10-27 03:57:29 +00:00
2023-11-03 16:39:50 +00:00
2023-11-03 15:21:16 +00:00
2023-08-21 19:15:52 +02:00
2023-11-14 00:31:02 +00:00
2023-11-15 16:38:31 +00:00
2023-09-30 19:25:54 +02:00
2023-08-24 19:37:41 +02:00
2023-11-20 15:52:00 +02:00
2023-11-06 11:09:22 -07:00
2023-07-22 20:57:59 +00:00
2023-11-15 16:38:31 +00:00
2023-07-25 03:44:11 +02:00
2023-09-08 17:54:45 +01:00
2023-09-15 15:04:21 -07:00
2023-08-21 18:05:59 +00:00
2023-08-21 19:15:52 +02:00
2023-09-23 09:35:30 +03:00
2023-08-24 19:09:49 +02:00
2023-08-10 13:03:47 +01:00
2023-11-09 10:27:20 +00:00
2023-08-17 11:29:58 -07:00
2023-08-24 16:06:53 +00:00
2023-10-17 07:32:50 +09:00
2023-10-17 15:57:10 +02:00
2023-08-21 18:05:59 +00:00
2023-10-17 15:57:10 +02:00
2023-08-24 16:06:53 +00:00
2023-11-15 16:38:31 +00:00
2023-08-24 16:06:53 +00:00
2023-11-20 15:52:00 +02:00
2023-09-01 12:43:30 +02:00
2023-11-03 16:39:50 +00:00
2023-11-03 16:39:50 +00:00
2023-08-21 19:15:52 +02:00
2023-11-03 11:02:39 +00:00
2023-09-19 09:54:29 -06:00
2023-11-20 15:52:00 +02:00
2023-11-15 16:38:31 +00:00
2023-08-24 19:07:54 +02:00
2023-10-30 15:43:11 +00:00
2023-11-16 12:19:54 -07:00
2023-07-22 21:41:11 +00:00
2023-07-25 03:16:28 +00:00
2023-08-31 18:33:34 +02:00
2023-11-20 15:52:00 +02:00
2023-08-24 17:28:35 +02:00
2023-11-20 10:08:53 -08:00
2023-11-02 10:18:43 +00:00
2023-10-29 13:53:25 -07:00
2023-09-19 09:54:29 -06:00
2023-10-13 09:25:37 +00:00
2023-08-24 17:28:35 +02:00
2023-08-24 17:47:44 +00:00
2023-10-09 07:39:51 -06:00
2023-11-06 11:09:22 -07:00
2023-11-15 16:38:31 +00:00
2023-10-26 15:17:28 +09:00
2023-10-30 15:43:11 +00:00
2023-07-25 03:16:28 +00:00
2023-11-15 16:38:31 +00:00
2023-09-06 15:54:59 +00:00
2023-08-29 04:18:52 +02:00
2023-11-04 13:59:24 +00:00
2023-10-17 15:57:10 +02:00
2023-11-01 17:36:40 -06:00
2023-11-16 12:19:54 -07:00
2023-09-30 19:25:54 +02:00
2023-08-24 17:40:56 +02:00
2023-10-10 08:26:29 +09:00
2023-08-21 18:12:22 +00:00
2023-07-25 03:16:28 +00:00
2023-07-25 00:54:09 +00:00
2023-08-24 20:02:09 +00:00
2023-10-07 19:33:22 +02:00
2023-08-24 17:40:56 +02:00
2023-10-12 14:52:14 +00:00
2023-07-25 02:25:45 +00:00
2023-07-23 19:16:21 +00:00
2023-08-24 17:40:56 +02:00
2023-10-17 15:57:10 +02:00
2023-11-15 16:38:31 +00:00
2023-11-20 11:25:32 -08:00
2023-07-25 02:25:45 +00:00
2023-11-20 07:36:45 +09:00