[webkit-dev] jit for arm

Zoltan Herczeg zherczeg at inf.u-szeged.hu
Tue Nov 17 23:46:25 PST 2009


Hi,

seems the original mail was sent to both webkit-dev and webkit-help. My
reply was on webkit-help, and the discussion continued there.

https://lists.webkit.org/pipermail/webkit-help/2009-November/000380.html

Perhaps we should clarify better the purpose of these mailing lists, since
if people can't decide which list is better for them, they do double
posts.

Zoltan

> On Nov 4, 2009, at 8:37 AM, ll Jefferry wrote:
>
>> Hi,
>>
>> when i reading the jit for arm source code, i am not very clear the
>> functionality of the flowing functions:
>>         ctiTrampoline
>
> This code is used when entering from the C runtime into JIT generated
> code.  JIT generated code does not necessarily respect C calling
> conventions, so this routine sets up the stack frame, preserves
> registers, etc, as necessary to allow the JIT code to be run.
>
>>         ctiVMThrowTrampoline
>
> To perform certain operations the JIT will call back into C code.
> Usually the C callback can just return in a perfectly normal fashion
> and continue execution once it has completed, however in the case that
> an exception is thrown special handling is required to change the
> control flow.  The return address of the C callback is instead changed
> to point to this, and this piece of code handles looking up the
> exception handler at which execution will be resumed.
>
>>         ctiOpThrowNotCaught
>
> This is used to from within cti_op_throw, which implements the 'throw'
> keyword in JavaScript.  The cti_op_throw method will attempt to look
> up a handler routine that catches the exception.  However if the
> exception is not caught it is necessary to force an early termination
> of JIT execution.  The cti_op_throw C callback always modifies its
> return address, either to point to the code for the appropriate
> exception handler to catch the exception, or to ctiOpThrowNotCaught if
> no handler is found.
>
>>
>> could you explain to me?
>> and another question is that:  in cacheFlush function, why the
>> system call number is 0xf0002? if it is defined by the toolchain?
>
> Zoltan, Gabor?
>
>>
>>
>> thanks!
>>
>> BR,
>> Jeff
>>
>> _______________________________________________
>> webkit-dev mailing list
>> webkit-dev at lists.webkit.org
>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>




More information about the webkit-dev mailing list