octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: JIT interrupt handler naming


From: Max Brister
Subject: Re: JIT interrupt handler naming
Date: Wed, 24 Jul 2013 14:19:05 -0700

On Tue, Jul 23, 2013 at 7:56 AM, Rik <address@hidden> wrote:
On 07/23/2013 07:22 AM, address@hidden wrote:
> From: lyh.kernel <address@hidden>
> Date: 2013/7/23
> Subject: Re: Question of JITC
> To: Max Brister <address@hidden>
>
>
> Hello Max,
>
> I would like to remove interrupt handler of JITC linear IR because I want
>>> >> to focus on your implementation rather than distracted by interrupt handler.
>>> >>
>> >
>> > The interrupt handler is part of the implementation. For example, the
>> > interrupt check is added for the for loop here[1]. You can see the code
>> > generation (octave linear IR -> LLVM IR) here[2]. If you wanted to remove
>> > the interrupt check from LLVM, I guess you could comment out the switch
>> > statement at [2].
>> >
> I modify the function void jit_convert::visit_while_command
> (tree_while_command& wc):pt-jit.cc:
>
> #if 0
>   if (! all_breaking || continues.size ())
>     {
>       jit_block *interrupt_check
>         = factory.create<jit_block> ("interrupt_check");
>       blocks.push_back (interrupt_check);
>       finish_breaks (interrupt_check, continues);
>       if (! all_breaking)
>         block->append (factory.create<jit_branch> (interrupt_check));
>
>       block = interrupt_check;
>       jit_error_check *ec
>         = factory.create<jit_error_check> (jit_error_check::var_interrupt,
>                                            cond_check, final_block);
>       block->append (ec);
>     }
> #else
>   block->append (factory.create<jit_branch> (cond_check));
> #endif
>
> After I add this modification. There is no JITC Linear IR related to
> interrupt/error handler. Is it correct position to disable interrupt/error
> support?
Max will hopefully know whether disabling error support is acceptable.  I
assume this means the ability to press Ctrl+C during long calculations?
>  If it is, I would like to add a option like
> disable_jit_handle_error(1) or disable_jit_handle_interrupt(1).
If you do need to add a new function it should start with the prefix "jit_"
and be relatively short.  Currently the user-visible functions are
jit_enable and jit_startcnt.  Something like jit_irq_enable.

--Rik


If we want to support disabling interrupts I do not think the API should be JIT specific. If we add a function to disable interrupts in the interpreter, we should make JIT match that behavior.

--
Max Brister

reply via email to

[Prev in Thread] Current Thread [Next in Thread]