comparison graal/com.oracle.max.cri/src/com/oracle/max/cri/xir/CiXirAssembler.java @ 4262:744dade427b8

another batch of work towards GraalCompilation removal: * remove GraalCompilation in various places * add getGlobalStubRegisterConfig() to RiRuntime * remove CallStub xir op * remove template stub code from RiXirGenerator and calleeTemplates from XirTemplate * remove stub management code from GraalCompiler and LIRGenerator * remove Util.archKindsEqual
author Lukas Stadler <lukas.stadler@jku.at>
date Wed, 11 Jan 2012 13:35:49 +0100
parents aaac4894175c
children efbb1e33e2f3
comparison
equal deleted inserted replaced
4261:57b0da88576a 4262:744dade427b8
497 * Compare value at at address {@code x} with value in {@code y} and store value {@code z} at address {@code x} 497 * Compare value at at address {@code x} with value in {@code y} and store value {@code z} at address {@code x}
498 * if it was equal to {@code y}. 498 * if it was equal to {@code y}.
499 */ 499 */
500 PointerCAS, 500 PointerCAS,
501 /** 501 /**
502 * Call the {@link XirTemplate.GlobalFlags#GLOBAL_STUB shared stub} defined by {@code extra} with {@code args} and put the result in {@code r}.
503 */
504 CallStub,
505 /**
506 * Call the {@link RiMethod} defined by {@code extra} with {@code args} and put the result in {@code r}. 502 * Call the {@link RiMethod} defined by {@code extra} with {@code args} and put the result in {@code r}.
507 */ 503 */
508 CallRuntime, 504 CallRuntime,
509 /** 505 /**
510 * Transfer control to the instruction at the {@link XirLabel label} identified by {@code extra}. 506 * Transfer control to the instruction at the {@link XirLabel label} identified by {@code extra}.
817 append(new XirInstruction(CiKind.Void, null, ShouldNotReachHere, null)); 813 append(new XirInstruction(CiKind.Void, null, ShouldNotReachHere, null));
818 } 814 }
819 815
820 public void shouldNotReachHere(String message) { 816 public void shouldNotReachHere(String message) {
821 append(new XirInstruction(CiKind.Void, message, ShouldNotReachHere, null)); 817 append(new XirInstruction(CiKind.Void, message, ShouldNotReachHere, null));
822 }
823
824 public void callStub(XirTemplate stub, XirOperand result, XirOperand... args) {
825 CiKind resultKind = result == null ? CiKind.Void : result.kind;
826 append(new XirInstruction(resultKind, stub, CallStub, result, args));
827 } 818 }
828 819
829 public void callRuntime(Object rt, XirOperand result, XirOperand... args) { 820 public void callRuntime(Object rt, XirOperand result, XirOperand... args) {
830 callRuntime(rt, result, false, args); 821 callRuntime(rt, result, false, args);
831 } 822 }