view c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotConstantPool.java @ 1417:2c41834aa270

Small adaptations
author Thomas Wuerthinger <thomas.wuerthinger@gmail.com>
date Wed, 23 Jun 2010 17:20:40 +0200
parents 1b41af477605
children 44efca8a02d6
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, int byteCode) {
		return VMEntries.RiConstantPool_lookupMethod(constantPoolOop, cpi, (byte)byteCode);
	}

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

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

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

}