comparison c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotTargetMethod.java @ 1422:3483ec571caf

* using reflected objects instead of oops * removed scratch from allocatable registers * instanceof xir snippet * arraylength xir snippet * exceptionobject xir snippet * VMEntries and VMExits as interfaces * calls to VMEntries and VMExits are routet through logging proxies
author Lukas Stadler <lukas.stadler@oracle.com>
date Mon, 02 Aug 2010 15:44:38 -0700
parents 6223633ce7dd
children 760213a60e8b
comparison
equal deleted inserted replaced
1421:6223633ce7dd 1422:3483ec571caf
1 package com.sun.hotspot.c1x; 1 package com.sun.hotspot.c1x;
2 2
3 import java.lang.reflect.*;
3 import java.util.*; 4 import java.util.*;
4 5
5 import com.sun.cri.ci.*; 6 import com.sun.cri.ci.*;
6 import com.sun.cri.ci.CiTargetMethod.*; 7 import com.sun.cri.ci.CiTargetMethod.*;
7 import com.sun.cri.ri.*; 8 import com.sun.cri.ri.*;
8 9
9 public class HotSpotTargetMethod { 10 public class HotSpotTargetMethod {
10 11
11 public final Object methodOop; 12 public final Method method;
12 private byte[] code; 13 private byte[] code;
14 private int codeSize;
13 private int frameSize; 15 private int frameSize;
14 16
15 public int verifiedEntrypoint; 17 public int verifiedEntrypoint;
16 public int unverifiedEntrypoint; 18 public int unverifiedEntrypoint;
17 19
18 public int relocationOffsets[]; 20 public int relocationOffsets[];
19 public Object relocationData[]; 21 public Object relocationData[];
20 22
21 private HotSpotTargetMethod(HotSpotVMConfig config, RiMethod method, CiTargetMethod targetMethod) { 23 private HotSpotTargetMethod(HotSpotVMConfig config, RiMethod method, CiTargetMethod targetMethod) {
22 methodOop = ((HotSpotMethod) method).methodOop; 24 this.method= ((HotSpotMethod) method).method;
23 code = targetMethod.targetCode(); 25 code = targetMethod.targetCode();
26 codeSize = targetMethod.targetCodeSize();
24 frameSize = targetMethod.frameSize(); 27 frameSize = targetMethod.frameSize();
25 verifiedEntrypoint = targetMethod.entrypointCodeOffsets.get(HotSpotRuntime.Entrypoints.VERIFIED); 28 verifiedEntrypoint = targetMethod.entrypointCodeOffsets.get(HotSpotRuntime.Entrypoints.VERIFIED);
26 unverifiedEntrypoint = targetMethod.entrypointCodeOffsets.get(HotSpotRuntime.Entrypoints.UNVERIFIED); 29 unverifiedEntrypoint = targetMethod.entrypointCodeOffsets.get(HotSpotRuntime.Entrypoints.UNVERIFIED);
27 30
28 Map<Integer, Object> relocations = new TreeMap<Integer, Object>(); 31 Map<Integer, Object> relocations = new TreeMap<Integer, Object>();