src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/HotSpotForeignCallLinkageImpl.java
changeset 58299 6df94ce3ab2f
parent 58040 d99af76d7689
child 58679 9c3209ff7550
child 59095 03fbcd06b4c0
equal deleted inserted replaced
58298:0152ad7b38b8 58299:6df94ce3ab2f
     1 /*
     1 /*
     2  * Copyright (c) 2012, 2018, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    23 
    23 
    24 
    24 
    25 package org.graalvm.compiler.hotspot;
    25 package org.graalvm.compiler.hotspot;
    26 
    26 
    27 import static jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime;
    27 import static jdk.vm.ci.hotspot.HotSpotJVMCIRuntime.runtime;
    28 import static org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage.RegisterEffect.DESTROYS_REGISTERS;
    28 import static org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage.RegisterEffect.DESTROYS_ALL_CALLER_SAVE_REGISTERS;
    29 
    29 
    30 import jdk.internal.vm.compiler.collections.EconomicSet;
    30 import jdk.internal.vm.compiler.collections.EconomicSet;
    31 import org.graalvm.compiler.core.common.spi.ForeignCallDescriptor;
    31 import org.graalvm.compiler.core.common.spi.ForeignCallDescriptor;
    32 import org.graalvm.compiler.core.target.Backend;
    32 import org.graalvm.compiler.core.target.Backend;
    33 import org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProvider;
    33 import org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProvider;
   182     public boolean isGuaranteedSafepoint() {
   182     public boolean isGuaranteedSafepoint() {
   183         return transition == Transition.SAFEPOINT;
   183         return transition == Transition.SAFEPOINT;
   184     }
   184     }
   185 
   185 
   186     @Override
   186     @Override
       
   187     public RegisterEffect getEffect() {
       
   188         return effect;
       
   189     }
       
   190 
       
   191     @Override
   187     public LocationIdentity[] getKilledLocations() {
   192     public LocationIdentity[] getKilledLocations() {
   188         return killedLocations;
   193         return killedLocations;
   189     }
   194     }
   190 
   195 
   191     @Override
   196     @Override
   266         return address;
   271         return address;
   267     }
   272     }
   268 
   273 
   269     @Override
   274     @Override
   270     public boolean destroysRegisters() {
   275     public boolean destroysRegisters() {
   271         return effect == DESTROYS_REGISTERS;
   276         return effect == DESTROYS_ALL_CALLER_SAVE_REGISTERS;
   272     }
   277     }
   273 
   278 
   274     @Override
   279     @Override
   275     public boolean needsDebugInfo() {
   280     public boolean needsDebugInfo() {
   276         return transition == Transition.SAFEPOINT;
   281         return transition == Transition.SAFEPOINT;