diff src/cpu/x86/vm/graalCodeInstaller_x86.hpp @ 13561:4fc8c8bb4c32

removed Assembler::no_operand alias
author Doug Simon <doug.simon@oracle.com>
date Wed, 08 Jan 2014 22:59:53 +0100
parents d49f00604347
children 4e679d50ba9a
line wrap: on
line diff
--- a/src/cpu/x86/vm/graalCodeInstaller_x86.hpp	Wed Jan 08 22:59:24 2014 +0100
+++ b/src/cpu/x86/vm/graalCodeInstaller_x86.hpp	Wed Jan 08 22:59:53 2014 +0100
@@ -247,8 +247,11 @@
       break;
     }
     case MARK_POLL_FAR:
-      // This is a load from a register so there is no relocatable operand
-      _instructions->relocate(pc, relocInfo::poll_type, Assembler::no_operand);
+      // This is a load from a register so there is no relocatable operand.
+      // We just have to ensure that the format is not disp32_operand
+      // so that poll_Relocation::fix_relocation_after_move does the right
+      // thing (i.e. ignores this relocation record)
+      _instructions->relocate(pc, relocInfo::poll_type, Assembler::imm_operand);
       break;
     case MARK_POLL_RETURN_NEAR: {
       relocate_poll_near(pc);
@@ -256,8 +259,8 @@
       break;
     }
     case MARK_POLL_RETURN_FAR:
-      // This is a load from a register so there is no relocatable operand
-      _instructions->relocate(pc, relocInfo::poll_return_type, Assembler::no_operand);
+      // see comment above for MARK_POLL_FAR
+      _instructions->relocate(pc, relocInfo::poll_return_type, Assembler::imm_operand);
       break;
     default:
       fatal("invalid mark value");