RFR: 8013393: Merge templateTable_x86 32 and 64 bit files into one file.
Dean Long
dean.long at oracle.com
Fri Feb 27 18:39:43 UTC 2015
Hi Max. You could do an automatic merge using something like "diff -w
-D LP64 templateTable_x86_32.cpp and templateTable_x86_64.cpp", then compare
your improvements to that. That way all the changes would show up in
a single diff. Or you could even check in the automatic merge first, to
reduce
risk, then break up the improvements into smaller pieces.
dl
On 2/27/2015 9:36 AM, Max Ockner wrote:
> Hello all,
> Please review this change which involves merging 32 and 64 bit
> interpreter files.
>
> Bug ID: 8013393
> Webrev: cr.openjdk.java.net/~coleenp/8013393
>
> Summary: templateTable_x86_64.cpp and templateTable_x86_32.cpp have
> been merged into one file*. These files originally shared thousands of
> lines of duplicate code.
> There were also many nearly identical sections of code which differed
> only in register usage (example: rsi vs. r13) or in the usage of
> nearly identical functions (example: movptr vs. movq/movl).
> Given that (1) new bytecodes could be added soon, and (2) these files
> have been tormenting Coleen for years, this change seems overdue.
>
> *There are currently two files. The updated templateTable_x86.cpp is
> copied into both templateTable_x86_32.cpp and templateTable_x86_64.cpp
> to make it easier to review (so the diff is not the entire file). This
> will be changed back to one file after review.
>
> For functions that could be merged, one copy was kept. In some cases,
> files were merged by factoring out small differences such as register
> usage (example: rbcp equals r13 or rsi depending on the platform). For
> functions that could not be merged, the 32 and 64 bit versions are
> adjacent and are defined conditionally using #ifdef based on the
> platform.
>
> There are still improvements to be made, but they are small and can be
> filed seperately.
>
> Tested with:
> JPRT
> UTE nsk.jvmti.testlist
>
>
> Thanks,
> Max Ockner
More information about the hotspot-dev
mailing list