[m-dev.] Please help... once more

Erwan Jahier Erwan.Jahier at irisa.fr
Tue Oct 17 19:29:55 AEDT 2000


| On 16-Oct-2000, Erwan Jahier <Erwan.Jahier at irisa.fr> wrote:
| > a+b+c: 216 seconds (user+sys)
| > a+b: 56 s
| > {}: 17 s
| 
| My guess is that as discussed earlier probably most of the time is in
| MR_call_engine() and in particular in setjmp() and longjmp().

Sure. It was not a question. It was just to let you know the impact of making 
the command strict.

| > ps: wrapping the call to (*filter_ptr)() in MR_COLLECT_filter() by the macro
| > MR_TRACE_CALL_MERCURY() was not necessary.
| 
| Why not?  

because MR_copy_regs_to_saved_regs() calls 
	restore_transient_registers();
	save_registers();

MR_copy_saved_regs_to_regs() calls
	restore_registers();
	save_transient_registers();

Since MR_COLLECT_filter() is called just between MR_copy_regs_to_saved_regs()
and MR_copy_saved_regs_to_regs(), I thought the macro MR_TRACE_CALL_MERCURY()
was not necessary in that case. Did I miss something ? 
 
| Do you just mean that by coincidence it happens to work if
| you remove it?


-- 
R1.


--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list