Request for reviews (XL): 6829193: JSR 292 needs to support SPARC
tom.rodriguez at oracle.com
Wed Apr 28 11:35:42 PDT 2010
On Apr 28, 2010, at 2:46 AM, Christian Thalinger wrote:
> On Tue, 2010-04-27 at 11:04 -0700, Tom Rodriguez wrote:
>> By the way, I noticed that you had an assert !UseCompressedOops in
>> some of the code. You should be able to support it appropriately by
>> simply using load_heap_oop instead of ld_ptr. The basic rule is use
>> load_heap_oop if the field is a compressed oop, which applies to all
>> normal Java fields, and use ld_ptr if the field is actually declared
>> in C++, like the special oop fields in Thread. There are some corner
>> cases but that gets you through most of them.
> Right, we also still miss compressed oops support on x86. John has
> already filed a CR:
> 6829194: JSR 292 needs to support compressed oops
> Should I take care of that?
Mostly it's just picking between ld_ptr and load_heap_oop and deciding that when you're writing the code seems easier than going back and trying to find all the places that need to be corrected. It's fine if it's all going to be put off into another bug. A lot of this could have been automatic if we revamped ld_ptr and stopped using raw offsets. We'd bandied around the idea of wrapping the offsets with objects like ByteSize and WordSize do so that we could get type checking and overloading on offset tyeps to help with selecting the right instruction for loading fields from assembly. This was prior to compressed oops but I think it would have made compressed oops simpler in many ways. Oh well.
> -- Christian
More information about the hotspot-compiler-dev