Mercurial > hg > graal-compiler
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 } |