changeset 2522:58c05e4c51e2

Removing two more HIR instructions.
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Wed, 27 Apr 2011 16:43:31 +0200
parents 2f271a85d104
children 268b8eb84b6e
files graal/GraalCompiler/src/com/sun/c1x/gen/LIRGenerator.java graal/GraalCompiler/src/com/sun/c1x/ir/DefaultValueVisitor.java graal/GraalCompiler/src/com/sun/c1x/ir/NewObjectArrayClone.java graal/GraalCompiler/src/com/sun/c1x/ir/TemplateCall.java graal/GraalCompiler/src/com/sun/c1x/ir/ValueVisitor.java
diffstat 5 files changed, 0 insertions(+), 197 deletions(-) [+]
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/gen/LIRGenerator.java	Wed Apr 27 16:40:09 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/gen/LIRGenerator.java	Wed Apr 27 16:43:31 2011 +0200
@@ -350,14 +350,6 @@
     }
 
     @Override
-    public void visitNewObjectArrayClone(NewObjectArrayClone x) {
-        XirArgument length = toXirArgument(x.length());
-        XirArgument referenceArray = toXirArgument(x.referenceArray());
-        XirSnippet snippet = xir.genNewObjectArrayClone(site(x), length, referenceArray);
-        emitXir(snippet, x, stateFor(x), null, true);
-    }
-
-    @Override
     public void visitNewMultiArray(NewMultiArray x) {
         XirArgument[] dims = new XirArgument[x.dimensions().length];
 
@@ -508,28 +500,6 @@
     }
 
     @Override
