view c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotConstantPool.java @ 1418:55ac38887415

modifications for linux: argument register layout, makefile
author Lukas Stadler <lukas.stadler@jku.at>
date Fri, 09 Jul 2010 16:33:03 -0700
parents 2c41834aa270
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);
	}

}