comparison graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64CCall.java @ 19526:8fc336a04d77

Create TYPE fields for LIRInstruction and CompositeValue. Renaming NodeClass#get to NodeClass#create.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Fri, 20 Feb 2015 22:22:55 +0100
parents ed3a1471e133
children 48c1ebd24120
comparison
equal deleted inserted replaced
19525:35481bcb5882 19526:8fc336a04d77
1 /* 1 /*
2 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
25 import static com.oracle.graal.lir.LIRInstruction.OperandFlag.*; 25 import static com.oracle.graal.lir.LIRInstruction.OperandFlag.*;
26 26
27 import com.oracle.graal.api.code.*; 27 import com.oracle.graal.api.code.*;
28 import com.oracle.graal.api.meta.*; 28 import com.oracle.graal.api.meta.*;
29 import com.oracle.graal.asm.amd64.*; 29 import com.oracle.graal.asm.amd64.*;
30 import com.oracle.graal.lir.*;
30 import com.oracle.graal.lir.asm.*; 31 import com.oracle.graal.lir.asm.*;
31 32
32 public class AMD64CCall extends AMD64LIRInstruction { 33 public final class AMD64CCall extends AMD64LIRInstruction {
34 public static final LIRInstructionClass<AMD64CCall> TYPE = LIRInstructionClass.create(AMD64CCall.class);
33 35
34 @Def({REG, ILLEGAL}) protected Value result; 36 @Def({REG, ILLEGAL}) protected Value result;
35 @Use({REG, STACK}) protected Value[] parameters; 37 @Use({REG, STACK}) protected Value[] parameters;
36 @Use({REG}) protected Value functionPtr; 38 @Use({REG}) protected Value functionPtr;
37 @Use({REG}) protected Value numberOfFloatingPointArguments; 39 @Use({REG}) protected Value numberOfFloatingPointArguments;
38 40
39 public AMD64CCall(Value result, Value functionPtr, Value numberOfFloatingPointArguments, Value[] parameters) { 41 public AMD64CCall(Value result, Value functionPtr, Value numberOfFloatingPointArguments, Value[] parameters) {
42 super(TYPE);
40 this.result = result; 43 this.result = result;
41 this.functionPtr = functionPtr; 44 this.functionPtr = functionPtr;
42 this.parameters = parameters; 45 this.parameters = parameters;
43 this.numberOfFloatingPointArguments = numberOfFloatingPointArguments; 46 this.numberOfFloatingPointArguments = numberOfFloatingPointArguments;
44 } 47 }