diff options
Diffstat (limited to 'etc')
| -rw-r--r-- | etc/NEWS | 6 | ||||
| -rw-r--r-- | etc/TODO | 9 |
2 files changed, 6 insertions, 9 deletions
| @@ -3885,6 +3885,12 @@ At native compilation speed 2 and above, declared function types are | |||
| 3885 | used for type propagation, value prediction, and optimization within | 3885 | used for type propagation, value prediction, and optimization within |
| 3886 | function bodies. | 3886 | function bodies. |
| 3887 | 3887 | ||
| 3888 | ** Native compilation speed 2 now optimizes local calls. | ||
| 3889 | Named calls between native-compiled functions in the same compilation | ||
| 3890 | unit can now be optimized at speed 2 while still honoring later | ||
| 3891 | redefinition through a trampoline. At speed 3, these calls keep the | ||
| 3892 | previous direct-call behavior. | ||
| 3893 | |||
| 3888 | ** Nested backquotes are not supported any more in Pcase patterns. | 3894 | ** Nested backquotes are not supported any more in Pcase patterns. |
| 3889 | 3895 | ||
| 3890 | --- | 3896 | --- |
| @@ -993,15 +993,6 @@ It would make it easy to add (and remove) mappings like | |||
| 993 | 993 | ||
| 994 | *** Performance | 994 | *** Performance |
| 995 | 995 | ||
| 996 | **** Intra compilation unit call optimization | ||
| 997 | |||
| 998 | We could have a mechanism similar to what we use for optimizing calls | ||
| 999 | to primitive functions. IE using a link table for each compilation | ||
| 1000 | unit (CU) such that calls from functions in a CU targeting functions | ||
| 1001 | in the same CU don't have to go through funcall. If one of these | ||
| 1002 | functions is redefined, a trampoline is compiled and installed to | ||
| 1003 | restore the redirection through funcall. | ||
| 1004 | |||
| 1005 | **** Better runtime function inlining | 996 | **** Better runtime function inlining |
| 1006 | 997 | ||
| 1007 | Several functions could be open-coded in generated code once exposed to | 998 | Several functions could be open-coded in generated code once exposed to |