src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/target/Backend.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/target/Backend.java	Mon Mar 20 17:37:49 2017
--- new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/target/Backend.java	Mon Mar 20 17:37:49 2017

*** 20,31 **** --- 20,29 ---- * or visit www.oracle.com if you need additional information or have any * questions. */ package org.graalvm.compiler.core.target; import java.util.Set; import org.graalvm.compiler.asm.Assembler; import org.graalvm.compiler.code.CompilationResult; import org.graalvm.compiler.core.common.CompilationIdentifier; import org.graalvm.compiler.core.common.LIRKind; import org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig;
*** 43,52 **** --- 41,51 ---- import org.graalvm.compiler.nodes.StructuredGraph; import org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool; import org.graalvm.compiler.phases.tiers.SuitesProvider; import org.graalvm.compiler.phases.tiers.TargetProvider; import org.graalvm.compiler.phases.util.Providers; + import org.graalvm.util.EconomicSet; import jdk.vm.ci.code.BailoutException; import jdk.vm.ci.code.CodeCacheProvider; import jdk.vm.ci.code.CompilationRequest; import jdk.vm.ci.code.CompiledCode;
*** 111,121 **** --- 110,126 ---- * The given registerConfig is optional, in case null is passed the default RegisterConfig from * the CodeCacheProvider will be used. */ public abstract FrameMapBuilder newFrameMapBuilder(RegisterConfig registerConfig); public abstract RegisterAllocationConfig newRegisterAllocationConfig(RegisterConfig registerConfig); + /** + * Creates a new configuration for register allocation. + * + * @param allocationRestrictedTo if not {@code null}, register allocation will be restricted to + * registers whose names appear in this array + */ + public abstract RegisterAllocationConfig newRegisterAllocationConfig(RegisterConfig registerConfig, String[] allocationRestrictedTo); public abstract FrameMap newFrameMap(RegisterConfig registerConfig); public abstract LIRGeneratorTool newLIRGenerator(LIRGenerationResult lirGenRes);
*** 218,228 **** --- 223,233 ---- /** * Translates a set of registers from the callee's perspective to the caller's perspective. This * is needed for architectures where input/output registers are renamed during a call (e.g. * register windows on SPARC). Registers which are not visible by the caller are removed. */ ! public abstract EconomicSet<Register> translateToCallerRegisters(EconomicSet<Register> calleeRegisters); /** * Gets the compilation id for a given {@link ResolvedJavaMethod}. Returns * {@code CompilationIdentifier#INVALID_COMPILATION_ID} in case there is no such id. *

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/target/Backend.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File