<?xml version="1.0" encoding="windows-1252"?>
<node id="857302" title="bulk88" created="2010-08-25 17:18:31" updated="2013-04-01 15:47:02">
<type id="15">
user</type>
<author id="857302">
bulk88</author>
<data>
<field name="doctext">
I have a CPAN User ID, [http://search.cpan.org/~bulkdd/|BULKDD], and a [href://https://github.com/bulk88|github].
&lt;br&gt;&lt;br&gt;
Bookmarks:
&lt;br&gt;
[id://987483] interp machine code func sizes
&lt;br&gt;&lt;br&gt;
Interp todo list:
&lt;br&gt;&lt;br&gt;
[href://http://perl5.git.perl.org/perl.git/shortlog/refs/heads/smueller/sort] investigate added to blead, needs bug fixes, has macro code bloat, nearly 4 KB
&lt;br&gt;&lt;br&gt;
[href://http://perl5.git.perl.org/perl.git/commit/8d919b0a35f2b57a6bed2f8355b25b19ac5ad0c5?f=sv.h] investigate removing isREGEXP code
&lt;br&gt;&lt;br&gt;
for newXS, store the file char * param in an interp global, don't pass it each time, save strlen too, consider encoding file, proto, and xsub names in 3 UCHARs in a bitfield for flags param. Maybe vararg it. appropriate changes to parseXS too.
&lt;br&gt;&lt;br&gt;
SvPV, return a struct, len goes into EDX only on EAX EDX return platforms like win32 32 bit x86, saved 0x200 instruction bytes in interp in crude test
&lt;br&gt;&lt;br&gt;
look through old tickets which weren't applied yet
&lt;br&gt;&lt;br&gt;
fastcall on msvc gcc 32 bit, 10% faster in perlbench
&lt;br&gt;&lt;br&gt;
regcall on intel c, sounds much better than fastcall, and structs returned in regs on x64 supposedly, see SvPV EAX EDX item
&lt;br&gt;&lt;br&gt;
strlen audit
&lt;br&gt;&lt;br&gt;
too many upg_version calls on PL_patchlevel, see http://www.nntp.perl.org/group/perl.perl5.porters/2012/11/msg196004.html 
&lt;br&gt;&lt;br&gt;
speed test siphash on 32 bit x86 with non native i64s vs one at a time [href://http://perl5.git.perl.org/perl.git/commit/3db6cbfca39da94d152d3e860e2aa79b9c6bb161], mostly done
&lt;br&gt;&lt;br&gt;
win32 Perl_init_os_extras, remove the GetProcAddress overhead, now that PERL_IS_MINIPERL define exists from makefiles
&lt;br&gt;&lt;br&gt;
av_fetch_flags, never returns null, will return PL_sv_undef instead. Removes a common idiom. Turning lval param into a flags will cost zero instructions, since there is always an lval param right now anyways.
&lt;br&gt;&lt;br&gt;
remove context from Perl_mg_find* and S_mg_findext_flags, use .fnc for back compatb</field>
<field name="lasttime">
2013-05-23 08:40:48</field>
<field name="experience">
2654</field>
<field name="user_scratchpad">
857303</field>
<field name="imgsrc">
</field>
<field name="timeformat">
</field>
<field name="numwriteups">
469</field>
<field name="location">
</field>
<field name="timezone">
America/New_York</field>
<field name="codewrapoff">
</field>
<field name="codewraplength">
</field>
<field name="codeautowrap">
</field>
<field name="codeprefix">
</field>
<field name="codebig">
</field>
</data>
</node>
