view c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotConstantPool.java @ 1416:1b41af477605

Added HotSpotVM project Java source files.
author Thomas Wuerthinger <thomas.wuerthinger@gmail.com>
date Wed, 23 Jun 2010 16:36:58 +0200
parents
children 2c41834aa270
line wrap: on
line source

package com.sun.hotspot.c1x;

import com.sun.cri.ci.CiConstant;
import com.sun.cri.ri.RiConstantPool;
import com.sun.cri.ri.RiField;
import com.sun.cri.ri.RiMethod;
import com.sun.cri.ri.RiSignature;
import com.sun.cri.ri.RiType;

public class HotSpotConstantPool implements RiConstantPool {
	
	private final Object constantPoolOop;
	
	public HotSpotConstantPool(Object o) {
		this.constantPoolOop = o;
	}

	@Override
	public CiConstant encoding() {
		// TODO: Check if this is correct.
		return CiConstant.forObject(constantPoolOop);
	}

	@Override
	public Object lookupConstant(int cpi) {
		return VMEntries.RiConstantPool_lookupConstant(constantPoolOop, cpi);
	}

	@Override
	public RiMethod lookupMethod(int cpi, byte byteCode) {
		return VMEntries.RiConstantPool_lookupMethod(constantPoolOop, cpi, byteCode);
	}

	@Override
	public RiSignature lookupSignature(int cpi) {
		return VMEntries.RiConstantPool_lookupSignature(constantPoolOop, cpi);
	}

	@Override
	public RiType lookupType(int cpi) {
		return VMEntries.RiConstantPool_lookupType(constantPoolOop, cpi);
	}

	@Override
	public RiField lookupField(int cpi) {
		return VMEntries.RiConstantPool_lookupField(constantPoolOop, cpi);
	}

}