Skip to content

Commit

Permalink
8256956: RegisterImpl::max_slots_per_register is incorrect on AMD64
Browse files Browse the repository at this point in the history
Backport-of: b1d1499
  • Loading branch information
DamonFool authored and John Jiang committed Nov 18, 2021
1 parent 1b4eb43 commit d9b2c4c
Showing 1 changed file with 2 additions and 5 deletions.
7 changes: 2 additions & 5 deletions src/hotspot/cpu/x86/register_x86.hpp
Expand Up @@ -50,7 +50,7 @@ class RegisterImpl: public AbstractRegisterImpl {
#else
number_of_registers = 16,
number_of_byte_registers = 16,
max_slots_per_register = 1
max_slots_per_register = 2
#endif // AMD64
};

Expand Down Expand Up @@ -274,10 +274,7 @@ class ConcreteRegisterImpl : public AbstractRegisterImpl {
// There is no requirement that any ordering here matches any ordering c2 gives
// it's optoregs.

number_of_registers = RegisterImpl::number_of_registers +
#ifdef AMD64
RegisterImpl::number_of_registers + // "H" half of a 64bit register
#endif // AMD64
number_of_registers = RegisterImpl::number_of_registers * RegisterImpl::max_slots_per_register +
2 * FloatRegisterImpl::number_of_registers +
XMMRegisterImpl::max_slots_per_register * XMMRegisterImpl::number_of_registers +
KRegisterImpl::number_of_registers + // mask registers
Expand Down

1 comment on commit d9b2c4c

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.