RFR: 8013393: Merge templateTable_x86 32 and 64 bit files into one file.
Coleen Phillimore
coleen.phillimore at oracle.com
Fri Feb 27 20:06:56 UTC 2015
Dean, This merge wasn't automatic in any way, so I don't think what
you're proposing makes sense. I think if you look at the webrev you'll
see what Max has done.
Thanks,
Coleen
On 2/27/15, 1:39 PM, Dean Long wrote:
> 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