comparison 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
comparison
equal deleted inserted replaced
21729:e7f5ddef438d 21730:b9f9b8af17ff
20 * or visit www.oracle.com if you need additional information or have any 20 * or visit www.oracle.com if you need additional information or have any
21 * questions. 21 * questions.
22 */ 22 */
23 package com.oracle.jvmci.code; 23 package com.oracle.jvmci.code;
24 24
25 import com.oracle.jvmci.meta.LIRKind; 25 import com.oracle.jvmci.meta.*;
26 import com.oracle.jvmci.code.CodeUtil.RefMapFormatter;
27 26
28 public abstract class ReferenceMap implements Cloneable { 27 public abstract class ReferenceMap {
29 28
30 public abstract void setRegister(int idx, LIRKind kind); 29 /**
30 * Empty out the reference map.
31 */
32 public abstract void reset();
31 33
32 public abstract void setStackSlot(int offset, LIRKind kind); 34 /**
35 * Add {@code value} to the current set of reference values.
36 *
37 * @param v
38 */
39 public abstract void addLiveValue(Value v);
33 40
34 public abstract boolean hasRegisterRefMap(); 41 /**
35 42 * Perform any final encoding needed before use.
36 public abstract boolean hasFrameRefMap(); 43 */
37 44 public abstract void finish();
38 public abstract void appendRegisterMap(StringBuilder sb, RefMapFormatter formatterArg);
39
40 public abstract void appendFrameMap(StringBuilder sb, RefMapFormatter formatterArg);
41 } 45 }