001 /*
002 * This file is part of the Jikes RVM project (http://jikesrvm.org).
003 *
004 * This file is licensed to You under the Eclipse Public License (EPL);
005 * You may not use this file except in compliance with the License. You
006 * may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/eclipse-1.0.php
009 *
010 * See the COPYRIGHT.txt file distributed with this work for information
011 * regarding copyright ownership.
012 */
013 package org.jikesrvm.compilers.opt.inlining;
014
015 import org.jikesrvm.compilers.opt.util.TreeNode;
016
017 /**
018 * The nodes of an CallSiteTree. They represent inlined call
019 * sites of a given method code body; a node stands for a single call
020 * site. These trees are used to construct the persistent runtime
021 * encoding of inlining information, which is stored in
022 * OptMachineCodeMap objects.
023 *
024 *
025 * @see CallSiteTree
026 * @see InlineSequence
027 * @see org.jikesrvm.compilers.opt.runtimesupport.OptMachineCodeMap
028 * @see org.jikesrvm.compilers.opt.runtimesupport.OptEncodedCallSiteTree
029 */
030 public class CallSiteTreeNode extends TreeNode {
031 /**
032 * The call site represented by this tree node
033 */
034 public final InlineSequence callSite;
035
036 /**
037 * The position of this call site in the binary encoding. It is set
038 * by OptEncodedCallSiteTree.getEncoding.
039 *
040 * @see org.jikesrvm.compilers.opt.runtimesupport.OptEncodedCallSiteTree#getEncoding
041 */
042 public int encodedOffset;
043
044 /**
045 * construct a a call site tree node corresponding to a given
046 * inlined call site
047 * @param seq an inlined call site
048 */
049 public CallSiteTreeNode(InlineSequence seq) {
050 callSite = seq;
051 }
052 }
053
054
055