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 
risk, then break up the improvements into smaller pieces.


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:
> UTE nsk.jvmti.testlist
> Thanks,
> Max Ockner

More information about the hotspot-dev mailing list