x86 interpreters in hotspot

Xin Tong xerox.time.tech at gmail.com
Wed May 16 13:34:12 PDT 2012


On Tue, May 15, 2012 at 7:56 PM, Xin Tong <xerox.time.tech at gmail.com> wrote:

> i am looking at the dispatch code for fast_aaccess_0  221 fast_aaccess_0
>  [0x00007f640d0363a0, 0x00007f640d0364a0]  256 bytes
>
>    0x7f640d03646d:      call   0x7f6415353200
> <_ZN14MacroAssembler7debug64EPclPl>
>    0x7f640d036472:      hlt
>    0x7f640d036473:      pop    r10
>    0x7f640d036475:      dec    r13
>    0x7f640d036478:      movzx  ebx,BYTE PTR [r13+0x4]
>    0x7f640d03647d:      mov    r11,r13
>    0x7f640d036480:      add    r13,0x4
>    0x7f640d036484:      movabs r10,0x7f641623e8c0
>
>
> It is decrementing r13, instead of incrementing. how is this possible ?
>
> Thanks
>
> Xin
>
>
> On Tue, May 15, 2012 at 12:45 PM, Krystal Mok <rednaxelafx at gmail.com>wrote:
>
>> On Wed, May 16, 2012 at 12:12 AM, Xin Tong <xerox.time.tech at gmail.com>wrote:
>>
>>> I imagine the adaptation happens in some trampoline code which sets up
>>> the context.
>>>
>> My slides did explain the TOS adaptation:
>> http://www.tektalk.org/2011/07/28/java-%E7%A8%8B%E5%BA%8F%E7%9A%84%E7%BC%96%E8%AF%91%EF%BC%8C%E5%8A%A0%E8%BD%BD-%E5%92%8C-%E6%89%A7%E8%A1%8C/
>>
>>
>>> also, i see the dispatch_epilogue called 220 times. however there are
>>> about 240 bytecodes in java ? should not it be called for every java
>>> bytecode ?
>>>
>>> Some bytecodes do their own dispatch, so dispatch_epilogue() is not
>> executed for them. Please see the end
>> of TemplateInterpreterGenerator::generate_and_dispatch(), and also see
>> TemplateTable::initialize() for the list of bytecodes that do dispatch on
>> their own.
>>
>> - Kris
>>
>>
>>> Thanks
>>>
>>> Xin
>>>
>>>
>>
>
can I assume that at the beginning of each interpreter routine for the
bytecodes, the current bytecode pc is going to be stored in r13 on x86_64 ?

Thanks

Xin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20120516/4361c8d9/attachment.html 


More information about the hotspot-runtime-dev mailing list