comparison c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotXirGenerator.java @ 1440:4d1d3bd140f9

Updated for changes in CRI.
author Doug Simon <doug.simon@oracle.com>
date Mon, 01 Nov 2010 23:50:37 +0100
parents a7a0ef3c6858
children c0e244017dad
comparison
equal deleted inserted replaced
1439:d0c8d3a2a7e8 1440:4d1d3bd140f9
18 * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open 18 * UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open
19 * Company, Ltd. 19 * Company, Ltd.
20 */ 20 */
21 package com.sun.hotspot.c1x; 21 package com.sun.hotspot.c1x;
22 22
23 import static com.sun.cri.ci.CiCallingConvention.Type.*;
24 import static com.sun.hotspot.c1x.TemplateFlag.*;
25
23 import java.lang.reflect.*; 26 import java.lang.reflect.*;
24 import java.util.*; 27 import java.util.*;
25 import java.util.concurrent.*; 28 import java.util.concurrent.*;
26 29
27 import com.sun.c1x.target.amd64.*; 30 import com.sun.c1x.target.amd64.*;
28 import com.sun.cri.ci.CiAddress.Scale; 31 import com.sun.cri.ci.CiAddress.Scale;
29 import com.sun.cri.ci.*; 32 import com.sun.cri.ci.*;
30 import com.sun.cri.ri.*; 33 import com.sun.cri.ri.*;
31 import com.sun.cri.ri.RiType.Representation; 34 import com.sun.cri.ri.RiType.Representation;
32 import com.sun.cri.xir.*; 35 import com.sun.cri.xir.*;
33 import com.sun.cri.xir.CiXirAssembler.*; 36 import com.sun.cri.xir.CiXirAssembler.XirLabel;
34 import static com.sun.hotspot.c1x.TemplateFlag.*; 37 import com.sun.cri.xir.CiXirAssembler.XirMark;
38 import com.sun.cri.xir.CiXirAssembler.XirOperand;
39 import com.sun.cri.xir.CiXirAssembler.XirParameter;
35 40
36 /** 41 /**
37 * 42 *
38 * @author Thomas Wuerthinger, Lukas Stadler 43 * @author Thomas Wuerthinger, Lukas Stadler
39 */ 44 */
89 unverifiedStub = asm.createOutOfLineLabel("unverified"); 94 unverifiedStub = asm.createOutOfLineLabel("unverified");
90 95
91 XirOperand temp = asm.createRegister("temp (r10)", CiKind.Word, AMD64.r10); 96 XirOperand temp = asm.createRegister("temp (r10)", CiKind.Word, AMD64.r10);
92 XirOperand cache = asm.createRegister("cache (rax)", CiKind.Word, AMD64.rax); 97 XirOperand cache = asm.createRegister("cache (rax)", CiKind.Word, AMD64.rax);
93 98
94 CiCallingConvention conventions = registerConfig.getJavaCallingConvention(new CiKind[] {CiKind.Object}, false, target); 99 CiCallingConvention conventions = registerConfig.getCallingConvention(Java, new CiKind[] {CiKind.Object}, false, target);
95 XirOperand receiver = asm.createRegister("cache (rax)", CiKind.Word, conventions.locations[0].asRegister()); 100 XirOperand receiver = asm.createRegister("cache (rax)", CiKind.Word, conventions.locations[0].asRegister());
96 101
97 asm.pload(CiKind.Word, temp, receiver, asm.i(config.hubOffset), false); 102 asm.pload(CiKind.Word, temp, receiver, asm.i(config.hubOffset), false);
98 asm.jneq(unverifiedStub, cache, temp); 103 asm.jneq(unverifiedStub, cache, temp);
99 } 104 }