< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotForeignCallLinkage.java

Print this page
rev 56282 : [mq]: graal

*** 1,7 **** /* ! * Copyright (c) 2012, 2018, 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. --- 1,7 ---- /* ! * Copyright (c) 2012, 2019, 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.
*** 22,38 **** */ package org.graalvm.compiler.hotspot; - import jdk.vm.ci.meta.InvokeTarget; - import org.graalvm.compiler.core.common.spi.ForeignCallLinkage; import org.graalvm.compiler.core.target.Backend; import org.graalvm.compiler.hotspot.stubs.Stub; import jdk.internal.vm.compiler.word.LocationIdentity; /** * The details required to link a HotSpot runtime or stub call. */ public interface HotSpotForeignCallLinkage extends ForeignCallLinkage, InvokeTarget { --- 22,38 ---- */ package org.graalvm.compiler.hotspot; import org.graalvm.compiler.core.common.spi.ForeignCallLinkage; import org.graalvm.compiler.core.target.Backend; import org.graalvm.compiler.hotspot.stubs.Stub; import jdk.internal.vm.compiler.word.LocationIdentity; + import jdk.vm.ci.meta.InvokeTarget; + /** * The details required to link a HotSpot runtime or stub call. */ public interface HotSpotForeignCallLinkage extends ForeignCallLinkage, InvokeTarget {
*** 40,51 **** * Constants for specifying whether a foreign call destroys or preserves registers. A foreign * call will always destroy {@link HotSpotForeignCallLinkage#getOutgoingCallingConvention() its} * {@linkplain ForeignCallLinkage#getTemporaries() temporary} registers. */ enum RegisterEffect { ! DESTROYS_REGISTERS, ! PRESERVES_REGISTERS } /** * Constants for specifying whether a call is a leaf or not and whether a * {@code JavaFrameAnchor} prologue and epilogue is required around the call. A leaf function --- 40,51 ---- * Constants for specifying whether a foreign call destroys or preserves registers. A foreign * call will always destroy {@link HotSpotForeignCallLinkage#getOutgoingCallingConvention() its} * {@linkplain ForeignCallLinkage#getTemporaries() temporary} registers. */ enum RegisterEffect { ! DESTROYS_ALL_CALLER_SAVE_REGISTERS, ! COMPUTES_REGISTERS_KILLED } /** * Constants for specifying whether a call is a leaf or not and whether a * {@code JavaFrameAnchor} prologue and epilogue is required around the call. A leaf function
*** 116,125 **** --- 116,127 ---- LocationIdentity[] getKilledLocations(); void setCompiledStub(Stub stub); + RegisterEffect getEffect(); + /** * Determines if this is a call to a compiled {@linkplain Stub stub}. */ boolean isCompiledStub();
< prev index next >