Mercurial > hg > truffle
comparison graal/com.oracle.max.cri/src/com/oracle/max/cri/ri/RiRuntime.java @ 5453:071f24ba116e
Merge
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Wed, 30 May 2012 18:14:20 +0200 |
parents | e1f45fcddb49 |
children | 044502e7b5a4 |
comparison
equal
deleted
inserted
replaced
5452:ce4dafd906d0 | 5453:071f24ba116e |
---|---|
31 * to constant pools, OSR frames, inlining requirements, and runtime calls such as checkcast. | 31 * to constant pools, OSR frames, inlining requirements, and runtime calls such as checkcast. |
32 s */ | 32 s */ |
33 public interface RiRuntime { | 33 public interface RiRuntime { |
34 | 34 |
35 /** | 35 /** |
36 * Offset of the lock within the lock object on the stack. | |
37 | |
38 * Note: superseded by sizeOfLockData() in Graal. | |
39 * | |
40 * @return the offset in bytes | |
41 */ | |
42 int basicObjectLockOffsetInBytes(); | |
43 | |
44 /** | |
45 * Get the size in bytes of a lock object on the stack. | |
46 * | |
47 * Note: superseded by sizeOfLockData() in Graal. | |
48 */ | |
49 int sizeOfBasicObjectLock(); | |
50 | |
51 /** | |
52 * Get the size in bytes for locking information on the stack. | 36 * Get the size in bytes for locking information on the stack. |
53 */ | 37 */ |
54 int sizeOfLockData(); | 38 int sizeOfLockData(); |
55 | |
56 /** | |
57 * The offset of the normal entry to the code. The compiler inserts NOP instructions to satisfy this constraint. | |
58 * | |
59 * @return the code offset in bytes | |
60 */ | |
61 int codeOffset(); | |
62 | 39 |
63 /** | 40 /** |
64 * Returns a disassembly of the given installed code. | 41 * Returns a disassembly of the given installed code. |
65 * | 42 * |
66 * @param code the code that should be disassembled | 43 * @param code the code that should be disassembled |
73 * | 50 * |
74 * @param method the method that should be disassembled | 51 * @param method the method that should be disassembled |
75 * @return the disassembly. This will be of length 0 if the runtime does not support disassembling. | 52 * @return the disassembly. This will be of length 0 if the runtime does not support disassembling. |
76 */ | 53 */ |
77 String disassemble(RiResolvedMethod method); | 54 String disassemble(RiResolvedMethod method); |
78 | |
79 /** | |
80 * Registers the given compiler stub and returns an object that can be used to identify it in the relocation | |
81 * information. | |
82 * | |
83 * @param targetMethod the target method representing the code of the compiler stub | |
84 * @param name the name of the stub, used for debugging purposes only | |
85 * @param info the object into which details of the installed code will be written (ignored if null) | |
86 * @return the identification object | |
87 */ | |
88 Object registerCompilerStub(CiTargetMethod targetMethod, String name, RiCodeInfo info); | |
89 | 55 |
90 /** | 56 /** |
91 * Returns the RiType object representing the base type for the given kind. | 57 * Returns the RiType object representing the base type for the given kind. |
92 */ | 58 */ |
93 RiResolvedType asRiType(CiKind kind); | 59 RiResolvedType asRiType(CiKind kind); |