Request for review(XL): 6985015: C1 needs to support compressed oops
igor.veresov at oracle.com
Fri Nov 26 21:14:54 PST 2010
Vladimir, please find the answers inlined.
On Nov 25, 2010, at 11:38 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
> I don't like adding new br instructions which are used only 4 times.
> Could you simple totally separate code for COOP and use corresponding br (icc) instructions?
That was actually Tom's suggestion, or at least how I understood it. I was hoping it was elegant enough, but sure we can do just a separate version of this bunch of klass comparisons for coops and the regular version.
> Also there are no explanation/comments around new move_wide code. Why you need it (append()?) ? I am not C1 expert so it is not clear to me.
move_wide is needed to access references that is outside he heap (which are typically uncompressed) from LIR. Some fields in the Thread structure are a good example.
append() is needed to add an operation to a LIR_List (which a list of instructions in a basic block). Any LIR operation will do that.
> Otherwise it is better then before.
> On 11/25/10 7:03 AM, Igor Veresov wrote:
>> I've updated the webrev with includeDB changes and also removed unnecessary ifdefs.
>> Webrev: http://cr.openjdk.java.net/~iveresov/6985015/webrev.02/
>> On 11/18/10 7:12 PM, Igor Veresov wrote:
>>> This change implements compressed oops for C1 for x64 and sparc.
>>> The changes are mostly on the codegen level, with a few exceptions when
>>> we do access things outside of the heap that are uncompressed from the IR.
>>> Webrev: http://cr.openjdk.java.net/~iveresov/6985015/webrev.00/
More information about the hotspot-compiler-dev