Mercurial > hg > graal-compiler
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(); }