# HG changeset patch # User Doug Simon # Date 1435350183 -7200 # Node ID 91b8a0d1abc5830bf8c3864ccfc81527f87e1eca # Parent 3f83cc877a0ec530a7182ee29936c476db76f2ac renamed ForeignCallLinkage.canDeoptimize -> needsDebugInfo diff -r 3f83cc877a0e -r 91b8a0d1abc5 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java Fri Jun 26 17:11:34 2015 -0700 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java Fri Jun 26 22:23:03 2015 +0200 @@ -341,7 +341,7 @@ Variable result; LIRFrameState debugInfo = null; - if (hotspotLinkage.canDeoptimize()) { + if (hotspotLinkage.needsDebugInfo()) { debugInfo = state; assert debugInfo != null || stub != null; } diff -r 3f83cc877a0e -r 91b8a0d1abc5 graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java --- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java Fri Jun 26 17:11:34 2015 -0700 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java Fri Jun 26 22:23:03 2015 +0200 @@ -126,7 +126,7 @@ HotSpotForeignCallLinkage hotspotLinkage = (HotSpotForeignCallLinkage) linkage; Variable result; LIRFrameState debugInfo = null; - if (hotspotLinkage.canDeoptimize()) { + if (hotspotLinkage.needsDebugInfo()) { debugInfo = state; assert debugInfo != null || getStub() != null; } diff -r 3f83cc877a0e -r 91b8a0d1abc5 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotForeignCallLinkageImpl.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotForeignCallLinkageImpl.java Fri Jun 26 17:11:34 2015 -0700 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotForeignCallLinkageImpl.java Fri Jun 26 22:23:03 2015 +0200 @@ -83,7 +83,7 @@ * temporaries which are always destroyed) * @param outgoingCcType outgoing (caller) calling convention type * @param incomingCcType incoming (callee) calling convention type (can be null) - * @param transition specifies if this is a {@linkplain #canDeoptimize() leaf} call + * @param transition specifies if this is a {@linkplain #needsDebugInfo() leaf} call * @param reexecutable specifies if the call can be re-executed without (meaningful) side * effects. Deoptimization will not return to a point before a call that cannot be * re-executed. @@ -223,7 +223,7 @@ } @Override - public boolean canDeoptimize() { + public boolean needsDebugInfo() { return transition == Transition.NOT_LEAF; } diff -r 3f83cc877a0e -r 91b8a0d1abc5 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotForeignCallsProviderImpl.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotForeignCallsProviderImpl.java Fri Jun 26 17:11:34 2015 -0700 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotForeignCallsProviderImpl.java Fri Jun 26 22:23:03 2015 +0200 @@ -152,7 +152,7 @@ public boolean canDeoptimize(ForeignCallDescriptor descriptor) { assert foreignCalls.containsKey(descriptor) : "unknown foreign call: " + descriptor; - return foreignCalls.get(descriptor).canDeoptimize(); + return foreignCalls.get(descriptor).needsDebugInfo(); } public LocationIdentity[] getKilledLocations(ForeignCallDescriptor descriptor) { diff -r 3f83cc877a0e -r 91b8a0d1abc5 graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java --- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java Fri Jun 26 17:11:34 2015 -0700 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java Fri Jun 26 22:23:03 2015 +0200 @@ -289,7 +289,7 @@ @Override public Variable emitForeignCall(ForeignCallLinkage linkage, LIRFrameState frameState, Value... args) { LIRFrameState state = null; - if (linkage.canDeoptimize()) { + if (linkage.needsDebugInfo()) { if (frameState != null) { state = frameState; } else { diff -r 3f83cc877a0e -r 91b8a0d1abc5 jvmci/jdk.internal.jvmci.code/src/jdk/internal/jvmci/code/ForeignCallLinkage.java --- a/jvmci/jdk.internal.jvmci.code/src/jdk/internal/jvmci/code/ForeignCallLinkage.java Fri Jun 26 17:11:34 2015 -0700 +++ b/jvmci/jdk.internal.jvmci.code/src/jdk/internal/jvmci/code/ForeignCallLinkage.java Fri Jun 26 22:23:03 2015 +0200 @@ -64,9 +64,9 @@ boolean destroysRegisters(); /** - * Determines if this is call to a function that does not deoptimize, and therefore also does - * not lock, GC or throw exceptions. That is, the thread's execution state during the call is - * never inspected by another thread. + * Determines if debug info needs to be associated with this call. Debug info is required if the + * function can raise an exception, try to lock, trigger GC or do anything else that requires + * the VM to be able to inspect the thread's execution state. */ - boolean canDeoptimize(); + boolean needsDebugInfo(); }