-    public void visitTemplateCall(TemplateCall x) {
-        CiValue resultOperand = resultOperandFor(x.kind);
-        List<CiValue> argList;
-        if (x.receiver() != null) {
-            CiCallingConvention cc = compilation.frameMap().getCallingConvention(new CiKind[] {CiKind.Object}, JavaCall);
-            argList = visitInvokeArguments(cc, new Value[] {x.receiver()}, null);
-        } else {
-            argList = new ArrayList<CiValue>();
-        }
-
-        if (x.address() != null) {
-            CiValue callAddress = load(x.address());
-            argList.add(callAddress);
-        }
-        lir.templateCall(resultOperand, argList);
-        if (resultOperand.isLegal()) {
-            CiValue result = createResultVariable(x);
-            lir.move(resultOperand, result);
-        }
-    }
-
-    @Override
     public void visitMonitorAddress(MonitorAddress x) {
         CiValue result = createResultVariable(x);
         lir.monitorAddress(x.monitor(), result);
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/DefaultValueVisitor.java	Wed Apr 27 16:40:09 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/DefaultValueVisitor.java	Wed Apr 27 16:43:31 2011 +0200
@@ -67,7 +67,6 @@
     @Override public void visitNewInstance(NewInstance i) { visit(i); }
     @Override public void visitNewMultiArray(NewMultiArray i) { visit(i); }
     @Override public void visitNewObjectArray(NewObjectArray i) { visit(i); }
-    @Override public void visitNewObjectArrayClone(NewObjectArrayClone i) { visit(i); }
     @Override public void visitNewTypeArray(NewTypeArray i) { visit(i); }
     @Override public void visitNullCheck(NullCheck i) { visit(i); }
     @Override public void visitPhi(Phi i) { visit(i); }
@@ -78,6 +77,5 @@
     @Override public void visitStoreField(StoreField i) { visit(i); }
     @Override public void visitStoreIndexed(StoreIndexed i) { visit(i); }
     @Override public void visitTableSwitch(TableSwitch i) { visit(i); }
-    @Override public void visitTemplateCall(TemplateCall i) { visit(i); }
     @Override public void visitThrow(Throw i) { visit(i); }
 }
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/NewObjectArrayClone.java	Wed Apr 27 16:40:09 2011 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.c1x.ir;
-
-import com.sun.c1x.debug.*;
-import com.sun.c1x.value.*;
-import com.sun.cri.ri.*;
-
-/**
- * The {@code NewObjectArray} instruction represents an allocation of an object array.
- *
- * @author Thomas Wuerthinger
- */
-public final class NewObjectArrayClone extends NewArray {
-
-    final Value referenceArray;
-
-    /**
-     * Constructs a new NewObjectArray instruction.
-     * @param length the instruction producing the length of the array
-     * @param referenceArray
-     * @param stateBefore the state before the allocation
-     */
-    public NewObjectArrayClone(Value length, Value referenceArray, FrameState stateBefore) {
-        super(length, stateBefore);
-        this.referenceArray = referenceArray;
-    }
-
-    @Override
-    public RiType exactType() {
-        return referenceArray.exactType();
-    }
-
-    @Override
-    public RiType declaredType() {
-        return referenceArray.declaredType();
-    }
-
-    public Value referenceArray() {
-        return referenceArray;
-    }
-
-    @Override
-    public void accept(ValueVisitor v) {
-        v.visitNewObjectArrayClone(this);
-    }
-
-    @Override
-    public void print(LogStream out) {
-        out.print("new object array [").print(length()).print("] ").print(referenceArray());
-    }
-}
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/TemplateCall.java	Wed Apr 27 16:40:09 2011 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-package com.sun.c1x.ir;
-
-import com.sun.c1x.debug.*;
-import com.sun.cri.bytecode.*;
-import com.sun.cri.ci.*;
-
-/**
- * Represents a {@linkplain Bytecodes#TEMPLATE_CALL template call}.
- *
- * @author Doug Simon
- */
-public final class TemplateCall extends Instruction {
-
-    /**
-     * The address to call (null implies a direct call that will be patched).
-     */
-    private Value address;
-
-    private Value receiver;
-
-    public TemplateCall(CiKind returnKind, Value address, Value receiver) {
-        super(returnKind.stackKind());
-        this.address = address;
-        this.receiver = receiver;
-        setFlag(Flag.LiveSideEffect); // ensure this instruction is not eliminated
-    }
-
-    @Override
-    public boolean canTrap() {
-        return true;
-    }
-
-    public Value address() {
-        return address;
-    }
-
-    public Value receiver() {
-        return receiver;
-    }
-
-    @Override
-    public void inputValuesDo(ValueClosure closure) {
-        if (address != null) {
-            address = closure.apply(address);
-        }
-        if (receiver != null) {
-            receiver = closure.apply(receiver);
-        }
-    }
-
-    @Override
-    public void accept(ValueVisitor v) {
-        v.visitTemplateCall(this);
-    }
-
-    @Override
-    public void print(LogStream out) {
-        out.print("template_call").print('(');
-        if (address != null) {
-            out.print(address);
-            if (receiver != null) {
-                out.print(", ").print(receiver);
-            }
-        } else if (receiver != null) {
-            out.print(receiver);
-            out.print(')');
-        }
-    }
-}
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/ValueVisitor.java	Wed Apr 27 16:40:09 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/ir/ValueVisitor.java	Wed Apr 27 16:43:31 2011 +0200
@@ -57,7 +57,6 @@
     public abstract void visitNewInstance(NewInstance i);
     public abstract void visitNewMultiArray(NewMultiArray i);
     public abstract void visitNewObjectArray(NewObjectArray i);
-    public abstract void visitNewObjectArrayClone(NewObjectArrayClone newObjectArrayClone);
     public abstract void visitNewTypeArray(NewTypeArray i);
     public abstract void visitNullCheck(NullCheck i);
     public abstract void visitPhi(Phi i);
@@ -68,6 +67,5 @@
     public abstract void visitStoreField(StoreField i);
     public abstract void visitStoreIndexed(StoreIndexed i);
     public abstract void visitTableSwitch(TableSwitch i);
-    public abstract void visitTemplateCall(TemplateCall templateCall);
     public abstract void visitThrow(Throw i);
 }