comparison graal/GraalCompiler/src/com/sun/c1x/ir/MonitorEnter.java @ 2596:1c36b17f7ee0

new node layout: AccessMonitor, Invoke
author Lukas Stadler <lukas.stadler@jku.at>
date Thu, 05 May 2011 16:07:00 +0200
parents c58a301eb2d7
children 3558ca7088c0
comparison
equal deleted inserted replaced
2595:4a4dab936c1e 2596:1c36b17f7ee0
20 * or visit www.oracle.com if you need additional information or have any 20 * or visit www.oracle.com if you need additional information or have any
21 * questions. 21 * questions.
22 */ 22 */
23 package com.sun.c1x.ir; 23 package com.sun.c1x.ir;
24 24
25 import com.oracle.graal.graph.*;
25 import com.sun.c1x.debug.*; 26 import com.sun.c1x.debug.*;
26 import com.sun.c1x.value.*; 27 import com.sun.c1x.value.*;
27 28
28 /** 29 /**
29 * The {@code MonitorEnter} instruction represents the acquisition of a monitor. 30 * The {@code MonitorEnter} instruction represents the acquisition of a monitor.
30 *
31 * @author Ben L. Titzer
32 */ 31 */
33 public final class MonitorEnter extends AccessMonitor { 32 public final class MonitorEnter extends AccessMonitor {
33
34 private static final int INPUT_COUNT = 0;
35 private static final int SUCCESSOR_COUNT = 0;
34 36
35 private FrameState stateAfter; 37 private FrameState stateAfter;
36 38
37 /** 39 /**
38 * Creates a new MonitorEnter instruction. 40 * Creates a new MonitorEnter instruction.
39 * 41 *
40 * @param object the instruction producing the object 42 * @param object the instruction producing the object
41 * @param lockAddress the address of the on-stack lock object or {@code null} if the runtime does not place locks on the stack 43 * @param lockAddress the address of the on-stack lock object or {@code null} if the runtime does not place locks on the stack
42 * @param lockNumber the number of the lock 44 * @param lockNumber the number of the lock
43 * @param stateBefore the state before 45 * @param stateBefore the state before
46 * @param graph
44 */ 47 */
45 public MonitorEnter(Value object, Value lockAddress, int lockNumber, FrameState stateBefore) { 48 public MonitorEnter(Value object, Value lockAddress, int lockNumber, FrameState stateBefore, Graph graph) {
46 super(object, lockAddress, stateBefore, lockNumber); 49 super(object, lockAddress, stateBefore, lockNumber, INPUT_COUNT, SUCCESSOR_COUNT, graph);
47 } 50 }
48 51
49 @Override 52 @Override
50 public void accept(ValueVisitor v) { 53 public void accept(ValueVisitor v) {
51 v.visitMonitorEnter(this); 54 v.visitMonitorEnter(this);