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;