Please review (L) merge 32/64 x86 assembler

Paul Hohensee Paul.Hohensee at
Thu Dec 6 16:09:37 PST 2007

I intend to review tis, but won't have time until next week.
Is that ok?


steve goldman wrote:
> Yet another step for:
> 5108146 Merge i486 and amd64 cpu directories
> along the way towards
> 6459804 Want client (c1) compiler for x86_64 (amd64) for faster start-up
> This webrev merges the code in assembler_x86_[32|64].* into 
> assembler_x86.*. The webrev shows it as changes to assembler_x86_32.* 
> because I'm using wx and I can't use teamware to move the files.
> In addition to merging the assembler code the .cpp file was 
> restructured so that the instructions are in alphabetical order and in 
> 3 sections, generic, 32bit only, 64bit only. As a result the diffs for 
> that file are incomprehensible.
> As part of this there is a small step along the way to the 
> "ptr"ization of the code. The next webrev to appear which contains the 
> 64bit c1 changes goes the rest of the way. With the changes here 
> operations that only can do a full register sized operation don't have 
> a size qualifier. So movl(Register, Register) or movq(Register, 
> Register) are now mov(Register, Register). push/pop/bswap also don't 
> have a qualifier either.
> While doing this I found that some compiler (I don't remember which 
> but I think it was Studio) doesn't do what I expect with the macro 
> NULL_WORD. So you'll see (int32_t) NULL_WORD in some places (and some 
> old style (int) NULL being converted). I think the macro is broken but 
> for now I took the seemingly stupid cast route to get thru PRT.
> Testing:
>    PRT. Also this workpace is the parent of the64bit c1 workspace 
> which will be forthcoming soon which has also run nsk.
> webrev:

More information about the hotspot-dev mailing list