|
Prederefed run cores: msg#00586lang.perl.perl6.internals
With the indirect register addressing all prederefed run cores (Prederefed, CGP, Switch) are currently not functional, as these run cores have absolute addresses in the prederefed code. I see two ways to fix it: 1) use frame pointer relative addressing: + prederefed code is usable by different threads too - ~4 times increase in code size of core_ops_*.{c,o} [1] 2) Re-prederef on function calls, if frame pointer differs + no impact on code size - needs precise code length of functions - threads need distinct prederefed code - possibly slower then 1) Comments welcome, leo [1] due to absolute addressing a constant argument and a register argument have the same code, set_i_ic and set_i_i are the same. |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | [perl #32178] [TODO] include via relative paths: 00586, via RT |
|---|---|
| Next by Date: | Re: [perl #32176] [PATCH] Getopt/Long tidbits and Array access benchmark: 00586, Leopold Toetsch |
| Previous by Thread: | [perl #32178] [TODO] include via relative pathsi: 00586, via RT |
| Next by Thread: | Re: Prederefed run cores: 00586, Dan Sugalski |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |