changeset 14754:164903a50a9a

make ensureUniquePC an abstract method of the base Assembler class
author Erik Eckstein <erik.eckstein@oracle.com>
date Wed, 26 Mar 2014 10:04:37 +0100
parents b5cdbf6d793a
children 3128becfec95
files graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64Assembler.java graal/com.oracle.graal.asm.hsail/src/com/oracle/graal/asm/hsail/HSAILAssembler.java graal/com.oracle.graal.asm.ptx/src/com/oracle/graal/asm/ptx/PTXAssembler.java graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCMacroAssembler.java graal/com.oracle.graal.asm/src/com/oracle/graal/asm/Assembler.java
diffstat 5 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64Assembler.java	Tue Mar 25 16:37:28 2014 -0700
+++ b/graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64Assembler.java	Wed Mar 26 10:04:37 2014 +0100
@@ -1213,6 +1213,7 @@
         emitByte(0xD0 | encode);
     }
 
+    @Override
     public final void ensureUniquePC() {
         nop();
     }
--- a/graal/com.oracle.graal.asm.hsail/src/com/oracle/graal/asm/hsail/HSAILAssembler.java	Tue Mar 25 16:37:28 2014 -0700
+++ b/graal/com.oracle.graal.asm.hsail/src/com/oracle/graal/asm/hsail/HSAILAssembler.java	Wed Mar 26 10:04:37 2014 +0100
@@ -68,6 +68,11 @@
         return null;
     }
 
+    @Override
+    public final void ensureUniquePC() {
+        throw GraalInternalError.unimplemented();
+    }
+
     public final void undefined(String str) {
         emitString("undefined operation " + str);
     }
--- a/graal/com.oracle.graal.asm.ptx/src/com/oracle/graal/asm/ptx/PTXAssembler.java	Tue Mar 25 16:37:28 2014 -0700
+++ b/graal/com.oracle.graal.asm.ptx/src/com/oracle/graal/asm/ptx/PTXAssembler.java	Wed Mar 26 10:04:37 2014 +0100
@@ -696,6 +696,11 @@
     }
 
     @Override
+    public final void ensureUniquePC() {
+        throw GraalInternalError.unimplemented();
+    }
+
+    @Override
     public void jmp(Label l) {
         String str = nameOf(l);
         bra(str);
--- a/graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCMacroAssembler.java	Tue Mar 25 16:37:28 2014 -0700
+++ b/graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCMacroAssembler.java	Wed Mar 26 10:04:37 2014 +0100
@@ -74,6 +74,7 @@
         return Placeholder;
     }
 
+    @Override
     public final void ensureUniquePC() {
         new Nop().emit(this);
     }
--- a/graal/com.oracle.graal.asm/src/com/oracle/graal/asm/Assembler.java	Tue Mar 25 16:37:28 2014 -0700
+++ b/graal/com.oracle.graal.asm/src/com/oracle/graal/asm/Assembler.java	Wed Mar 26 10:04:37 2014 +0100
@@ -183,4 +183,9 @@
      * Returns a target specific placeholder address that can be used for code patching.
      */
     public abstract AbstractAddress getPlaceholder();
+
+    /**
+     * Emits a NOP instruction to advance the current PC.
+     */
+    public abstract void ensureUniquePC();
 }