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