x86 interpreters in hotspot
Xin Tong
xerox.time.tech at gmail.com
Tue May 15 16:56:49 PDT 2012
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
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20120515/f9728901/attachment.html
More information about the hotspot-runtime-dev
mailing list