review (S) for 6968348: Byteswapped memory access can point to wrong location after JIT

Ulf Zibis Ulf.Zibis at gmx.de
Thu Sep 30 07:08:42 PDT 2010


  - Why do you increment by 8 in the Test?
- ARRAY_LONG_BASE_OFFSET in capital letters is misleading to the reader, as this variable is not a 
final constant.

-Ulf


Am 30.09.2010 03:25, schrieb Tom Rodriguez:
> http://cr.openjdk.java.net/~never/6968348
>
> 6968348: Byteswapped memory access can point to wrong location after JIT
> Reviewed-by:
>
> x86_64.ad has match rules for (Store (ReverseBytes val)) but the
> definition is buggy since the val can be used in address of the store.
> It also doesn't record that it changes the input value.  The fix is to
> simply remove these rules since they are no better than what we'd get
> otherwise.  x86_32.ad doesn't have these rules.  sparc.ad does but it
> can generate better code for these forms because it can use the byte
> swapped ASI and doesn't have to modify the register before storing it.
> Tested with new test case.
>


More information about the hotspot-compiler-dev mailing list