[9] RFR(S): 8068945: Use RBP register as proper frame pointer in JIT compiled code on x86

Roland Westrelin roland.westrelin at oracle.com
Mon Mar 30 08:51:32 UTC 2015


> Webrev: http://cr.openjdk.java.net/~zmajo/8068945/webrev.00/

macroAssembler_x86.cpp

Don’t you need:

mov(rbp, rsp);

in the else branch of:

6118   if (stack_bang_size > 0) {

(and then update MachPrologNode::format())

x86_32.ad

typo:
126 // Class for no reigsters (empty set).

Rather than defining, for instance, dyn_ptr_reg in terms of ptr_reg and ptr_no_rbp_reg and then changing all references to ptr_reg into dyn_ptr_reg, I would have defined ptr_reg as either ptr_reg_with_rbp or ptr_reg_no_rbp and left the rest of the code unchanged.

x86_64.ad

3211   match(rbp_RegP);
3227   match(rbp_RegP);

I think it’s safe to keep rbp here.

Roland.


More information about the hotspot-compiler-dev mailing list