|
Re: [perl #32208] [PATCH] Register allocation patch - scales better to more: msg#00621lang.perl.perl6.internals
Bill Coffman (via RT) wrote: Patch does the following: Good. Hopefully Dan can provide some compile number compares. - Shortcomming: doesn't use score anymore, but the algorithm is smart I've fixed dumper.t in CVS. Only streams_11 is currently failing here. WANT TO DO: There probably were already some leaks. But we really have to get rid of memory leaks alltogether. - Interference graph is using 8 times the memory it needs to use. This is still trivial compared to lost data in above bug. That might kill Dan's 6000-liner. - Color each of the four register types separately. Be sure to That would reduce memory, wouldn't it? - Introduce register renaming. When variable is reassigned, it might Number 1 in my priority list. - Introduce variable register size, in coordination with subroutine Not needed. We don't copy registers anymore. - Improve flow-graph, basic block calculation, etc. Yeah. And create some means to test it. Some more notes WRT the patch: * the Dbg and Dbg2 debug macros aren't needed. Just use the existing debug(interp, level, ...) function in src/debug.c. If you need some extra levels, you can use some more bits in imcc/debug.h * The global G is a no no, and I don't think you need it for qsort (If you need it you should just use the global around the qsort). We finally have to have a reentrant compiler. Yes I know, there are still some other globals around, they are being reduced ... * all functions should have an Interp* and a IMC_Unit* argument to allow reentrancy. I.e. all state should be in the unit structure. * Variable names should be a bit more verbose, G.V is to terse. * alloca() isn't portable and not available everywhere I'm waiting for Dan's comments on usability. Thanks for the patch, leo |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Traceback or call chain: 00621, Leopold Toetsch |
|---|---|
| Next by Date: | Q: newsub opcodes: 00621, Leopold Toetsch |
| Previous by Thread: | [perl #32208] [PATCH] Register allocation patch - scales better to more symbolsi: 00621, via RT |
| Next by Thread: | Re: [perl #32208] [PATCH] Register allocation patch - scales better to more symbols: 00621, Dan Sugalski |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |