aboutsummaryrefslogtreecommitdiff
path: root/src/jdk/internal/dynalink/support/LinkRequestImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jdk/internal/dynalink/support/LinkRequestImpl.java')
-rw-r--r--src/jdk/internal/dynalink/support/LinkRequestImpl.java22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/jdk/internal/dynalink/support/LinkRequestImpl.java b/src/jdk/internal/dynalink/support/LinkRequestImpl.java
index c2b0092b..2d4c0b18 100644
--- a/src/jdk/internal/dynalink/support/LinkRequestImpl.java
+++ b/src/jdk/internal/dynalink/support/LinkRequestImpl.java
@@ -95,18 +95,24 @@ import jdk.internal.dynalink.linker.LinkRequest;
public class LinkRequestImpl implements LinkRequest {
private final CallSiteDescriptor callSiteDescriptor;
+ private final Object callSiteToken;
private final Object[] arguments;
private final boolean callSiteUnstable;
+ private final int linkCount;
/**
* Creates a new link request.
*
* @param callSiteDescriptor the descriptor for the call site being linked
+ * @param callSiteToken the opaque token for the call site being linked.
+ * @param linkCount how many times this callsite has been linked/relinked
* @param callSiteUnstable true if the call site being linked is considered unstable
* @param arguments the arguments for the invocation
*/
- public LinkRequestImpl(CallSiteDescriptor callSiteDescriptor, boolean callSiteUnstable, Object... arguments) {
+ public LinkRequestImpl(final CallSiteDescriptor callSiteDescriptor, final Object callSiteToken, final int linkCount, final boolean callSiteUnstable, final Object... arguments) {
this.callSiteDescriptor = callSiteDescriptor;
+ this.callSiteToken = callSiteToken;
+ this.linkCount = linkCount;
this.callSiteUnstable = callSiteUnstable;
this.arguments = arguments;
}
@@ -127,17 +133,27 @@ public class LinkRequestImpl implements LinkRequest {
}
@Override
+ public Object getCallSiteToken() {
+ return callSiteToken;
+ }
+
+ @Override
public boolean isCallSiteUnstable() {
return callSiteUnstable;
}
@Override
+ public int getLinkCount() {
+ return linkCount;
+ }
+
+ @Override
public LinkRequest withoutRuntimeContext() {
return this;
}
@Override
- public LinkRequest replaceArguments(CallSiteDescriptor newCallSiteDescriptor, Object[] newArguments) {
- return new LinkRequestImpl(newCallSiteDescriptor, callSiteUnstable, newArguments);
+ public LinkRequest replaceArguments(final CallSiteDescriptor newCallSiteDescriptor, final Object[] newArguments) {
+ return new LinkRequestImpl(newCallSiteDescriptor, callSiteToken, linkCount, callSiteUnstable, newArguments);
}
}