Mercurial > hg > truffle
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 } |