Andrew Haley <[EMAIL PROTECTED]> writes:

> In the RTL code it moves the mem ref, not just the address:
>
> (call (mem:QI (symbol_ref:DI ("_Jv_InitClass") [flags 0x41]
>
> (set (reg/f:DI 95 [ #ref#8#1 ])
>         (mem/s/u/f/j:DI (const:DI (plus:DI (symbol_ref:DI 
> ("_CD_java_text_Collator")
>                     (const_int 16 [0x10])))
>
> is turned to:
>
> (set (reg/f:DI 162 [ #ref#8#1 ])
>         (mem/s/u/f/j:DI (const:DI (plus:DI (symbol_ref:DI 
> ("_CD_java_text_Collator")
>                     (const_int 16 [0x10])))
>
> ...
>
> (call (mem:QI (symbol_ref:DI ("_Jv_InitClass")

As far as I know, that should happen if _Jv_InitClass is pure or
const.  Note that if gcc can see the source for _Jv_InitClass, it will
decide for itself whether it is pure or const.

Ian

Reply via email to