diff options
author | Nicholas Clark <nick@ccl4.org> | 2012-03-30 21:23:25 +0200 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2012-04-24 10:51:55 +0200 |
commit | db1070bec96fc0ff63cd42e3675f6f102d66afd0 (patch) | |
tree | be3697ec0e7d0ec1c048dbe3705f5c0b48b7ae62 /Porting/todo.pod | |
parent | e12cb30b0275e9b3bbf93f5bd609730d429cddca (diff) | |
download | perl-db1070bec96fc0ff63cd42e3675f6f102d66afd0.tar.gz |
Switching entersub ops from "XS" to "Perl" and back likely won't help.
Switching OPs goes against the grain of immutable optrees under ithreads -
it could probably be made to work, but the amount of extra effort would be
non-trivial.
Secondly, cache misses are the overriding speed hit on modern CPUs.
The code switching proposed would add complexity but only be able to change
the number of branch instructions encountered, which come a distant second
to cache misses as a speed hit. The code switching would not change the data
lookups needed, and hence not the cache misses they cause.
Diffstat (limited to 'Porting/todo.pod')
-rw-r--r-- | Porting/todo.pod | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/Porting/todo.pod b/Porting/todo.pod index 8eb1a37703..81031fba90 100644 --- a/Porting/todo.pod +++ b/Porting/todo.pod @@ -950,13 +950,6 @@ as a module on CPAN. Allow lexical aliases (maybe via the syntax C<my \$alias = \$foo>). -=head2 entersub XS vs Perl - -At the moment pp_entersub is huge, and has code to deal with entering both -perl and XS subroutines. Subroutine implementations rarely change between -perl and XS at run time, so investigate using 2 ops to enter subs (one for -XS, one for perl) and swap between if a sub is redefined. - =head2 Self-ties Self-ties are currently illegal because they caused too many segfaults. Maybe |