Mercurial > hg > graal-compiler
diff graal/com.oracle.jvmci.code/src/com/oracle/jvmci/code/ReferenceMap.java @ 21730:b9f9b8af17ff
Simplify interface to reference map
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Wed, 03 Jun 2015 19:57:38 -0700 |
parents | 48c1ebd24120 |
children |
line wrap: on
line diff
--- a/graal/com.oracle.jvmci.code/src/com/oracle/jvmci/code/ReferenceMap.java Wed Jun 03 19:33:17 2015 -0700 +++ b/graal/com.oracle.jvmci.code/src/com/oracle/jvmci/code/ReferenceMap.java Wed Jun 03 19:57:38 2015 -0700 @@ -22,20 +22,24 @@ */ package com.oracle.jvmci.code; -import com.oracle.jvmci.meta.LIRKind; -import com.oracle.jvmci.code.CodeUtil.RefMapFormatter; +import com.oracle.jvmci.meta.*; + +public abstract class ReferenceMap { -public abstract class ReferenceMap implements Cloneable { - - public abstract void setRegister(int idx, LIRKind kind); - - public abstract void setStackSlot(int offset, LIRKind kind); + /** + * Empty out the reference map. + */ + public abstract void reset(); - public abstract boolean hasRegisterRefMap(); - - public abstract boolean hasFrameRefMap(); + /** + * Add {@code value} to the current set of reference values. + * + * @param v + */ + public abstract void addLiveValue(Value v); - public abstract void appendRegisterMap(StringBuilder sb, RefMapFormatter formatterArg); - - public abstract void appendFrameMap(StringBuilder sb, RefMapFormatter formatterArg); + /** + * Perform any final encoding needed before use. + */ + public abstract void finish(); }