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 */
013package org.jikesrvm.compilers.opt.runtimesupport.ia32;
014
015import static org.jikesrvm.ia32.RegisterConstants.NUM_GPRS;
016
017/**
018 * This interface holds constants for the Opt GC map code specific to IA32
019 */
020public final class OptGCMapIteratorConstants {
021
022  // NOTE: The following two constants seem to imply that registers
023  //       that can hold references are contiguous.  This is not true,
024  //       in general, however, for the GC map code we only need to make
025  //       sure that all such registers are included in the range defined
026  //       below these contants.
027
028  /*
029   * The index of the first nonvolatile register that may hold a reference,
030   */
031  public static final int FIRST_GCMAP_REG = 0;
032
033  /*
034   * the index of last register that may hold a reference
035   */
036  public static final int LAST_GCMAP_REG = NUM_GPRS - 1;
037
038  private OptGCMapIteratorConstants() {
039    // prevent instantiation
040  }
041
042}