Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.max.cri/src/com/oracle/max/cri/xir/XirSite.java @ 5026:b11561111585
Remove FrameStateAccess: Make FrameState immutable and move all modification logic into FrameStateBuilder
author | Christian Wimmer <Christian.Wimmer@Oracle.com> |
---|---|
date | Mon, 05 Mar 2012 09:55:54 -0800 |
parents | 5e6f1026a63e |
children | 2e9a5365dfb0 |
comparison
equal
deleted
inserted
replaced
5025:df0deec2af08 | 5026:b11561111585 |
---|---|
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.max.cri.xir; | 23 package com.oracle.max.cri.xir; |
24 | 24 |
25 import com.oracle.max.cri.ci.*; | |
26 | |
27 /** | 25 /** |
28 * Encapsulates the notion of a site where XIR can be supplied. It is supplied to the {@link RiXirGenerator} by the | 26 * Encapsulates the notion of a site where XIR can be supplied. It is supplied to the {@link RiXirGenerator} by the |
29 * compiler for each place where XIR can be generated. This interface allows a number of queries, including the | 27 * compiler for each place where XIR can be generated. This interface allows a number of queries, including the |
30 * bytecode-level location and optimization hints computed by the compiler. | 28 * bytecode-level location and optimization hints computed by the compiler. |
31 */ | 29 */ |
32 public interface XirSite { | 30 public interface XirSite { |
33 | |
34 /** | |
35 * Gets the {@link CiCodePos code position} associated with this site. This is useful for inserting | |
36 * instrumentation at the XIR level. | |
37 * @return the code position if it is available; {@code null} otherwise | |
38 */ | |
39 CiCodePos getCodePos(); | |
40 | 31 |
41 /** | 32 /** |
42 * Checks whether the specified argument is guaranteed to be non-null at this site. | 33 * Checks whether the specified argument is guaranteed to be non-null at this site. |
43 * @param argument the argument | 34 * @param argument the argument |
44 * @return {@code true} if the argument is non null at this site | 35 * @return {@code true} if the argument is non null at this site |