question about stubRoutines

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Jun 25 17:46:33 PDT 2012


Look how StubRoutines::x86::float_sign_mask() is done. Then you can access it as 
external address:

   ExternalAddress foostart_adr(StubRoutines::x86::foostart());
   __ lea(r9, foostart_Adr);

Vladimir

Venkatachalam, Vasanth wrote:
> Hi,
> 
>  
> 
> I’m trying to write a new stub routine in Hotspot’s 
> stubGenerator_x86_64.cpp. The original code for the routine is in a MASM 
> file. I’m trying to translate this code into calls to Hotspot’s 
> assembler so that the code can be implemented into a stub routine.
> 
>  
> 
> The original MASM file has a large data segment (aligned to 16 bytes) 
> which looks like:
> 
>  
> 
> ALIGN 16
> 
> __foostart:
> 
>                     DQ 0000000000000000h
> 
>                     DQ 3f6ff00aa0000000h
> 
>                     DQ 3f7fe02a60000000h
> 
>                     DQ 3f87dc4750000000h
> 
>                     DQ 3f8fc0a8b0000000h
> 
>                     DQ 3f93cea440000000h
> 
>                     DQ 3f97b91b00000000h
> 
>                                                     <several hundred 
> more entries…>
> 
>  
> 
> This data segment is used in one of the instructions:
> 
> lea r9, QWORD PTR __foostart
> 
>  
> 
> Can anyone explain how to handle this data segment when writing a new 
> StubRoutine in Hotspot?
> 
>  
> 
> Vasanth
> 
>  
> 
> --
> 
> Vasanth Venkatachalam
> 
> AMD Runtimes
> 
> (512)602-6177
> 
>  
> 


More information about the hotspot-dev mailing list