Request for reviews (M): 6829192: JSR 292 needs to support 64-bit x86

John Rose John.Rose at Sun.COM
Wed Oct 21 17:59:40 PDT 2009


On Oct 21, 2009, at 8:15 AM, Christian Thalinger wrote:

> On Tue, 2009-10-20 at 17:32 -0700, Vladimir Kozlov wrote:
>> src/cpu/x86/vm/templateInterpreter_x86_64.cpp:
>> In TemplateInterpreterGenerator::generate_WrongMethodType_handler()
>> what rbx and rax contain and why you need to verify oop?
>
> I can only tell what the registers contain, John should know why it
> needs to be verified.

It's a typo:  The registers should be c_rarg[12].  Thanks for catching  
it, Vladimir.

>> I don't like outline code in generate_return_entry_for().
>> Why do you need to move it down?
>
> I guess John wrote it that way because it's not the default case.   
> John?

This x64 code is parallel to what's already in M3 for the x32 code.

The usually taken path is the fallthrough path.  I think it's slightly  
faster that way: fewer I-cache lines to touch.

(We do that sort of heat-based CFG ordering routinely in the the C2  
backend, and I think it's not uncommon in hand-written assembly code  
also.)

>> src/share/vm/classfile/classFileParser.cpp:
>> Don't leave commented code. Remove it if you don't need it.
>
> Yeah, that commented code was just a hack to get it working, the real
> fix is to add this field "magically".  John and I decided to do that
> after M5.  But I will remove the commented code.

Yes, that's good.

The finalized API will remove MethodHandleImpl as a superclass of  
MethodHandle.  When this happens, we'll add a magic field, like the  
klass field in java.lang.Class.

-- John


More information about the hotspot-compiler-dev mailing list