Please review (L) merge 32/64 x86 assembler
Paul.Hohensee at sun.com
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.
> PRT. Also this workpace is the parent of the64bit c1 workspace
> which will be forthcoming soon which has also run nsk.
More information about the hotspot-dev