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