equal
deleted
inserted
replaced
75 // Not allowed in the out-preserve area. |
75 // Not allowed in the out-preserve area. |
76 // In-preserve area is allowed so Intel can fetch the return pc out. |
76 // In-preserve area is allowed so Intel can fetch the return pc out. |
77 assert( reg < _matcher._old_SP || |
77 assert( reg < _matcher._old_SP || |
78 (reg >= OptoReg::add(_matcher._old_SP,C->out_preserve_stack_slots()) && |
78 (reg >= OptoReg::add(_matcher._old_SP,C->out_preserve_stack_slots()) && |
79 reg < _matcher._in_arg_limit) || |
79 reg < _matcher._in_arg_limit) || |
80 reg >= OptoReg::add(_matcher._new_SP,C->out_preserve_stack_slots()), |
80 reg >= OptoReg::add(_matcher._new_SP, C->out_preserve_stack_slots()) || |
|
81 // Allow return_addr in the out-preserve area. |
|
82 reg == _matcher.return_addr(), |
81 "register allocated in a preserve area" ); |
83 "register allocated in a preserve area" ); |
82 return reg2offset_unchecked( reg ); |
84 return reg2offset_unchecked( reg ); |
83 } |
85 } |
84 |
86 |
85 //------------------------------offset2reg------------------------------------- |
87 //------------------------------offset2reg------------------------------------- |