Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java @ 21783:a858c5f56d8a
Introduce AddressNode to represent pointer arithmetic, remove LocationNode.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Mon, 08 Jun 2015 18:47:58 +0200 |
parents | a5faa9aafc80 |
children | 922a0438914b |
comparison
equal
deleted
inserted
replaced
21782:9c454c650b29 | 21783:a858c5f56d8a |
---|---|
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. |
23 package com.oracle.graal.hotspot.nodes; | 23 package com.oracle.graal.hotspot.nodes; |
24 | 24 |
25 import com.oracle.graal.graph.*; | 25 import com.oracle.graal.graph.*; |
26 import com.oracle.graal.nodeinfo.*; | 26 import com.oracle.graal.nodeinfo.*; |
27 import com.oracle.graal.nodes.*; | 27 import com.oracle.graal.nodes.*; |
28 import com.oracle.graal.nodes.extended.*; | 28 import com.oracle.graal.nodes.memory.address.*; |
29 | 29 |
30 @NodeInfo | 30 @NodeInfo |
31 public class G1PostWriteBarrier extends WriteBarrier { | 31 public class G1PostWriteBarrier extends WriteBarrier { |
32 | 32 |
33 public static final NodeClass<G1PostWriteBarrier> TYPE = NodeClass.create(G1PostWriteBarrier.class); | 33 public static final NodeClass<G1PostWriteBarrier> TYPE = NodeClass.create(G1PostWriteBarrier.class); |
34 protected final boolean alwaysNull; | 34 protected final boolean alwaysNull; |
35 | 35 |
36 public G1PostWriteBarrier(ValueNode object, ValueNode value, LocationNode location, boolean precise, boolean alwaysNull) { | 36 public G1PostWriteBarrier(AddressNode address, ValueNode value, boolean precise, boolean alwaysNull) { |
37 this(TYPE, object, value, location, precise, alwaysNull); | 37 this(TYPE, address, value, precise, alwaysNull); |
38 } | 38 } |
39 | 39 |
40 protected G1PostWriteBarrier(NodeClass<? extends G1PostWriteBarrier> c, ValueNode object, ValueNode value, LocationNode location, boolean precise, boolean alwaysNull) { | 40 protected G1PostWriteBarrier(NodeClass<? extends G1PostWriteBarrier> c, AddressNode address, ValueNode value, boolean precise, boolean alwaysNull) { |
41 super(c, object, value, location, precise); | 41 super(c, address, value, precise); |
42 this.alwaysNull = alwaysNull; | 42 this.alwaysNull = alwaysNull; |
43 } | 43 } |
44 | 44 |
45 public boolean alwaysNull() { | 45 public boolean alwaysNull() { |
46 return alwaysNull; | 46 return alwaysNull; |